CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device

2018-02-11 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Feb 11 15:52:59 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device:
nouveau_engine_device_nve0.c

Log Message:
PR/53006: stackfield: Please support NVIDIA GT730 to kernel


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \

src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_nve0.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_nve0.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_nve0.c:1.2 src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_nve0.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_nve0.c:1.2	Sun Oct 18 11:42:00 2015
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_nve0.c	Sun Feb 11 10:52:59 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_engine_device_nve0.c,v 1.2 2015/10/18 15:42:00 jmcneill Exp $	*/
+/*	$NetBSD: nouveau_engine_device_nve0.c,v 1.3 2018/02/11 15:52:59 christos Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_device_nve0.c,v 1.2 2015/10/18 15:42:00 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_device_nve0.c,v 1.3 2018/02/11 15:52:59 christos Exp $");
 
 #include 
 #include 
@@ -213,6 +213,40 @@ nve0_identify(struct nouveau_device *dev
 #endif
 		device->oclass[NVDEV_ENGINE_PERFMON] = _perfmon_oclass;
 		break;
+	case 0x106:
+		device->cname = "GK208B";
+		device->oclass[NVDEV_SUBDEV_VBIOS  ] = _bios_oclass;
+		device->oclass[NVDEV_SUBDEV_GPIO   ] = _gpio_oclass;
+		device->oclass[NVDEV_SUBDEV_I2C] = _i2c_oclass;
+		device->oclass[NVDEV_SUBDEV_CLOCK  ] = _clock_oclass;
+		device->oclass[NVDEV_SUBDEV_THERM  ] = _therm_oclass;
+		device->oclass[NVDEV_SUBDEV_MXM] = _mxm_oclass;
+		device->oclass[NVDEV_SUBDEV_DEVINIT] =  nvc0_devinit_oclass;
+		device->oclass[NVDEV_SUBDEV_MC ] =  nvc3_mc_oclass;
+		device->oclass[NVDEV_SUBDEV_BUS] =  nvc0_bus_oclass;
+		device->oclass[NVDEV_SUBDEV_TIMER  ] = _timer_oclass;
+		device->oclass[NVDEV_SUBDEV_FB ] =  nve0_fb_oclass;
+		device->oclass[NVDEV_SUBDEV_LTCG   ] =  gf100_ltcg_oclass;
+		device->oclass[NVDEV_SUBDEV_IBUS   ] = _ibus_oclass;
+		device->oclass[NVDEV_SUBDEV_INSTMEM] =  nv50_instmem_oclass;
+		device->oclass[NVDEV_SUBDEV_VM ] = _vmmgr_oclass;
+		device->oclass[NVDEV_SUBDEV_BAR] = _bar_oclass;
+		device->oclass[NVDEV_SUBDEV_PWR] = _pwr_oclass;
+		device->oclass[NVDEV_SUBDEV_VOLT   ] = _volt_oclass;
+		device->oclass[NVDEV_ENGINE_DMAOBJ ] = _dmaeng_oclass;
+		device->oclass[NVDEV_ENGINE_FIFO   ] =  nv108_fifo_oclass;
+		device->oclass[NVDEV_ENGINE_SW ] =  nvc0_software_oclass;
+		device->oclass[NVDEV_ENGINE_GR ] =  nv108_graph_oclass;
+		device->oclass[NVDEV_ENGINE_DISP   ] =  nvf0_disp_oclass;
+		device->oclass[NVDEV_ENGINE_COPY0  ] = _copy0_oclass;
+		device->oclass[NVDEV_ENGINE_COPY1  ] = _copy1_oclass;
+		device->oclass[NVDEV_ENGINE_COPY2  ] = _copy2_oclass;
+#if 0
+		device->oclass[NVDEV_ENGINE_BSP] = _bsp_oclass;
+		device->oclass[NVDEV_ENGINE_VP ] = _vp_oclass;
+		device->oclass[NVDEV_ENGINE_PPP] = _ppp_oclass;
+#endif
+		break;
 	case 0x108:
 		device->cname = "GK208";
 		device->oclass[NVDEV_SUBDEV_VBIOS  ] = _bios_oclass;



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo

2017-02-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Feb 27 20:29:00 UTC 2017

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo:
nouveau_engine_fifo_nvc0.c

Log Message:
Avoid __ffs64(0).

>From maya@.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \

src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c:1.5 src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c:1.6
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c:1.5	Sun Oct 25 21:44:16 2015
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c	Mon Feb 27 20:29:00 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_engine_fifo_nvc0.c,v 1.5 2015/10/25 21:44:16 mrg Exp $	*/
+/*	$NetBSD: nouveau_engine_fifo_nvc0.c,v 1.6 2017/02/27 20:29:00 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_fifo_nvc0.c,v 1.5 2015/10/25 21:44:16 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_fifo_nvc0.c,v 1.6 2017/02/27 20:29:00 riastradh Exp $");
 
 #include 
 #include 
@@ -448,11 +448,15 @@ nvc0_fifo_recover_work(struct work_struc
 	priv->mask = 0ULL;
 	spin_unlock_irqrestore(>base.lock, flags);
 
-	for (todo = mask; engn = __ffs64(todo), todo; todo &= ~(1 << engn))
+	for (todo = mask;
+	 todo && (engn = __ffs64(todo), 1);
+	 todo &= ~(1 << engn))
 		engm |= 1 << nvc0_fifo_engidx(priv, engn);
 	nv_mask(priv, 0x002630, engm, engm);
 
-	for (todo = mask; engn = __ffs64(todo), todo; todo &= ~(1 << engn)) {
+	for (todo = mask;
+	 todo && (engn = __ffs64(todo), 1);
+	 todo &= ~(1 << engn)) {
 		if ((engine = (void *)nouveau_engine(priv, engn))) {
 			nv_ofuncs(engine)->fini(engine, false);
 			WARN_ON(nv_ofuncs(engine)->init(engine));



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo

2017-02-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Feb 27 18:28:40 UTC 2017

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo:
nouveau_engine_fifo_nve0.c

Log Message:
Avoid __ffs64(0).


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \

src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c:1.6 src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c:1.7
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c:1.6	Mon Oct 26 07:12:08 2015
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c	Mon Feb 27 18:28:39 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_engine_fifo_nve0.c,v 1.6 2015/10/26 07:12:08 mrg Exp $	*/
+/*	$NetBSD: nouveau_engine_fifo_nve0.c,v 1.7 2017/02/27 18:28:39 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_fifo_nve0.c,v 1.6 2015/10/26 07:12:08 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_fifo_nve0.c,v 1.7 2017/02/27 18:28:39 riastradh Exp $");
 
 #include 
 #include 
@@ -476,11 +476,15 @@ nve0_fifo_recover_work(struct work_struc
 	priv->mask = 0ULL;
 	spin_unlock_irqrestore(>base.lock, flags);
 
-	for (todo = mask; engn = __ffs64(todo), todo; todo &= ~(1 << engn))
+	for (todo = mask;
+	 todo && (engn = __ffs64(todo), 1);
+	 todo &= ~(1 << engn))
 		engm |= 1 << nve0_fifo_engidx(priv, engn);
 	nv_mask(priv, 0x002630, engm, engm);
 
-	for (todo = mask; engn = __ffs64(todo), todo; todo &= ~(1 << engn)) {
+	for (todo = mask;
+	 todo && (engn = __ffs64(todo), 1);
+	 todo &= ~(1 << engn)) {
 		if ((engine = (void *)nouveau_engine(priv, engn))) {
 			nv_ofuncs(engine)->fini(engine, false);
 			WARN_ON(nv_ofuncs(engine)->init(engine));



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp

2016-10-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Oct  9 14:52:50 UTC 2016

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp:
nouveau_engine_disp_dport.c

Log Message:
PR/51541: Henning Petersen: replace , with ;


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \

src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_dport.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_dport.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_dport.c:1.1.1.1 src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_dport.c:1.2
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_dport.c:1.1.1.1	Wed Aug  6 08:36:24 2014
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_dport.c	Sun Oct  9 10:52:50 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_engine_disp_dport.c,v 1.1.1.1 2014/08/06 12:36:24 riastradh Exp $	*/
+/*	$NetBSD: nouveau_engine_disp_dport.c,v 1.2 2016/10/09 14:52:50 christos Exp $	*/
 
 /*
  * Copyright 2013 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_disp_dport.c,v 1.1.1.1 2014/08/06 12:36:24 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_disp_dport.c,v 1.2 2016/10/09 14:52:50 christos Exp $");
 
 #include 
 #include 
@@ -262,7 +262,7 @@ dp_link_train_fini(struct dp_state *dp)
 	};
 
 	/* post-train script */
