Module Name:    src
Committed By:   snj
Date:           Thu Feb 11 23:20:12 UTC 2016

Modified Files:
        src/sys/external/bsd/drm2/dist/drm/nouveau [netbsd-7]:
            nouveau_nv50_display.c
        src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb [netbsd-7]:
            nouveau_subdev_fb_nv50.c nouveau_subdev_fb_nvc0.c
        src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm [netbsd-7]:
            nouveau_subdev_vm_nv04.c nouveau_subdev_vm_nv44.c

Log Message:
Pull up following revision(s) (requested by riastradh in ticket #1090):
        sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv50_display.c: revision 
1.4
        
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv50.c: 
revision 1.3
        
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nvc0.c: 
revision 1.3
        
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv04.c: 
revision 1.3
        
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv44.c: 
revision 1.3
use pci_dma64_available() to choose a valid DMA tag.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1.4.2 -r1.1.1.1.4.3 \
    src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv50_display.c
cvs rdiff -u -r1.1.1.1.4.1 -r1.1.1.1.4.2 \
    
src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv50.c
 \
    
src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nvc0.c
cvs rdiff -u -r1.1.1.1.4.1 -r1.1.1.1.4.2 \
    
src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv04.c
 \
    
src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv44.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/nouveau_nv50_display.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv50_display.c:1.1.1.1.4.2 src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv50_display.c:1.1.1.1.4.3
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv50_display.c:1.1.1.1.4.2	Fri Mar  6 21:39:08 2015
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv50_display.c	Thu Feb 11 23:20:11 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nv50_display.c,v 1.1.1.1.4.2 2015/03/06 21:39:08 snj Exp $	*/
+/*	$NetBSD: nouveau_nv50_display.c,v 1.1.1.1.4.3 2016/02/11 23:20:11 snj Exp $	*/
 
 	/*
  * Copyright 2011 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nv50_display.c,v 1.1.1.1.4.2 2015/03/06 21:39:08 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nv50_display.c,v 1.1.1.1.4.3 2016/02/11 23:20:11 snj Exp $");
 
 #include <linux/dma-mapping.h>
 #include <linux/err.h>
@@ -184,8 +184,8 @@ nv50_dmac_destroy(struct nouveau_object 
 	if (dmac->ptr) {
 		struct pci_dev *pdev = nv_device(core)->pdev;
 #ifdef __NetBSD__
-		/* XXX pa_dmat or pa_dmat64? */
-		const bus_dma_tag_t dmat = pdev->pd_pa.pa_dmat64;
+		const bus_dma_tag_t dmat = pci_dma64_available(&pdev->pd_pa) ?
+		    pdev->pd_pa.pa_dmat64 : pdev->pd_pa.pa_dmat;
 
 		bus_dmamap_unload(dmat, dmac->dmamap);
 		bus_dmamem_unmap(dmat, dmac->dmakva, PAGE_SIZE);
@@ -343,7 +343,10 @@ nv50_dmac_create(struct nouveau_object *
 
 #ifdef __NetBSD__
     {
-	const bus_dma_tag_t dmat = nv_device(core)->pdev->pd_pa.pa_dmat64;
+	struct nouveau_device *device = nv_device(core);
+	const bus_dma_tag_t dmat = pci_dma64_available(&device->pdev->pd_pa) ?
+	    device->pdev->pd_pa.pa_dmat64 : device->pdev->pd_pa.pa_dmat;
+
 	int rsegs;
 
 	/* XXX errno NetBSD->Linux */

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv50.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv50.c:1.1.1.1.4.1 src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv50.c:1.1.1.1.4.2
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv50.c:1.1.1.1.4.1	Fri Mar  6 21:39:09 2015
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv50.c	Thu Feb 11 23:20:11 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_subdev_fb_nv50.c,v 1.1.1.1.4.1 2015/03/06 21:39:09 snj Exp $	*/
+/*	$NetBSD: nouveau_subdev_fb_nv50.c,v 1.1.1.1.4.2 2016/02/11 23:20:11 snj Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nouveau_subdev_fb_nv50.c,v 1.1.1.1.4.1 2015/03/06 21:39:09 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_subdev_fb_nv50.c,v 1.1.1.1.4.2 2016/02/11 23:20:11 snj Exp $");
 
 #include <core/client.h>
 #include <core/enum.h>
@@ -255,8 +255,8 @@ nv50_fb_ctor(struct nouveau_object *pare
 
 #ifdef __NetBSD__
     {
-	/* XXX pa_dmat or pa_dmat64?  */
-	const bus_dma_tag_t dmat = device->pdev->pd_pa.pa_dmat64;
+	const bus_dma_tag_t dmat = pci_dma64_available(&device->pdev->pd_pa) ?
+	    device->pdev->pd_pa.pa_dmat64 : device->pdev->pd_pa.pa_dmat;
 	int nsegs;
 
 	priv->r100c08_map = NULL; /* paranoia */
@@ -321,7 +321,8 @@ nv50_fb_dtor(struct nouveau_object *obje
 
 #ifdef __NetBSD__
 	if (priv->r100c08_map) {
-		const bus_dma_tag_t dmat = device->pdev->pd_pa.pa_dmat64;
+		const bus_dma_tag_t dmat = pci_dma64_available(&device->pdev->pd_pa) ?
+		    device->pdev->pd_pa.pa_dmat64 : device->pdev->pd_pa.pa_dmat;
 
 		bus_dmamap_unload(dmat, priv->r100c08_map);
 		bus_dmamem_unmap(dmat, priv->r100c08_kva, PAGE_SIZE);
Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nvc0.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nvc0.c:1.1.1.1.4.1 src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nvc0.c:1.1.1.1.4.2
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nvc0.c:1.1.1.1.4.1	Fri Mar  6 21:39:09 2015
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nvc0.c	Thu Feb 11 23:20:11 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_subdev_fb_nvc0.c,v 1.1.1.1.4.1 2015/03/06 21:39:09 snj Exp $	*/
+/*	$NetBSD: nouveau_subdev_fb_nvc0.c,v 1.1.1.1.4.2 2016/02/11 23:20:11 snj Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nouveau_subdev_fb_nvc0.c,v 1.1.1.1.4.1 2015/03/06 21:39:09 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_subdev_fb_nvc0.c,v 1.1.1.1.4.2 2016/02/11 23:20:11 snj Exp $");
 
 #include "nvc0.h"
 
@@ -81,7 +81,8 @@ nvc0_fb_dtor(struct nouveau_object *obje
 
 #ifdef __NetBSD__
 	if (priv->r100c10_map) {
-		const bus_dma_tag_t dmat = device->pdev->pd_pa.pa_dmat64;
+		const bus_dma_tag_t dmat = pci_dma64_available(&device->pdev->pd_pa) ?
+		    device->pdev->pd_pa.pa_dmat64 : device->pdev->pd_pa.pa_dmat;
 
 		bus_dmamap_unload(dmat, priv->r100c10_map);
 		bus_dmamem_unmap(dmat, priv->r100c10_kva, PAGE_SIZE);
@@ -114,8 +115,8 @@ nvc0_fb_ctor(struct nouveau_object *pare
 
 #ifdef __NetBSD__
     {
-	/* XXX pa_dmat or pa_dmat64?  */
-	const bus_dma_tag_t dmat = device->pdev->pd_pa.pa_dmat64;
+	const bus_dma_tag_t dmat = pci_dma64_available(&device->pdev->pd_pa) ?
+	    device->pdev->pd_pa.pa_dmat64 : device->pdev->pd_pa.pa_dmat;
 	int nsegs;
 
 	priv->r100c10_map = NULL; /* paranoia */

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv04.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv04.c:1.1.1.1.4.1 src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv04.c:1.1.1.1.4.2
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv04.c:1.1.1.1.4.1	Fri Mar  6 21:39:09 2015
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv04.c	Thu Feb 11 23:20:11 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_subdev_vm_nv04.c,v 1.1.1.1.4.1 2015/03/06 21:39:09 snj Exp $	*/
+/*	$NetBSD: nouveau_subdev_vm_nv04.c,v 1.1.1.1.4.2 2016/02/11 23:20:11 snj Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nouveau_subdev_vm_nv04.c,v 1.1.1.1.4.1 2015/03/06 21:39:09 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_subdev_vm_nv04.c,v 1.1.1.1.4.2 2016/02/11 23:20:11 snj Exp $");
 
 #include <core/gpuobj.h>
 
@@ -139,9 +139,9 @@ nv04_vmmgr_dtor(struct nouveau_object *o
 	}
 #ifdef __NetBSD__
 	if (priv->nullp) {
-		/* XXX pa_dmat or pa_dmat64?  */
 		struct nouveau_device *device = nv_device(priv);
-		const bus_dma_tag_t dmat = device->pdev->pd_pa.pa_dmat64;
+		const bus_dma_tag_t dmat = pci_dma64_available(&device->pdev->pd_pa) ?
+		    device->pdev->pd_pa.pa_dmat64 : device->pdev->pd_pa.pa_dmat;
 
 		bus_dmamap_unload(dmat, priv->nullmap);
 		bus_dmamem_unmap(dmat, priv->nullp, PAGE_SIZE);
Index: src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv44.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv44.c:1.1.1.1.4.1 src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv44.c:1.1.1.1.4.2
--- src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv44.c:1.1.1.1.4.1	Fri Mar  6 21:39:09 2015
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv44.c	Thu Feb 11 23:20:11 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_subdev_vm_nv44.c,v 1.1.1.1.4.1 2015/03/06 21:39:09 snj Exp $	*/
+/*	$NetBSD: nouveau_subdev_vm_nv44.c,v 1.1.1.1.4.2 2016/02/11 23:20:11 snj Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nouveau_subdev_vm_nv44.c,v 1.1.1.1.4.1 2015/03/06 21:39:09 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_subdev_vm_nv44.c,v 1.1.1.1.4.2 2016/02/11 23:20:11 snj Exp $");
 
 #include <core/gpuobj.h>
 #include <core/option.h>
@@ -192,8 +192,8 @@ nv44_vmmgr_ctor(struct nouveau_object *p
 
 #ifdef __NetBSD__
     {
-	/* XXX pa_dmat or pa_dmat64?  */
-	const bus_dma_tag_t dmat = device->pdev->pd_pa.pa_dmat64;
+	const bus_dma_tag_t dmat = pci_dma64_available(&device->pdev->pd_pa) ?
+	    device->pdev->pd_pa.pa_dmat64 : device->pdev->pd_pa.pa_dmat;
 	int nsegs;
 
 	/* XXX errno NetBSD->Linux */

Reply via email to