-	init.offset = dp->info.script[1],
+	init.offset = dp->info.script[1];
 	nvbios_exec();
 }
 



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine

2016-05-10 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed May 11 02:28:34 UTC 2016

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device:
nouveau_engine_device_base.c
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo:
nouveau_engine_fifo_base.c

Log Message:
Use bus_space_subregion to get fifo channels out of mmio registers.

Evidently it is not enough to just map them separately.  Ran out of
time to investigate why, last time I poked at this and confirmed this
change works.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 \

src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c
cvs rdiff -u -r1.4 -r1.5 \

src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_base.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c:1.10 src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c:1.11
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c:1.10	Wed Apr 13 08:50:51 2016
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c	Wed May 11 02:28:33 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_engine_device_base.c,v 1.10 2016/04/13 08:50:51 riastradh Exp $	*/
+/*	$NetBSD: nouveau_engine_device_base.c,v 1.11 2016/05/11 02:28:33 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_device_base.c,v 1.10 2016/04/13 08:50:51 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_device_base.c,v 1.11 2016/05/11 02:28:33 riastradh Exp $");
 
 #include 
 #include 
@@ -297,12 +297,6 @@ nouveau_devobj_ctor(struct nouveau_objec
 #ifdef __NetBSD__
 	if (!(args->disable & NV_DEVICE_DISABLE_MMIO) &&
 	!nv_subdev(device)->mmiosz) {
-		/*
-		 * Map only through PRAMIN -- don't map the command
-		 * FIFO MMIO regions, which start at NV_FIFO_OFFSET =
-		 * 0x80 and are mapped separately.
-		 */
-		mmio_size = MIN(mmio_size, 0x80);
 		/* XXX errno NetBSD->Linux */
 		ret = -bus_space_map(mmiot, mmio_base, mmio_size, 0, );
 		if (ret) {

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_base.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_base.c:1.4 src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_base.c:1.5
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_base.c:1.4	Wed Feb 10 17:10:47 2016
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_base.c	Wed May 11 02:28:33 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_engine_fifo_base.c,v 1.4 2016/02/10 17:10:47 riastradh Exp $	*/
+/*	$NetBSD: nouveau_engine_fifo_base.c,v 1.5 2016/05/11 02:28:33 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_fifo_base.c,v 1.4 2016/02/10 17:10:47 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_fifo_base.c,v 1.5 2016/05/11 02:28:33 riastradh Exp $");
 
 #include 
 #include 
@@ -92,13 +92,68 @@ nouveau_fifo_channel_create_(struct nouv
 
 	/* map fifo control registers */
 #ifdef __NetBSD__
-	chan->bst = nv_device_resource_tag(device, bar);
-	/* XXX errno NetBSD->Linux */
-	ret = -bus_space_map(chan->bst, nv_device_resource_start(device, bar) +
-	addr + (chan->chid * size), size, 0, >bsh);
-	if (ret)
-		return ret;
-	chan->mapped = true;
+	if (bar == 0) {
+		/*
+		 * We already map BAR 0 in the engine device base, so
+		 * grab a subregion of that.
+		 */
+		bus_space_tag_t mmiot = nv_subdev(device)->mmiot;
+		bus_space_handle_t mmioh = nv_subdev(device)->mmioh;
+		bus_size_t mmiosz = nv_subdev(device)->mmiosz;
+
+		/* Check whether it lies inside the region.  */
+		if (mmiosz < addr ||
+		mmiosz - addr < chan->chid*size ||
+		mmiosz - addr - chan->chid*size < size) {
+			ret = EIO;
+			nv_error(priv, "fifo channel out of range:"
+			" addr 0x%"PRIxMAX
+			" chid 0x%"PRIxMAX" size 0x%"PRIxMAX
+			" mmiosz 0x%"PRIxMAX"\n",
+			(uintmax_t)addr,
+			(uintmax_t)chan->chid, (uintmax_t)size,
+			(uintmax_t)mmiosz);
+			return ret;
+		}
+
+		/* Grab a subregion.  */
+		/* XXX errno NetBSD->Linux */
+		ret = -bus_space_subregion(mmiot, mmioh,
+		(addr + chan->chid*size), size, >bsh);
+		if (ret) {
+			nv_error(priv, "bus_space_subregion failed: %d\n",
+			ret);
+			return ret;
+		}
+
+		/* Success!  No need to unmap a subregion.  */
+		chan->mapped = false;
+		chan->bst = mmiot;
+	} else {
+		chan->bst = 

CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp

2016-04-23 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sat Apr 23 14:59:01 UTC 2016

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp:
nouveau_engine_disp_nvd0.c

Log Message:
Make it clearer to Coverity that there's no array overrun.

CID 989067


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \

src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_nvd0.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_nvd0.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_nvd0.c:1.2 src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_nvd0.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_nvd0.c:1.2	Sat Aug 23 08:03:33 2014
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_nvd0.c	Sat Apr 23 14:59:01 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_engine_disp_nvd0.c,v 1.2 2014/08/23 08:03:33 riastradh Exp $	*/
+/*	$NetBSD: nouveau_engine_disp_nvd0.c,v 1.3 2016/04/23 14:59:01 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_disp_nvd0.c,v 1.2 2014/08/23 08:03:33 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_disp_nvd0.c,v 1.3 2016/04/23 14:59:01 riastradh Exp $");
 
 #include 
 #include 
@@ -1042,7 +1042,8 @@ exec_clkcmp(struct nv50_disp_priv *priv,
 	}
 
 	data = nvbios_ocfg_match(bios, data, conf, , , , , );
-	if (data && id < 0xff) {
+	CTASSERT(__arraycount(info2.clkcmp) <= 0xff);
+	if (data && id < __arraycount(info2.clkcmp)) {
 		data = nvbios_oclk_match(bios, info2.clkcmp[id], pclk);
 		if (data) {
 			struct nvbios_init init = {



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo

2016-04-23 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sat Apr 23 14:48:45 UTC 2016

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo:
nouveau_engine_fifo_nv40.c

Log Message:
Mark fallthrough with a comment to appease Coverity, CID 703385.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \

src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nv40.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nv40.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nv40.c:1.1.1.1 src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nv40.c:1.2
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nv40.c:1.1.1.1	Wed Aug  6 12:36:24 2014
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nv40.c	Sat Apr 23 14:48:45 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_engine_fifo_nv40.c,v 1.1.1.1 2014/08/06 12:36:24 riastradh Exp $	*/
+/*	$NetBSD: nouveau_engine_fifo_nv40.c,v 1.2 2016/04/23 14:48:45 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_fifo_nv40.c,v 1.1.1.1 2014/08/06 12:36:24 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_fifo_nv40.c,v 1.2 2016/04/23 14:48:45 riastradh Exp $");
 
 #include 
 #include 
@@ -315,6 +315,7 @@ nv40_fifo_init(struct nouveau_object *ob
 	case 0x49:
 	case 0x4b:
 		nv_wr32(priv, 0x002230, 0x0001);
+		/*FALLTHROUGH*/
 	case 0x40:
 	case 0x41:
 	case 0x42:



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device

2016-04-13 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Apr 13 08:50:51 UTC 2016

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device:
nouveau_engine_device_base.c

Log Message:
Exclude VRAM and FIFO regions from MMIO register mapping.

Nouveau maps those separately, and it is not trivial to convert those
mappings to bus_space_subregion.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 \

src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c:1.9 src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c:1.10
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c:1.9	Sun Feb 14 03:41:18 2016
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c	Wed Apr 13 08:50:51 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_engine_device_base.c,v 1.9 2016/02/14 03:41:18 riastradh Exp $	*/
+/*	$NetBSD: nouveau_engine_device_base.c,v 1.10 2016/04/13 08:50:51 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_device_base.c,v 1.9 2016/02/14 03:41:18 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_device_base.c,v 1.10 2016/04/13 08:50:51 riastradh Exp $");
 
 #include 
 #include 
@@ -297,6 +297,12 @@ nouveau_devobj_ctor(struct nouveau_objec
 #ifdef __NetBSD__
 	if (!(args->disable & NV_DEVICE_DISABLE_MMIO) &&
 	!nv_subdev(device)->mmiosz) {
+		/*
+		 * Map only through PRAMIN -- don't map the command
+		 * FIFO MMIO regions, which start at NV_FIFO_OFFSET =
+		 * 0x80 and are mapped separately.
+		 */
+		mmio_size = MIN(mmio_size, 0x80);
 		/* XXX errno NetBSD->Linux */
 		ret = -bus_space_map(mmiot, mmio_base, mmio_size, 0, );
 		if (ret) {



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device

2016-02-13 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Feb 14 03:41:18 UTC 2016

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device:
nouveau_engine_device_base.c

Log Message:
Map the same mmio size as Linux does.

Unlikely to have practical consequences -- just reduces differences
in behaviour from upstream, to rule them out.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 \

src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c:1.8 src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c:1.9
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c:1.8	Thu Nov  5 20:32:39 2015
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c	Sun Feb 14 03:41:18 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_engine_device_base.c,v 1.8 2015/11/05 20:32:39 riastradh Exp $	*/
+/*	$NetBSD: nouveau_engine_device_base.c,v 1.9 2016/02/14 03:41:18 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_device_base.c,v 1.8 2015/11/05 20:32:39 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_device_base.c,v 1.9 2016/02/14 03:41:18 riastradh Exp $");
 
 #include 
 #include 
@@ -180,7 +180,7 @@ nouveau_devobj_ctor(struct nouveau_objec
 		if (mmio_size < 0x102000)
 			return -ENOMEM;
 		/* XXX errno NetBSD->Linux */
-		ret = -bus_space_map(mmiot, mmio_base, mmio_size, 0, );
+		ret = -bus_space_map(mmiot, mmio_base, 0x102000, 0, );
 		if (ret)
 			return ret;
 
@@ -193,7 +193,7 @@ nouveau_devobj_ctor(struct nouveau_objec
 
 		boot0 = bus_space_read_4(mmiot, mmioh, 0x00);
 		strap = bus_space_read_4(mmiot, mmioh, 0x101000);
-		bus_space_unmap(mmiot, mmioh, mmio_size);
+		bus_space_unmap(mmiot, mmioh, 0x102000);
 #else
 		map = ioremap(mmio_base, 0x102000);
 		if (map == NULL)



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/perfmon

2016-02-05 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Fri Feb  5 23:45:44 UTC 2016

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/perfmon:
nouveau_engine_perfmon_base.c

Log Message:
Don't ask `size < 0' when size is unsigned.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \

src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/perfmon/nouveau_engine_perfmon_base.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/perfmon/nouveau_engine_perfmon_base.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/perfmon/nouveau_engine_perfmon_base.c:1.2 src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/perfmon/nouveau_engine_perfmon_base.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/perfmon/nouveau_engine_perfmon_base.c:1.2	Sat Aug 23 08:03:34 2014
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/perfmon/nouveau_engine_perfmon_base.c	Fri Feb  5 23:45:44 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_engine_perfmon_base.c,v 1.2 2014/08/23 08:03:34 riastradh Exp $	*/
+/*	$NetBSD: nouveau_engine_perfmon_base.c,v 1.3 2016/02/05 23:45:44 riastradh Exp $	*/
 
 /*
  * Copyright 2013 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_perfmon_base.c,v 1.2 2014/08/23 08:03:34 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_perfmon_base.c,v 1.3 2016/02/05 23:45:44 riastradh Exp $");
 
 #include 
 #include 
@@ -171,8 +171,12 @@ nouveau_perfctr_sample(struct nouveau_ob
 	struct nouveau_perfdom *dom;
 	struct nv_perfctr_sample *args = data;
 
+#if 1
+	CTASSERT(sizeof(*args) == 0);
+#else
 	if (size < sizeof(*args))
 		return -EINVAL;
+#endif
 	ppm->sequence++;
 
 	list_for_each_entry(dom, >domains, head) {



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device

2015-11-05 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Nov  5 20:26:10 UTC 2015

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device:
nouveau_engine_device_base.c

Log Message:
Fix bogus output parameter for bus_space_map.

We stored the bus space handle in nv_subdev(device)->mmioh, which we
then overwrote with whatever was in the mmioh local variable -- maybe
garbage, maybe an old mapping, almost certainly wrong either way.

Instead store it in mmioh so that the subsequent assignment
nv_subdev(device)->mmioh = mmioh actually works as intended.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \

src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c:1.5 src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c:1.6
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c:1.5	Sat Oct 17 21:13:38 2015
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c	Thu Nov  5 20:26:10 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_engine_device_base.c,v 1.5 2015/10/17 21:13:38 jmcneill Exp $	*/
+/*	$NetBSD: nouveau_engine_device_base.c,v 1.6 2015/11/05 20:26:10 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_device_base.c,v 1.5 2015/10/17 21:13:38 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_device_base.c,v 1.6 2015/11/05 20:26:10 riastradh Exp $");
 
 #include 
 #include 
@@ -293,8 +293,8 @@ nouveau_devobj_ctor(struct nouveau_objec
 #ifdef __NetBSD__
 	if (!(args->disable & NV_DEVICE_DISABLE_MMIO) &&
 	!nv_subdev(device)->mmiosz) {
-		if (bus_space_map(mmiot, mmio_base, mmio_size, 0,
-			_subdev(device)->mmioh) != 0) {
+		if (bus_space_map(mmiot, mmio_base, mmio_size, 0, )
+		!= 0) {
 			nv_error(device, "unable to map device registers\n");
 			return -ENOMEM;
 		}



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device

2015-11-05 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Nov  5 20:31:26 UTC 2015

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device:
nouveau_engine_device_base.c

Log Message:
Return error from bus_space_map.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \

src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c:1.6 src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c:1.7
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c:1.6	Thu Nov  5 20:26:10 2015
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c	Thu Nov  5 20:31:26 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_engine_device_base.c,v 1.6 2015/11/05 20:26:10 riastradh Exp $	*/
+/*	$NetBSD: nouveau_engine_device_base.c,v 1.7 2015/11/05 20:31:26 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_device_base.c,v 1.6 2015/11/05 20:26:10 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_device_base.c,v 1.7 2015/11/05 20:31:26 riastradh Exp $");
 
 #include 
 #include 
@@ -177,8 +177,10 @@ nouveau_devobj_ctor(struct nouveau_objec
 	if (!(args->disable & NV_DEVICE_DISABLE_IDENTIFY) &&
 	!device->card_type) {
 #ifdef __NetBSD__
-		if (bus_space_map(mmiot, mmio_base, mmio_size, 0, ) != 0)
-			return -ENOMEM;
+		/* XXX errno NetBSD->Linux */
+		ret = -bus_space_map(mmiot, mmio_base, mmio_size, 0, );
+		if (ret)
+			return ret;
 
 #ifndef __BIG_ENDIAN
 		if (bus_space_read_4(mmiot, mmioh, 4) != 0)
@@ -293,10 +295,11 @@ nouveau_devobj_ctor(struct nouveau_objec
 #ifdef __NetBSD__
 	if (!(args->disable & NV_DEVICE_DISABLE_MMIO) &&
 	!nv_subdev(device)->mmiosz) {
-		if (bus_space_map(mmiot, mmio_base, mmio_size, 0, )
-		!= 0) {
+		/* XXX errno NetBSD->Linux */
+		ret = -bus_space_map(mmiot, mmio_base, mmio_size, 0, );
+		if (ret) {
 			nv_error(device, "unable to map device registers\n");
-			return -ENOMEM;
+			return ret;
 		}
 		nv_subdev(device)->mmiot = mmiot;
 		nv_subdev(device)->mmioh = mmioh;



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo

2015-10-26 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Oct 26 07:12:08 UTC 2015

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo:
nouveau_engine_fifo_nve0.c

Log Message:
minor re-format of the previous.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \

src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c:1.5 src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c:1.6
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c:1.5	Tue Oct 13 01:43:47 2015
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c	Mon Oct 26 07:12:08 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_engine_fifo_nve0.c,v 1.5 2015/10/13 01:43:47 mrg Exp $	*/
+/*	$NetBSD: nouveau_engine_fifo_nve0.c,v 1.6 2015/10/26 07:12:08 mrg Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_fifo_nve0.c,v 1.5 2015/10/13 01:43:47 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_fifo_nve0.c,v 1.6 2015/10/26 07:12:08 mrg Exp $");
 
 #include 
 #include 
@@ -139,7 +139,8 @@ nve0_fifo_runlist_update(struct nve0_fif
 	if (cold) {
 		uint count = 2000;
 		while (count-- > 0) {
-			if (!(nv_rd32(priv, 0x002284 + (engine * 0x08)) & 0x0010))
+			if (!(nv_rd32(priv, 0x002284 +
+			(engine * 0x08)) & 0x0010))
 break;
 			delay(1000);
 		}



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo

2015-10-25 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sun Oct 25 21:44:16 UTC 2015

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo:
nouveau_engine_fifo_nvc0.c

Log Message:
don't try to wait if (cold), spin waiting for registers to clear.

same as in nouveau_engine_fifo_nve0.c 1.5.  should fix PR#50362.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \

src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c:1.4 src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c:1.5
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c:1.4	Sat Feb 28 05:38:49 2015
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c	Sun Oct 25 21:44:16 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_engine_fifo_nvc0.c,v 1.4 2015/02/28 05:38:49 riastradh Exp $	*/
+/*	$NetBSD: nouveau_engine_fifo_nvc0.c,v 1.5 2015/10/25 21:44:16 mrg Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_fifo_nvc0.c,v 1.4 2015/02/28 05:38:49 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_engine_fifo_nvc0.c,v 1.5 2015/10/25 21:44:16 mrg Exp $");
 
 #include 
 #include 
@@ -115,17 +115,26 @@ nvc0_fifo_runlist_update(struct nvc0_fif
 	nv_wr32(priv, 0x002274, 0x01f0 | (p >> 3));
 
 #ifdef __NetBSD__
-{
-	int ret;
+	if (cold) {
+		uint count = 2000;
+		while (count-- > 0) {
+			if (!(nv_rd32(priv, 0x00227c) & 0x0010))
+break;
+			delay(1000);
+		}
+		if (count == 0)
+			nv_error(priv, "runlist update timeout\n");
+	} else {
+		int ret;
 
-	spin_lock(>runlist.lock);
-	DRM_SPIN_TIMED_WAIT_NOINTR_UNTIL(ret, >runlist.wait,
-	>runlist.lock, msecs_to_jiffies(2000),
-	!(nv_rd32(priv, 0x00227c) & 0x0010));
-	if (ret == 0)
-		nv_error(priv, "runlist update timeout\n");
-	spin_unlock(>runlist.lock);
-}
+		spin_lock(>runlist.lock);
+		DRM_SPIN_TIMED_WAIT_NOINTR_UNTIL(ret, >runlist.wait,
+		>runlist.lock, msecs_to_jiffies(2000),
+		!(nv_rd32(priv, 0x00227c) & 0x0010));
+		if (ret == 0)
+			nv_error(priv, "runlist update timeout\n");
+		spin_unlock(>runlist.lock);
+	}
 #else
 	if (wait_event_timeout(priv->runlist.wait,
 			   !(nv_rd32(priv, 0x00227c) & 0x0010),



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo

2015-02-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sat Feb 28 03:33:22 UTC 2015

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo:
nouveau_engine_fifo_nvc0.c nouveau_engine_fifo_nve0.c

Log Message:
More DRM_TIMED_WAIT mistakes: 0, not -ETIMEDOUT, for timeout.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \

src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c
 \

src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c:1.2 src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c:1.2	Sat Aug 23 08:03:33 2014
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c	Sat Feb 28 03:33:22 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_engine_fifo_nvc0.c,v 1.2 2014/08/23 08:03:33 riastradh Exp $	*/
+/*	$NetBSD: nouveau_engine_fifo_nvc0.c,v 1.3 2015/02/28 03:33:22 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: nouveau_engine_fifo_nvc0.c,v 1.2 2014/08/23 08:03:33 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: nouveau_engine_fifo_nvc0.c,v 1.3 2015/02/28 03:33:22 riastradh Exp $);
 
 #include core/client.h
 #include core/handle.h
@@ -122,7 +122,7 @@ nvc0_fifo_runlist_update(struct nvc0_fif
 	DRM_SPIN_TIMED_WAIT_UNTIL(ret, priv-runlist.wait,
 	priv-runlist.lock, msecs_to_jiffies(2000),
 	!(nv_rd32(priv, 0x00227c)  0x0010));
-	if (ret == -ETIMEDOUT)
+	if (ret == 0)
 		nv_error(priv, runlist update timeout\n);
 	spin_unlock(priv-runlist.lock);
 }
Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c:1.2 src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c:1.2	Sat Aug 23 08:03:33 2014
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c	Sat Feb 28 03:33:22 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_engine_fifo_nve0.c,v 1.2 2014/08/23 08:03:33 riastradh Exp $	*/
+/*	$NetBSD: nouveau_engine_fifo_nve0.c,v 1.3 2015/02/28 03:33:22 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: nouveau_engine_fifo_nve0.c,v 1.2 2014/08/23 08:03:33 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: nouveau_engine_fifo_nve0.c,v 1.3 2015/02/28 03:33:22 riastradh Exp $);
 
 #include core/client.h
 #include core/handle.h
@@ -144,7 +144,7 @@ nve0_fifo_runlist_update(struct nve0_fif
 	msecs_to_jiffies(2000),
 	!(nv_rd32(priv, 0x002284 +
 		(engine * 0x08))  0x0010));
-	if (ret == -ETIMEDOUT)
+	if (ret == 0)
 		nv_error(priv, runlist %d update timeout\n, engine);
 	spin_unlock(engn-lock);
 }



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo

2015-02-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sat Feb 28 05:38:49 UTC 2015

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo:
nouveau_engine_fifo_nvc0.c nouveau_engine_fifo_nve0.c

Log Message:
These are uninterruptible upstream too.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \

src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c
 \

src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c:1.3 src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c:1.4
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c:1.3	Sat Feb 28 03:33:22 2015
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c	Sat Feb 28 05:38:49 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_engine_fifo_nvc0.c,v 1.3 2015/02/28 03:33:22 riastradh Exp $	*/
+/*	$NetBSD: nouveau_engine_fifo_nvc0.c,v 1.4 2015/02/28 05:38:49 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: nouveau_engine_fifo_nvc0.c,v 1.3 2015/02/28 03:33:22 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: nouveau_engine_fifo_nvc0.c,v 1.4 2015/02/28 05:38:49 riastradh Exp $);
 
 #include core/client.h
 #include core/handle.h
@@ -119,7 +119,7 @@ nvc0_fifo_runlist_update(struct nvc0_fif
 	int ret;
 
 	spin_lock(priv-runlist.lock);
-	DRM_SPIN_TIMED_WAIT_UNTIL(ret, priv-runlist.wait,
+	DRM_SPIN_TIMED_WAIT_NOINTR_UNTIL(ret, priv-runlist.wait,
 	priv-runlist.lock, msecs_to_jiffies(2000),
 	!(nv_rd32(priv, 0x00227c)  0x0010));
 	if (ret == 0)
Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c:1.3 src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c:1.4
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c:1.3	Sat Feb 28 03:33:22 2015
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c	Sat Feb 28 05:38:49 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_engine_fifo_nve0.c,v 1.3 2015/02/28 03:33:22 riastradh Exp $	*/
+/*	$NetBSD: nouveau_engine_fifo_nve0.c,v 1.4 2015/02/28 05:38:49 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: nouveau_engine_fifo_nve0.c,v 1.3 2015/02/28 03:33:22 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: nouveau_engine_fifo_nve0.c,v 1.4 2015/02/28 05:38:49 riastradh Exp $);
 
 #include core/client.h
 #include core/handle.h
@@ -140,7 +140,7 @@ nve0_fifo_runlist_update(struct nve0_fif
 	int ret;
 
 	spin_lock(engn-lock);
-	DRM_SPIN_TIMED_WAIT_UNTIL(ret, engn-wait, engn-lock,
+	DRM_SPIN_TIMED_WAIT_NOINTR_UNTIL(ret, engn-wait, engn-lock,
 	msecs_to_jiffies(2000),
 	!(nv_rd32(priv, 0x002284 +
 		(engine * 0x08))  0x0010));