CVS commit: src/sys/external/bsd/drm2/ttm

2022-07-21 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Jul 21 08:07:56 UTC 2022

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
drm/ttm: Cast to potentially larger types before << PAGE_SHIFT.

Not sure if this is a problem but it might affect, e.g., i386pae.
Can't hurt, in any case, to cast to what the type will be after the
shift anyway.


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.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/ttm/ttm_bo_vm.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.21 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.22
--- src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.21	Wed Jul 20 01:12:14 2022
+++ src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c	Thu Jul 21 08:07:56 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bo_vm.c,v 1.21 2022/07/20 01:12:14 riastradh Exp $	*/
+/*	$NetBSD: ttm_bo_vm.c,v 1.22 2022/07/21 08:07:56 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ttm_bo_vm.c,v 1.21 2022/07/20 01:12:14 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ttm_bo_vm.c,v 1.22 2022/07/21 08:07:56 riastradh Exp $");
 
 #include 
 
@@ -163,7 +163,7 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 			.flags = TTM_OPT_FLAG_FORCE_ALLOC,
 		};
 		u.ttm = bo->ttm;
-		size = (bo->ttm->num_pages << PAGE_SHIFT);
+		size = (size_t)bo->ttm->num_pages << PAGE_SHIFT;
 		if (ISSET(bo->mem.placement, TTM_PL_FLAG_CACHED))
 			pgprot = vm_prot;
 		else
@@ -195,12 +195,12 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 		if (!bo->mem.bus.is_iomem) {
 			paddr = page_to_phys(u.ttm->pages[startpage + i]);
 		} else if (bdev->driver->io_mem_pfn) {
-			paddr = (*bdev->driver->io_mem_pfn)(bo, startpage + i)
-			<< PAGE_SHIFT;
+			paddr = (paddr_t)(*bdev->driver->io_mem_pfn)(bo,
+			startpage + i) << PAGE_SHIFT;
 		} else {
 			const paddr_t cookie = bus_space_mmap(bdev->memt,
-			u.base, ((startpage + i) << PAGE_SHIFT), vm_prot,
-			0);
+			u.base, (off_t)(startpage + i) << PAGE_SHIFT,
+			vm_prot, 0);
 
 			paddr = pmap_phys_address(cookie);
 		}
@@ -292,7 +292,7 @@ ttm_bo_mmap_object(struct ttm_bo_device 
 	/* Success!  */
 	*uobjp = >uvmobj;
 	*uoffsetp = (offset -
-	(drm_vma_node_start(>base.vma_node) << PAGE_SHIFT));
+	((off_t)drm_vma_node_start(>base.vma_node) << PAGE_SHIFT));
 	return 0;
 
 fail1:	ttm_bo_put(bo);



CVS commit: src/sys/external/bsd/drm2/ttm

2022-07-21 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Jul 21 08:07:56 UTC 2022

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
drm/ttm: Cast to potentially larger types before << PAGE_SHIFT.

Not sure if this is a problem but it might affect, e.g., i386pae.
Can't hurt, in any case, to cast to what the type will be after the
shift anyway.


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2022-07-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Jul 20 01:12:14 UTC 2022

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
drm/ttm: Handle io_mem_pfn, used by amdgpu.


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2022-07-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Jul 20 01:12:14 UTC 2022

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
drm/ttm: Handle io_mem_pfn, used by amdgpu.


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.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/ttm/ttm_bo_vm.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.20 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.21
--- src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.20	Sun Dec 19 11:34:14 2021
+++ src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c	Wed Jul 20 01:12:14 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bo_vm.c,v 1.20 2021/12/19 11:34:14 riastradh Exp $	*/
+/*	$NetBSD: ttm_bo_vm.c,v 1.21 2022/07/20 01:12:14 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ttm_bo_vm.c,v 1.20 2021/12/19 11:34:14 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ttm_bo_vm.c,v 1.21 2022/07/20 01:12:14 riastradh Exp $");
 
 #include 
 
@@ -192,14 +192,17 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 		/* XXX PGO_ALLPAGES?  */
 		if (pps[i] == PGO_DONTCARE)
 			continue;
-		if (bo->mem.bus.is_iomem) {
+		if (!bo->mem.bus.is_iomem) {
+			paddr = page_to_phys(u.ttm->pages[startpage + i]);
+		} else if (bdev->driver->io_mem_pfn) {
+			paddr = (*bdev->driver->io_mem_pfn)(bo, startpage + i)
+			<< PAGE_SHIFT;
+		} else {
 			const paddr_t cookie = bus_space_mmap(bdev->memt,
 			u.base, ((startpage + i) << PAGE_SHIFT), vm_prot,
 			0);
 
 			paddr = pmap_phys_address(cookie);
-		} else {
-			paddr = page_to_phys(u.ttm->pages[startpage + i]);
 		}
 		ret = -pmap_enter(ufi->orig_map->pmap, vaddr + i*PAGE_SIZE,
 		paddr, vm_prot, (PMAP_CANFAIL | pgprot));



CVS commit: src/sys/external/bsd/drm2/ttm

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 11:34:14 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
drm/ttm: More careful diagnostics earlier on.


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.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/ttm/ttm_bo_vm.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.19 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.20
--- src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.19	Sun Dec 19 11:34:06 2021
+++ src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c	Sun Dec 19 11:34:14 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bo_vm.c,v 1.19 2021/12/19 11:34:06 riastradh Exp $	*/
+/*	$NetBSD: ttm_bo_vm.c,v 1.20 2021/12/19 11:34:14 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ttm_bo_vm.c,v 1.19 2021/12/19 11:34:06 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ttm_bo_vm.c,v 1.20 2021/12/19 11:34:14 riastradh Exp $");
 
 #include 
 
@@ -254,7 +254,29 @@ ttm_bo_mmap_object(struct ttm_bo_device 
 	ret = ttm_bo_uvm_lookup(bdev, startpage, npages, );
 	if (ret)
 		goto fail0;
-	KASSERT(drm_vma_node_start(>base.vma_node) <= offset);
+	KASSERTMSG((drm_vma_node_start(>base.vma_node) <= startpage),
+	"mapping npages=0x%jx @ pfn=0x%jx"
+	" from vma npages=0x%jx @ pfn=0x%jx",
+	(uintmax_t)npages,
+	(uintmax_t)startpage,
+	(uintmax_t)drm_vma_node_size(>base.vma_node),
+	(uintmax_t)drm_vma_node_start(>base.vma_node));
+	KASSERTMSG((npages <= drm_vma_node_size(>base.vma_node)),
+	"mapping npages=0x%jx @ pfn=0x%jx"
+	" from vma npages=0x%jx @ pfn=0x%jx",
+	(uintmax_t)npages,
+	(uintmax_t)startpage,
+	(uintmax_t)drm_vma_node_size(>base.vma_node),
+	(uintmax_t)drm_vma_node_start(>base.vma_node));
+	KASSERTMSG(((startpage - drm_vma_node_start(>base.vma_node))
+		<= (drm_vma_node_size(>base.vma_node) - npages)),
+	"mapping npages=0x%jx @ pfn=0x%jx"
+	" from vma npages=0x%jx @ pfn=0x%jx",
+	(uintmax_t)npages,
+	(uintmax_t)startpage,
+	(uintmax_t)drm_vma_node_size(>base.vma_node),
+	(uintmax_t)drm_vma_node_start(>base.vma_node));
+
 	/* XXX Just assert this?  */
 	if (__predict_false(bdev->driver->verify_access == NULL)) {
 		ret = -EPERM;



CVS commit: src/sys/external/bsd/drm2/ttm

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 11:34:14 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
drm/ttm: More careful diagnostics earlier on.


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 11:34:06 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
drm/ttm: Compare bytes to bytes, not pages to bytes.

While here, KASSERT -> KASSERTMSG for better diagnostics.


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.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/ttm/ttm_bo_vm.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.18 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.19
--- src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.18	Sun Dec 19 11:09:25 2021
+++ src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c	Sun Dec 19 11:34:06 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bo_vm.c,v 1.18 2021/12/19 11:09:25 riastradh Exp $	*/
+/*	$NetBSD: ttm_bo_vm.c,v 1.19 2021/12/19 11:34:06 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ttm_bo_vm.c,v 1.18 2021/12/19 11:09:25 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ttm_bo_vm.c,v 1.19 2021/12/19 11:34:06 riastradh Exp $");
 
 #include 
 
@@ -178,8 +178,12 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 	KASSERT((ufi->entry->offset & (PAGE_SIZE - 1)) == 0);
 	KASSERT(ufi->entry->offset <= size);
 	KASSERT((vaddr - ufi->entry->start) <= (size - ufi->entry->offset));
-	KASSERT(npages <= ((size - ufi->entry->offset) -
-		(vaddr - ufi->entry->start)));
+	KASSERTMSG(((size_t)npages << PAGE_SHIFT <=
+		((size - ufi->entry->offset) - (vaddr - ufi->entry->start))),
+	"vaddr=%jx npages=%d bo=%p is_iomem=%d size=%zu"
+	" start=%jx offset=%jx",
+	(uintmax_t)vaddr, npages, bo, (int)bo->mem.bus.is_iomem, size,
+	(uintmax_t)ufi->entry->start, (uintmax_t)ufi->entry->offset);
 	uoffset = (ufi->entry->offset + (vaddr - ufi->entry->start));
 	startpage = (uoffset >> PAGE_SHIFT);
 	for (i = 0; i < npages; i++) {



CVS commit: src/sys/external/bsd/drm2/ttm

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 11:34:06 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
drm/ttm: Compare bytes to bytes, not pages to bytes.

While here, KASSERT -> KASSERTMSG for better diagnostics.


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 11:09:25 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
drm/ttm: ttm_bo_put(bo) won't bo=NULL like ttm_bo_unref() did.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.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/ttm/ttm_bo_vm.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.17 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.18
--- src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.17	Sun Dec 19 09:57:33 2021
+++ src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c	Sun Dec 19 11:09:25 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bo_vm.c,v 1.17 2021/12/19 09:57:33 riastradh Exp $	*/
+/*	$NetBSD: ttm_bo_vm.c,v 1.18 2021/12/19 11:09:25 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ttm_bo_vm.c,v 1.17 2021/12/19 09:57:33 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ttm_bo_vm.c,v 1.18 2021/12/19 11:09:25 riastradh Exp $");
 
 #include 
 
@@ -65,7 +65,6 @@ ttm_bo_uvm_detach(struct uvm_object *uob
 	struct ttm_buffer_object, uvmobj);
 
 	ttm_bo_put(bo);
-	KASSERT(bo == NULL);
 }
 
 int



CVS commit: src/sys/external/bsd/drm2/ttm

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 11:09:25 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
drm/ttm: ttm_bo_put(bo) won't bo=NULL like ttm_bo_unref() did.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2021-12-18 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 01:50:55 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/ttm: files.ttm ttm_agp_backend.c

Log Message:
Fix up ttm agp.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/external/bsd/drm2/ttm/files.ttm
cvs rdiff -u -r1.8 -r1.9 src/sys/external/bsd/drm2/ttm/ttm_agp_backend.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/ttm/files.ttm
diff -u src/sys/external/bsd/drm2/ttm/files.ttm:1.4 src/sys/external/bsd/drm2/ttm/files.ttm:1.5
--- src/sys/external/bsd/drm2/ttm/files.ttm:1.4	Sun Dec 19 01:47:31 2021
+++ src/sys/external/bsd/drm2/ttm/files.ttm	Sun Dec 19 01:50:54 2021
@@ -1,4 +1,4 @@
-#	$NetBSD: files.ttm,v 1.4 2021/12/19 01:47:31 riastradh Exp $
+#	$NetBSD: files.ttm,v 1.5 2021/12/19 01:50:54 riastradh Exp $
 
 # TTM, the texture and tiling manager.
 
@@ -7,6 +7,7 @@ version	20180827
 define	drmkms_ttm: drmkms
 
 makeoptions	drmkms	"CWARNFLAGS.ttm_bo.c"+="${${ACTIVE_CC} == gcc && ${HAVE_GCC:U0} >= 7:? -Wno-error=implicit-fallthrough :}"
+makeoptions	drmkms_ttm	"CPPFLAGS.drmkms_ttm"+="-DCONFIG_AGP=1"
 makeoptions	drmkms_ttm	"CWARNFLAGS.drmkms_ttm"+="-Wno-missing-field-initializers"
 makeoptions	drmkms_ttm	"CWARNFLAGS.drmkms_ttm"+="-Wno-shadow"
 

Index: src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c:1.8 src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c:1.9
--- src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c:1.8	Tue Aug 28 03:41:40 2018
+++ src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c	Sun Dec 19 01:50:54 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_agp_backend.c,v 1.8 2018/08/28 03:41:40 riastradh Exp $	*/
+/*	$NetBSD: ttm_agp_backend.c,v 1.9 2021/12/19 01:50:54 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ttm_agp_backend.c,v 1.8 2018/08/28 03:41:40 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ttm_agp_backend.c,v 1.9 2021/12/19 01:50:54 riastradh Exp $");
 
 #include 
 #include 
@@ -39,10 +39,11 @@ __KERNEL_RCSID(0, "$NetBSD: ttm_agp_back
 #include 
 #include 
 
+#include 
+
 #include 
 #include 
-
-#if CONFIG_AGP
+#include 
 
 struct ttm_agp {
 	struct ttm_dma_tt ttm_dma;
@@ -54,8 +55,8 @@ struct ttm_agp {
 static const struct ttm_backend_func ttm_agp_backend_func;
 
 struct ttm_tt *
-ttm_agp_tt_create(struct ttm_bo_device *bdev, struct agp_bridge_data *bridge,
-unsigned long size, uint32_t page_flags, struct page *dummy_read_page)
+ttm_agp_tt_create(struct ttm_buffer_object *bo, struct agp_bridge_data *bridge,
+uint32_t page_flags)
 {
 	struct ttm_agp *ttm_agp;
 
@@ -63,8 +64,7 @@ ttm_agp_tt_create(struct ttm_bo_device *
 	ttm_agp->agp = >abd_sc;
 	ttm_agp->ttm_dma.ttm.func = _agp_backend_func;
 
-	if (ttm_dma_tt_init(_agp->ttm_dma, bdev, size, page_flags,
-		dummy_read_page) != 0)
+	if (ttm_dma_tt_init(_agp->ttm_dma, bo, page_flags) != 0)
 		goto fail;
 
 	/* Success!  */
@@ -75,7 +75,7 @@ fail:	kmem_free(ttm_agp, sizeof(*ttm_agp
 }
 
 int
-ttm_agp_tt_populate(struct ttm_tt *ttm)
+ttm_agp_tt_populate(struct ttm_tt *ttm, struct ttm_operation_ctx *ctx)
 {
 
 	KASSERTMSG((ttm->state == tt_unpopulated),
@@ -169,5 +169,3 @@ static const struct ttm_backend_func ttm
 	.unbind = _agp_unbind,
 	.destroy = _agp_destroy,
 };
-
-#endif



CVS commit: src/sys/external/bsd/drm2/ttm

2021-12-18 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 01:50:55 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/ttm: files.ttm ttm_agp_backend.c

Log Message:
Fix up ttm agp.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/external/bsd/drm2/ttm/files.ttm
cvs rdiff -u -r1.8 -r1.9 src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2021-12-18 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 01:47:31 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/ttm: files.ttm

Log Message:
Build ttm with -Wno-missing-field-initializers, -Wno-shadow.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/external/bsd/drm2/ttm/files.ttm

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/ttm/files.ttm
diff -u src/sys/external/bsd/drm2/ttm/files.ttm:1.3 src/sys/external/bsd/drm2/ttm/files.ttm:1.4
--- src/sys/external/bsd/drm2/ttm/files.ttm:1.3	Mon Sep 30 00:06:02 2019
+++ src/sys/external/bsd/drm2/ttm/files.ttm	Sun Dec 19 01:47:31 2021
@@ -1,10 +1,14 @@
-#	$NetBSD: files.ttm,v 1.3 2019/09/30 00:06:02 mrg Exp $
+#	$NetBSD: files.ttm,v 1.4 2021/12/19 01:47:31 riastradh Exp $
 
 # TTM, the texture and tiling manager.
 
+version	20180827
+
 define	drmkms_ttm: drmkms
 
 makeoptions	drmkms	"CWARNFLAGS.ttm_bo.c"+="${${ACTIVE_CC} == gcc && ${HAVE_GCC:U0} >= 7:? -Wno-error=implicit-fallthrough :}"
+makeoptions	drmkms_ttm	"CWARNFLAGS.drmkms_ttm"+="-Wno-missing-field-initializers"
+makeoptions	drmkms_ttm	"CWARNFLAGS.drmkms_ttm"+="-Wno-shadow"
 
 file	external/bsd/drm2/ttm/ttm_agp_backend.c			drmkms_ttm
 file	external/bsd/drm2/dist/drm/ttm/ttm_memory.c		drmkms_ttm



CVS commit: src/sys/external/bsd/drm2/ttm

2021-12-18 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 01:47:31 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/ttm: files.ttm

Log Message:
Build ttm with -Wno-missing-field-initializers, -Wno-shadow.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/external/bsd/drm2/ttm/files.ttm

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



CVS commit: src/sys/external/bsd/drm2/ttm

2021-12-18 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 01:47:24 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
Sync ttm_bo_vm.c.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.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/ttm/ttm_bo_vm.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.14 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.15
--- src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.14	Sun Feb 23 15:46:40 2020
+++ src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c	Sun Dec 19 01:47:24 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bo_vm.c,v 1.14 2020/02/23 15:46:40 ad Exp $	*/
+/*	$NetBSD: ttm_bo_vm.c,v 1.15 2021/12/19 01:47:24 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ttm_bo_vm.c,v 1.14 2020/02/23 15:46:40 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ttm_bo_vm.c,v 1.15 2021/12/19 01:47:24 riastradh Exp $");
 
 #include 
 
@@ -101,7 +101,7 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 	}
 
 	/* Try to lock the buffer.  */
-	ret = ttm_bo_reserve(bo, true, true, false, NULL);
+	ret = ttm_bo_reserve(bo, true, true, NULL);
 	if (ret) {
 		if (ret != -EBUSY)
 			goto out0;
@@ -132,7 +132,7 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 
 	ret = ttm_bo_uvm_fault_idle(bo, ufi);
 	if (ret) {
-		KASSERT(ret == -ERESTART);
+		KASSERT(ret == -ERESTART || ret == -EFAULT);
 		/* ttm_bo_uvm_fault_idle calls uvmfault_unlockall for us.  */
 		ttm_bo_unreserve(bo);
 		/* XXX errno Linux->NetBSD */
@@ -156,13 +156,18 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 		size = bo->mem.bus.size;
 		pgprot = ttm_io_prot(bo->mem.placement, vm_prot);
 	} else {
+		struct ttm_operation_ctx ctx = {
+			.interruptible = false,
+			.no_wait_gpu = false,
+			.flags = TTM_OPT_FLAG_FORCE_ALLOC,
+		};
 		u.ttm = bo->ttm;
 		size = (bo->ttm->num_pages << PAGE_SHIFT);
 		if (ISSET(bo->mem.placement, TTM_PL_FLAG_CACHED))
 			pgprot = vm_prot;
 		else
 			pgprot = ttm_io_prot(bo->mem.placement, vm_prot);
-		if ((*u.ttm->bdev->driver->ttm_tt_populate)(u.ttm)) {
+		if (ttm_tt_populate(u.ttm, )) {
 			ret = -ENOMEM;
 			goto out2;
 		}
@@ -208,16 +213,24 @@ out0:	uvmfault_unlockall(ufi, ufi->entry
 static int
 ttm_bo_uvm_fault_idle(struct ttm_buffer_object *bo, struct uvm_faultinfo *ufi)
 {
+	int ret = 0;
 
-	if (__predict_true(!test_bit(TTM_BO_PRIV_FLAG_MOVING,
-		>priv_flags)))
-		return 0;
-	if (ttm_bo_wait(bo, false, false, true) == 0)
-		return 0;
-
-	uvmfault_unlockall(ufi, ufi->entry->aref.ar_amap, NULL);
-	(void)ttm_bo_wait(bo, false, true, false);
-	return -ERESTART;
+	if (__predict_true(!bo->moving))
+		goto out0;
+
+	if (dma_fence_is_signaled(bo->moving))
+		goto out1;
+
+	if (dma_fence_wait(bo->moving, true) != 0) {
+		ret = -EFAULT;
+		goto out2;
+	}
+
+	ret = -ERESTART;
+out2:	uvmfault_unlockall(ufi, ufi->entry->aref.ar_amap, NULL);
+out1:	dma_fence_put(bo->moving);
+	bo->moving = NULL;
+out0:	return ret;
 }
 
 int



CVS commit: src/sys/external/bsd/drm2/ttm

2021-12-18 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 01:47:24 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
Sync ttm_bo_vm.c.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2020-01-28 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Tue Jan 28 23:24:09 UTC 2020

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
Do not extract mmap flags from the bus_space_mmap cookie as they may
conflict with the bo's existing protection flags. This caused VRAM to
be incorrectly mapped as Device-nGnRE on Arm64 instead of Normal-NC. Ok
riastradh@.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2020-01-28 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Tue Jan 28 23:24:09 UTC 2020

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
Do not extract mmap flags from the bus_space_mmap cookie as they may
conflict with the bo's existing protection flags. This caused VRAM to
be incorrectly mapped as Device-nGnRE on Arm64 instead of Normal-NC. Ok
riastradh@.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.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/ttm/ttm_bo_vm.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.12 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.13
--- src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.12	Sat Mar  9 01:59:47 2019
+++ src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c	Tue Jan 28 23:24:09 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bo_vm.c,v 1.12 2019/03/09 01:59:47 mrg Exp $	*/
+/*	$NetBSD: ttm_bo_vm.c,v 1.13 2020/01/28 23:24:09 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ttm_bo_vm.c,v 1.12 2019/03/09 01:59:47 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ttm_bo_vm.c,v 1.13 2020/01/28 23:24:09 jmcneill Exp $");
 
 #include 
 
@@ -89,7 +89,6 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 	unsigned i;
 	vm_prot_t vm_prot;	/* VM_PROT_* */
 	pgprot_t pgprot;	/* VM_PROT_* | PMAP_* cacheability flags */
-	unsigned mmapflags;
 	int ret;
 
 	/* Thanks, uvm, but we don't need this lock.  */
@@ -189,13 +188,11 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 			0);
 
 			paddr = pmap_phys_address(cookie);
-			mmapflags = pmap_mmap_flags(cookie);
 		} else {
 			paddr = page_to_phys(u.ttm->pages[startpage + i]);
-			mmapflags = 0;
 		}
 		ret = -pmap_enter(ufi->orig_map->pmap, vaddr + i*PAGE_SIZE,
-		paddr, vm_prot, (PMAP_CANFAIL | pgprot | mmapflags));
+		paddr, vm_prot, (PMAP_CANFAIL | pgprot));
 		if (ret)
 			goto out3;
 	}



CVS commit: src/sys/external/bsd/drm2/ttm

2019-04-21 Thread Chuck Silvers
Module Name:src
Committed By:   chs
Date:   Sun Apr 21 15:49:50 UTC 2019

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bus_dma.c

Log Message:
in ttm_bus_dma_populate(), move the clearing of TTM_PAGE_FLAG_SWAPPED to be
earlier to avoid wrongly asserting if bus_dmamap_load_pglist() fails.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/external/bsd/drm2/ttm/ttm_bus_dma.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/ttm/ttm_bus_dma.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c:1.7 src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c:1.8
--- src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c:1.7	Thu Mar  9 08:27:18 2017
+++ src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c	Sun Apr 21 15:49:50 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bus_dma.c,v 1.7 2017/03/09 08:27:18 maya Exp $	*/
+/*	$NetBSD: ttm_bus_dma.c,v 1.8 2019/04/21 15:49:50 chs Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ttm_bus_dma.c,v 1.7 2017/03/09 08:27:18 maya Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ttm_bus_dma.c,v 1.8 2019/04/21 15:49:50 chs Exp $");
 
 #include 
 
@@ -70,6 +70,9 @@ ttm_bus_dma_populate(struct ttm_dma_tt *
 	/* Mark it populated but unbound.  */
 	ttm_dma->ttm.state = tt_unbound;
 
+	/* Mark it wired.  */
+	ttm_dma->ttm.page_flags &= ~TTM_PAGE_FLAG_SWAPPED;
+
 	/* Load the DMA map.  */
 	/* XXX errno NetBSD->Linux */
 	ret = -bus_dmamap_load_pglist(ttm_dma->ttm.bdev->dmat,
@@ -78,9 +81,6 @@ ttm_bus_dma_populate(struct ttm_dma_tt *
 	if (ret)
 		goto fail1;
 
-	/* Mark it wired.  */
-	ttm_dma->ttm.page_flags &= ~TTM_PAGE_FLAG_SWAPPED;
-
 	/* Success!  */
 	return 0;
 



CVS commit: src/sys/external/bsd/drm2/ttm

2019-04-21 Thread Chuck Silvers
Module Name:src
Committed By:   chs
Date:   Sun Apr 21 15:49:50 UTC 2019

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bus_dma.c

Log Message:
in ttm_bus_dma_populate(), move the clearing of TTM_PAGE_FLAG_SWAPPED to be
earlier to avoid wrongly asserting if bus_dmamap_load_pglist() fails.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2019-03-08 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sat Mar  9 01:59:47 UTC 2019

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
ttm_bo_uvm_fault() is a netbsd API function and thus should return
netbsd errnos.  fix the one "return -ERESTART".


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2019-03-08 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sat Mar  9 01:59:47 UTC 2019

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
ttm_bo_uvm_fault() is a netbsd API function and thus should return
netbsd errnos.  fix the one "return -ERESTART".


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.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/ttm/ttm_bo_vm.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.11 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.12
--- src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.11	Mon Aug 27 07:53:28 2018
+++ src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c	Sat Mar  9 01:59:47 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bo_vm.c,v 1.11 2018/08/27 07:53:28 riastradh Exp $	*/
+/*	$NetBSD: ttm_bo_vm.c,v 1.12 2019/03/09 01:59:47 mrg Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ttm_bo_vm.c,v 1.11 2018/08/27 07:53:28 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ttm_bo_vm.c,v 1.12 2019/03/09 01:59:47 mrg Exp $");
 
 #include 
 
@@ -112,7 +112,7 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 		 */
 		uvmfault_unlockall(ufi, ufi->entry->aref.ar_amap, NULL);
 		(void)ttm_bo_wait_unreserved(bo);
-		return -ERESTART;
+		return ERESTART;
 	}
 
 	/* drm prime buffers are not mappable.  XXX Catch this earlier?  */



CVS commit: src/sys/external/bsd/drm2/ttm

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 07:53:28 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
struct ttm_bo_device::fence_lock is no more.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.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/ttm/ttm_bo_vm.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.10 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.11
--- src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.10	Tue Jul 28 01:25:00 2015
+++ src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c	Mon Aug 27 07:53:28 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bo_vm.c,v 1.10 2015/07/28 01:25:00 riastradh Exp $	*/
+/*	$NetBSD: ttm_bo_vm.c,v 1.11 2018/08/27 07:53:28 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ttm_bo_vm.c,v 1.10 2015/07/28 01:25:00 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ttm_bo_vm.c,v 1.11 2018/08/27 07:53:28 riastradh Exp $");
 
 #include 
 
@@ -211,22 +211,16 @@ out0:	uvmfault_unlockall(ufi, ufi->entry
 static int
 ttm_bo_uvm_fault_idle(struct ttm_buffer_object *bo, struct uvm_faultinfo *ufi)
 {
-	struct ttm_bo_device *const bdev = bo->bdev;
-	int ret = 0;
 
-	spin_lock(>fence_lock);
 	if (__predict_true(!test_bit(TTM_BO_PRIV_FLAG_MOVING,
 		>priv_flags)))
-		goto out;
+		return 0;
 	if (ttm_bo_wait(bo, false, false, true) == 0)
-		goto out;
+		return 0;
 
 	uvmfault_unlockall(ufi, ufi->entry->aref.ar_amap, NULL);
 	(void)ttm_bo_wait(bo, false, true, false);
-	ret = -ERESTART;
-
-out:	spin_unlock(>fence_lock);
-	return ret;
+	return -ERESTART;
 }
 
 int



CVS commit: src/sys/external/bsd/drm2/ttm

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 07:53:28 UTC 2018

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
struct ttm_bo_device::fence_lock is no more.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2017-03-09 Thread Maya Rashish
Module Name:src
Committed By:   maya
Date:   Thu Mar  9 08:05:21 UTC 2017

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bus_dma.c

Log Message:
oops, copied the code from the wrong diff. ... unbreak the build, still
doing the same thing.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2017-03-09 Thread Maya Rashish
Module Name:src
Committed By:   maya
Date:   Thu Mar  9 08:05:21 UTC 2017

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bus_dma.c

Log Message:
oops, copied the code from the wrong diff. ... unbreak the build, still
doing the same thing.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/external/bsd/drm2/ttm/ttm_bus_dma.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/ttm/ttm_bus_dma.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c:1.5 src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c:1.6
--- src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c:1.5	Thu Mar  9 07:55:23 2017
+++ src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c	Thu Mar  9 08:05:21 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bus_dma.c,v 1.5 2017/03/09 07:55:23 maya Exp $	*/
+/*	$NetBSD: ttm_bus_dma.c,v 1.6 2017/03/09 08:05:21 maya Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ttm_bus_dma.c,v 1.5 2017/03/09 07:55:23 maya Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ttm_bus_dma.c,v 1.6 2017/03/09 08:05:21 maya Exp $");
 
 #include 
 
@@ -86,9 +86,9 @@ ttm_bus_dma_populate(struct ttm_dma_tt *
 
 fail2: __unused
 	bus_dmamap_unload(ttm_dma->ttm.bdev->dmat, ttm_dma->dma_address);
-fail1:	KASSERT(ttm->state == tt_unbound);
+fail1:	KASSERT(ttm_dma->ttm.state == tt_unbound);
 	ttm_tt_unwire(_dma->ttm);
-	ttm->state = tt_unpopulated;
+	ttm_dma->ttm.state = tt_unpopulated;
 fail0:	KASSERT(ret);
 	return ret;
 }



CVS commit: src/sys/external/bsd/drm2/ttm

2017-03-08 Thread Maya Rashish
Module Name:src
Committed By:   maya
Date:   Thu Mar  9 07:55:23 UTC 2017

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bus_dma.c

Log Message:
Restore unpopulated state on fail1 error path. I shouldn't have committed
it separately.

from riastradh@


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2017-03-08 Thread Maya Rashish
Module Name:src
Committed By:   maya
Date:   Thu Mar  9 07:55:23 UTC 2017

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bus_dma.c

Log Message:
Restore unpopulated state on fail1 error path. I shouldn't have committed
it separately.

from riastradh@


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/external/bsd/drm2/ttm/ttm_bus_dma.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/ttm/ttm_bus_dma.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c:1.4 src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c:1.5
--- src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c:1.4	Thu Mar  9 07:50:50 2017
+++ src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c	Thu Mar  9 07:55:23 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bus_dma.c,v 1.4 2017/03/09 07:50:50 maya Exp $	*/
+/*	$NetBSD: ttm_bus_dma.c,v 1.5 2017/03/09 07:55:23 maya Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ttm_bus_dma.c,v 1.4 2017/03/09 07:50:50 maya Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ttm_bus_dma.c,v 1.5 2017/03/09 07:55:23 maya Exp $");
 
 #include 
 
@@ -86,7 +86,9 @@ ttm_bus_dma_populate(struct ttm_dma_tt *
 
 fail2: __unused
 	bus_dmamap_unload(ttm_dma->ttm.bdev->dmat, ttm_dma->dma_address);
-fail1:	ttm_tt_unwire(_dma->ttm);
+fail1:	KASSERT(ttm->state == tt_unbound);
+	ttm_tt_unwire(_dma->ttm);
+	ttm->state = tt_unpopulated;
 fail0:	KASSERT(ret);
 	return ret;
 }



CVS commit: src/sys/external/bsd/drm2/ttm

2017-03-08 Thread Maya Rashish
Module Name:src
Committed By:   maya
Date:   Thu Mar  9 07:50:50 UTC 2017

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bus_dma.c

Log Message:
Remove redundant handling for tt_unbound case, and assert that it is the
unpopulated case.

All callers of ttm_bus_dma_populate (ttm_agp_tt_populate,
radeon_ttm_tt_populate, nouveau_ttm_tt_populate) return early if it isn't
unpopulated.

from riastradh@


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2017-03-08 Thread Maya Rashish
Module Name:src
Committed By:   maya
Date:   Thu Mar  9 07:50:50 UTC 2017

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bus_dma.c

Log Message:
Remove redundant handling for tt_unbound case, and assert that it is the
unpopulated case.

All callers of ttm_bus_dma_populate (ttm_agp_tt_populate,
radeon_ttm_tt_populate, nouveau_ttm_tt_populate) return early if it isn't
unpopulated.

from riastradh@


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/external/bsd/drm2/ttm/ttm_bus_dma.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/ttm/ttm_bus_dma.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c:1.3 src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c:1.4
--- src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c:1.3	Thu Mar  9 07:42:36 2017
+++ src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c	Thu Mar  9 07:50:50 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bus_dma.c,v 1.3 2017/03/09 07:42:36 maya Exp $	*/
+/*	$NetBSD: ttm_bus_dma.c,v 1.4 2017/03/09 07:50:50 maya Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ttm_bus_dma.c,v 1.3 2017/03/09 07:42:36 maya Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ttm_bus_dma.c,v 1.4 2017/03/09 07:50:50 maya Exp $");
 
 #include 
 
@@ -55,23 +55,12 @@ ttm_bus_dma_populate(struct ttm_dma_tt *
 {
 	int ret;
 
-	KASSERT(ttm_dma->ttm.state != tt_bound);
+	KASSERT(ttm_dma->ttm.state == tt_unpopulated);
 
-	/* Check the current state.  */
-	if (ttm_dma->ttm.state == tt_unbound) {
-		/*
-		 * If it's populated, then if the pages are wired and
-		 * loaded already, nothing to do.
-		 */
-		if (!ISSET(ttm_dma->ttm.page_flags, TTM_PAGE_FLAG_SWAPPED))
-			return 0;
-	} else if (ttm_dma->ttm.state == tt_unpopulated) {
-		/* If it's unpopulated, it can't be swapped.  */
-		KASSERT(!ISSET(ttm_dma->ttm.page_flags,
-			TTM_PAGE_FLAG_SWAPPED));
-		/* Pretend it is now, for the sake of ttm_tt_wire.  */
-		ttm_dma->ttm.page_flags |= TTM_PAGE_FLAG_SWAPPED;
-	}
+	/* If it's unpopulated, it can't be swapped.  */
+	KASSERT(!ISSET(ttm_dma->ttm.page_flags, TTM_PAGE_FLAG_SWAPPED));
+	/* Pretend it is now, for the sake of ttm_tt_wire.  */
+	ttm_dma->ttm.page_flags |= TTM_PAGE_FLAG_SWAPPED;
 
 	/* Wire the uvm pages and fill the ttm page array.  */
 	ret = ttm_tt_wire(_dma->ttm);



CVS commit: src/sys/external/bsd/drm2/ttm

2017-03-08 Thread Maya Rashish
Module Name:src
Committed By:   maya
Date:   Thu Mar  9 07:42:36 UTC 2017

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bus_dma.c

Log Message:
Mark the state as unbound a bit earlier, to avoid triggering an assert in
the fail1 error path.

PR kern/52048: radeondrmkms: ttm->state == tt_unbound assertion


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/external/bsd/drm2/ttm/ttm_bus_dma.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/ttm/ttm_bus_dma.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c:1.2 src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c:1.3
--- src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c:1.2	Sun Apr 24 04:26:12 2016
+++ src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c	Thu Mar  9 07:42:36 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bus_dma.c,v 1.2 2016/04/24 04:26:12 riastradh Exp $	*/
+/*	$NetBSD: ttm_bus_dma.c,v 1.3 2017/03/09 07:42:36 maya Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ttm_bus_dma.c,v 1.2 2016/04/24 04:26:12 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ttm_bus_dma.c,v 1.3 2017/03/09 07:42:36 maya Exp $");
 
 #include 
 
@@ -78,6 +78,9 @@ ttm_bus_dma_populate(struct ttm_dma_tt *
 	if (ret)
 		goto fail0;
 
+	/* Mark it populated but unbound.  */
+	ttm_dma->ttm.state = tt_unbound;
+
 	/* Load the DMA map.  */
 	/* XXX errno NetBSD->Linux */
 	ret = -bus_dmamap_load_pglist(ttm_dma->ttm.bdev->dmat,
@@ -89,9 +92,6 @@ ttm_bus_dma_populate(struct ttm_dma_tt *
 	/* Mark it wired.  */
 	ttm_dma->ttm.page_flags &= ~TTM_PAGE_FLAG_SWAPPED;
 
-	/* Mark it populated but unbound.  */
-	ttm_dma->ttm.state = tt_unbound;
-
 	/* Success!  */
 	return 0;
 



CVS commit: src/sys/external/bsd/drm2/ttm

2017-03-08 Thread Maya Rashish
Module Name:src
Committed By:   maya
Date:   Thu Mar  9 07:42:36 UTC 2017

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bus_dma.c

Log Message:
Mark the state as unbound a bit earlier, to avoid triggering an assert in
the fail1 error path.

PR kern/52048: radeondrmkms: ttm->state == tt_unbound assertion


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/external/bsd/drm2/ttm/ttm_bus_dma.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2015-10-17 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sat Oct 17 21:05:57 UTC 2015

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_agp_backend.c

Log Message:
only build ttm_agp code if __OS_HAS_AGP is defined


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2015-10-17 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sat Oct 17 21:05:57 UTC 2015

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_agp_backend.c

Log Message:
only build ttm_agp code if __OS_HAS_AGP is defined


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/external/bsd/drm2/ttm/ttm_agp_backend.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/ttm/ttm_agp_backend.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c:1.4 src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c:1.5
--- src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c:1.4	Sat Apr 25 21:00:29 2015
+++ src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c	Sat Oct 17 21:05:57 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_agp_backend.c,v 1.4 2015/04/25 21:00:29 riastradh Exp $	*/
+/*	$NetBSD: ttm_agp_backend.c,v 1.5 2015/10/17 21:05:57 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ttm_agp_backend.c,v 1.4 2015/04/25 21:00:29 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ttm_agp_backend.c,v 1.5 2015/10/17 21:05:57 jmcneill Exp $");
 
 #include 
 #include 
@@ -42,6 +42,8 @@ __KERNEL_RCSID(0, "$NetBSD: ttm_agp_back
 #include 
 #include 
 
+#if __OS_HAS_AGP
+
 struct ttm_agp {
 	struct ttm_dma_tt ttm_dma;
 	struct agp_softc *agp;
@@ -164,3 +166,5 @@ static const struct ttm_backend_func ttm
 	.unbind = _agp_unbind,
 	.destroy = _agp_destroy,
 };
+
+#endif



CVS commit: src/sys/external/bsd/drm2/ttm

2015-07-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Jul 27 22:26:51 UTC 2015

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
Fix error branch: ttm_bo_unreserve on failure after ttm_bo_reserve.

Tiny chance this will fix PR kern/49862 by not leaking a ww_mutex
lock.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.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/ttm/ttm_bo_vm.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.8 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.9
--- src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.8	Thu Nov  6 13:14:31 2014
+++ src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c	Mon Jul 27 22:26:50 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bo_vm.c,v 1.8 2014/11/06 13:14:31 riastradh Exp $	*/
+/*	$NetBSD: ttm_bo_vm.c,v 1.9 2015/07/27 22:26:50 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: ttm_bo_vm.c,v 1.8 2014/11/06 13:14:31 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: ttm_bo_vm.c,v 1.9 2015/07/27 22:26:50 riastradh Exp $);
 
 #include sys/types.h
 
@@ -118,7 +118,7 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 	/* drm prime buffers are not mappable.  XXX Catch this earlier?  */
 	if (bo-ttm  ISSET(bo-ttm-page_flags, TTM_PAGE_FLAG_SG)) {
 		ret = -EINVAL;
-		goto out0;
+		goto out1;
 	}
 
 	/* Notify the driver of a fault if it wants.  */
@@ -127,7 +127,7 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 		if (ret) {
 			if (ret == -ERESTART)
 ret = -EIO;
-			goto out0;
+			goto out1;
 		}
 	}
 



CVS commit: src/sys/external/bsd/drm2/ttm

2015-07-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Jul 27 22:26:51 UTC 2015

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
Fix error branch: ttm_bo_unreserve on failure after ttm_bo_reserve.

Tiny chance this will fix PR kern/49862 by not leaking a ww_mutex
lock.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2015-07-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Tue Jul 28 01:25:00 UTC 2015

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
ttm_bo_unreserve in case of ttm_bo_uvm_fault_idle restart.

Better chance of fixing PR kern/49862 by avoiding leaking a buffer
ww_mutex lock.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2015-07-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Tue Jul 28 01:25:00 UTC 2015

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
ttm_bo_unreserve in case of ttm_bo_uvm_fault_idle restart.

Better chance of fixing PR kern/49862 by avoiding leaking a buffer
ww_mutex lock.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.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/ttm/ttm_bo_vm.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.9 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.10
--- src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.9	Mon Jul 27 22:26:50 2015
+++ src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c	Tue Jul 28 01:25:00 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bo_vm.c,v 1.9 2015/07/27 22:26:50 riastradh Exp $	*/
+/*	$NetBSD: ttm_bo_vm.c,v 1.10 2015/07/28 01:25:00 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: ttm_bo_vm.c,v 1.9 2015/07/27 22:26:50 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: ttm_bo_vm.c,v 1.10 2015/07/28 01:25:00 riastradh Exp $);
 
 #include sys/types.h
 
@@ -133,8 +133,9 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 
 	ret = ttm_bo_uvm_fault_idle(bo, ufi);
 	if (ret) {
-		/* Unlocks if it restarts.  */
 		KASSERT(ret == -ERESTART);
+		/* ttm_bo_uvm_fault_idle calls uvmfault_unlockall for us.  */
+		ttm_bo_unreserve(bo);
 		/* XXX errno Linux-NetBSD */
 		return -ret;
 	}



CVS commit: src/sys/external/bsd/drm2/ttm

2015-04-25 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sat Apr 25 21:00:29 UTC 2015

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_agp_backend.c

Log Message:
kmem_free the container structure, not a substructure.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2015-04-25 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sat Apr 25 21:00:29 UTC 2015

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_agp_backend.c

Log Message:
kmem_free the container structure, not a substructure.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/external/bsd/drm2/ttm/ttm_agp_backend.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/ttm/ttm_agp_backend.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c:1.3 src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c:1.4
--- src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c:1.3	Thu Aug 14 16:50:22 2014
+++ src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c	Sat Apr 25 21:00:29 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_agp_backend.c,v 1.3 2014/08/14 16:50:22 riastradh Exp $	*/
+/*	$NetBSD: ttm_agp_backend.c,v 1.4 2015/04/25 21:00:29 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: ttm_agp_backend.c,v 1.3 2014/08/14 16:50:22 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: ttm_agp_backend.c,v 1.4 2015/04/25 21:00:29 riastradh Exp $);
 
 #include sys/types.h
 #include sys/kmem.h
@@ -156,7 +156,7 @@ ttm_agp_destroy(struct ttm_tt *ttm)
 	if (ttm_agp-bound)
 		ttm_agp_unbind(ttm);
 	ttm_tt_fini(ttm);
-	kmem_free(ttm, sizeof(*ttm));
+	kmem_free(ttm_agp, sizeof(*ttm_agp));
 }
 
 static const struct ttm_backend_func ttm_agp_backend_func = {



CVS commit: src/sys/external/bsd/drm2/ttm

2014-11-06 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Nov  6 13:14:31 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
Update comment to reflect recent change to.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.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/ttm/ttm_bo_vm.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.7 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.8
--- src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.7	Wed Nov  5 15:03:19 2014
+++ src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c	Thu Nov  6 13:14:31 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bo_vm.c,v 1.7 2014/11/05 15:03:19 riastradh Exp $	*/
+/*	$NetBSD: ttm_bo_vm.c,v 1.8 2014/11/06 13:14:31 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: ttm_bo_vm.c,v 1.7 2014/11/05 15:03:19 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: ttm_bo_vm.c,v 1.8 2014/11/06 13:14:31 riastradh Exp $);
 
 #include sys/types.h
 
@@ -107,9 +107,8 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 		if (ret != -EBUSY)
 			goto out0;
 		/*
-		 * It's currently locked.  Unlock the fault (requires
-		 * relocking uobj's vmobjlock first), wait for it, and
-		 * start over.
+		 * It's currently locked.  Unlock the fault, wait for
+		 * it, and start over.
 		 */
 		uvmfault_unlockall(ufi, ufi-entry-aref.ar_amap, NULL);
 		(void)ttm_bo_wait_unreserved(bo);



CVS commit: src/sys/external/bsd/drm2/ttm

2014-11-06 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Nov  6 13:14:31 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
Update comment to reflect recent change to.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2014-11-05 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Nov  5 14:47:16 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
Simplify uvmfault_unlockall use in ttm_bo_uvm_fault.

Pass NULL for uobj instead of locking uobj-vmobjlock before calling
uvmfault_unlockall.

Should fix lockdebug unlocking-unlocked-mutex crash in
ttm_bo_uvm_fault_idle.

XXX pullup to netbsd-7


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.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/ttm/ttm_bo_vm.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.5 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.6
--- src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.5	Wed Sep 10 18:24:16 2014
+++ src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c	Wed Nov  5 14:47:16 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bo_vm.c,v 1.5 2014/09/10 18:24:16 riastradh Exp $	*/
+/*	$NetBSD: ttm_bo_vm.c,v 1.6 2014/11/05 14:47:16 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: ttm_bo_vm.c,v 1.5 2014/09/10 18:24:16 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: ttm_bo_vm.c,v 1.6 2014/11/05 14:47:16 riastradh Exp $);
 
 #include sys/types.h
 
@@ -45,7 +45,7 @@ __KERNEL_RCSID(0, $NetBSD: ttm_bo_vm.c,
 #include ttm/ttm_bo_driver.h
 
 static int	ttm_bo_uvm_fault_idle(struct ttm_buffer_object *,
-		struct uvm_faultinfo *, struct uvm_object *);
+		struct uvm_faultinfo *);
 static int	ttm_bo_uvm_lookup(struct ttm_bo_device *, unsigned long,
 		unsigned long, struct ttm_buffer_object **);
 
@@ -111,8 +111,7 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 		 * relocking uobj's vmobjlock first), wait for it, and
 		 * start over.
 		 */
-		mutex_enter(uobj-vmobjlock);
-		uvmfault_unlockall(ufi, ufi-entry-aref.ar_amap, uobj);
+		uvmfault_unlockall(ufi, ufi-entry-aref.ar_amap, NULL);
 		(void)ttm_bo_wait_unreserved(bo);
 		return -ERESTART;
 	}
@@ -204,15 +203,13 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 out3:	pmap_update(ufi-orig_map-pmap);
 out2:	ttm_mem_io_unlock(man);
 out1:	ttm_bo_unreserve(bo);
-out0:	mutex_enter(uobj-vmobjlock);
-	uvmfault_unlockall(ufi, ufi-entry-aref.ar_amap, uobj);
+out0:	uvmfault_unlockall(ufi, ufi-entry-aref.ar_amap, NULL);
 	/* XXX errno Linux-NetBSD */
 	return -ret;
 }
 
 static int
-ttm_bo_uvm_fault_idle(struct ttm_buffer_object *bo, struct uvm_faultinfo *ufi,
-struct uvm_object *uobj)
+ttm_bo_uvm_fault_idle(struct ttm_buffer_object *bo, struct uvm_faultinfo *ufi)
 {
 	struct ttm_bo_device *const bdev = bo-bdev;
 	int ret = 0;
@@ -224,7 +221,7 @@ ttm_bo_uvm_fault_idle(struct ttm_buffer_
 	if (ttm_bo_wait(bo, false, false, true) == 0)
 		goto out;
 
-	uvmfault_unlockall(ufi, ufi-entry-aref.ar_amap, uobj);
+	uvmfault_unlockall(ufi, ufi-entry-aref.ar_amap, NULL);
 	(void)ttm_bo_wait(bo, false, true, false);
 	ret = -ERESTART;
 



CVS commit: src/sys/external/bsd/drm2/ttm

2014-11-05 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Nov  5 15:03:19 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
Oops -- fix call to ttm_bo_uvm_fault_idle in last commit.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.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/ttm/ttm_bo_vm.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.6 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.7
--- src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.6	Wed Nov  5 14:47:16 2014
+++ src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c	Wed Nov  5 15:03:19 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bo_vm.c,v 1.6 2014/11/05 14:47:16 riastradh Exp $	*/
+/*	$NetBSD: ttm_bo_vm.c,v 1.7 2014/11/05 15:03:19 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: ttm_bo_vm.c,v 1.6 2014/11/05 14:47:16 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: ttm_bo_vm.c,v 1.7 2014/11/05 15:03:19 riastradh Exp $);
 
 #include sys/types.h
 
@@ -132,7 +132,7 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 		}
 	}
 
-	ret = ttm_bo_uvm_fault_idle(bo, ufi, uobj);
+	ret = ttm_bo_uvm_fault_idle(bo, ufi);
 	if (ret) {
 		/* Unlocks if it restarts.  */
 		KASSERT(ret == -ERESTART);



CVS commit: src/sys/external/bsd/drm2/ttm

2014-11-05 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Nov  5 14:47:16 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
Simplify uvmfault_unlockall use in ttm_bo_uvm_fault.

Pass NULL for uobj instead of locking uobj-vmobjlock before calling
uvmfault_unlockall.

Should fix lockdebug unlocking-unlocked-mutex crash in
ttm_bo_uvm_fault_idle.

XXX pullup to netbsd-7


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2014-11-05 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Nov  5 15:03:19 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
Oops -- fix call to ttm_bo_uvm_fault_idle in last commit.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2014-09-10 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Sep 10 18:24:16 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
We dropped vmobjlock, so reacquire it before uvmfault_unlockall.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.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/ttm/ttm_bo_vm.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.4 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.5
--- src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.4	Wed Aug 20 13:48:08 2014
+++ src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c	Wed Sep 10 18:24:16 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bo_vm.c,v 1.4 2014/08/20 13:48:08 riastradh Exp $	*/
+/*	$NetBSD: ttm_bo_vm.c,v 1.5 2014/09/10 18:24:16 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: ttm_bo_vm.c,v 1.4 2014/08/20 13:48:08 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: ttm_bo_vm.c,v 1.5 2014/09/10 18:24:16 riastradh Exp $);
 
 #include sys/types.h
 
@@ -107,9 +107,11 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 		if (ret != -EBUSY)
 			goto out0;
 		/*
-		 * It's currently locked.  Unlock the fault, wait for
-		 * it, and start over.
+		 * It's currently locked.  Unlock the fault (requires
+		 * relocking uobj's vmobjlock first), wait for it, and
+		 * start over.
 		 */
+		mutex_enter(uobj-vmobjlock);
 		uvmfault_unlockall(ufi, ufi-entry-aref.ar_amap, uobj);
 		(void)ttm_bo_wait_unreserved(bo);
 		return -ERESTART;



CVS commit: src/sys/external/bsd/drm2/ttm

2014-09-10 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Sep 10 18:24:16 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
We dropped vmobjlock, so reacquire it before uvmfault_unlockall.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2014-08-17 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 18 01:17:35 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
bus_space_mmap cookies are not paddrs, so don't pmap_enter them!


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.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/ttm/ttm_bo_vm.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.2 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.3
--- src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.2	Sat Aug  9 00:18:58 2014
+++ src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c	Mon Aug 18 01:17:34 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bo_vm.c,v 1.2 2014/08/09 00:18:58 riastradh Exp $	*/
+/*	$NetBSD: ttm_bo_vm.c,v 1.3 2014/08/18 01:17:34 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: ttm_bo_vm.c,v 1.2 2014/08/09 00:18:58 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: ttm_bo_vm.c,v 1.3 2014/08/18 01:17:34 riastradh Exp $);
 
 #include sys/types.h
 
@@ -89,6 +89,7 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 	unsigned i;
 	vm_prot_t vm_prot;	/* VM_PROT_* */
 	pgprot_t pgprot;	/* VM_PROT_* | PMAP_* cacheability flags */
+	unsigned mmapflags;
 	int ret;
 
 	/* Copy-on-write mappings make no sense for the graphics aperture.  */
@@ -178,13 +179,19 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 		/* XXX PGO_ALLPAGES?  */
 		if (pps[i] == PGO_DONTCARE)
 			continue;
-		if (bo-mem.bus.is_iomem)
-			paddr = bus_space_mmap(bdev-memt, u.base,
-			((startpage + i)  PAGE_SHIFT), vm_prot, 0);
-		else
+		if (bo-mem.bus.is_iomem) {
+			const paddr_t cookie = bus_space_mmap(bdev-memt,
+			u.base, ((startpage + i)  PAGE_SHIFT), vm_prot,
+			0);
+
+			paddr = pmap_phys_address(cookie);
+			mmapflags = pmap_mmap_flags(cookie);
+		} else {
 			paddr = page_to_phys(u.ttm-pages[startpage + i]);
+			mmapflags = 0;
+		}
 		ret = -pmap_enter(ufi-orig_map-pmap, vaddr + i*PAGE_SIZE,
-		paddr, vm_prot, (PMAP_CANFAIL | pgprot));
+		paddr, vm_prot, (PMAP_CANFAIL | pgprot | mmapflags));
 		if (ret)
 			goto out3;
 	}



CVS commit: src/sys/external/bsd/drm2/ttm

2014-08-17 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 18 01:17:35 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
bus_space_mmap cookies are not paddrs, so don't pmap_enter them!


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2014-08-14 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Aug 14 16:47:52 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_agp_backend.c

Log Message:
Use ttm_dma_tt_init in ttm_agp_tt_create so we can use ttm_bus_dma.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/external/bsd/drm2/ttm/ttm_agp_backend.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/ttm/ttm_agp_backend.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c:1.1 src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c:1.2
--- src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c:1.1	Wed Jul 16 20:59:58 2014
+++ src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c	Thu Aug 14 16:47:52 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_agp_backend.c,v 1.1 2014/07/16 20:59:58 riastradh Exp $	*/
+/*	$NetBSD: ttm_agp_backend.c,v 1.2 2014/08/14 16:47:52 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: ttm_agp_backend.c,v 1.1 2014/07/16 20:59:58 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: ttm_agp_backend.c,v 1.2 2014/08/14 16:47:52 riastradh Exp $);
 
 #include sys/types.h
 #include sys/kmem.h
@@ -61,7 +61,7 @@ ttm_agp_tt_create(struct ttm_bo_device *
 	ttm_agp-agp = bridge-abd_sc;
 	ttm_agp-ttm_dma.ttm.func = ttm_agp_backend_func;
 
-	if (ttm_tt_init(ttm_agp-ttm_dma.ttm, bdev, size, page_flags,
+	if (ttm_dma_tt_init(ttm_agp-ttm_dma, bdev, size, page_flags,
 		dummy_read_page) != 0)
 		goto fail;
 



CVS commit: src/sys/external/bsd/drm2/ttm

2014-08-14 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Aug 14 16:50:22 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_agp_backend.c

Log Message:
Zero ttm_agp objects on creation.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/external/bsd/drm2/ttm/ttm_agp_backend.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/ttm/ttm_agp_backend.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c:1.2 src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c:1.3
--- src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c:1.2	Thu Aug 14 16:47:52 2014
+++ src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c	Thu Aug 14 16:50:22 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_agp_backend.c,v 1.2 2014/08/14 16:47:52 riastradh Exp $	*/
+/*	$NetBSD: ttm_agp_backend.c,v 1.3 2014/08/14 16:50:22 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: ttm_agp_backend.c,v 1.2 2014/08/14 16:47:52 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: ttm_agp_backend.c,v 1.3 2014/08/14 16:50:22 riastradh Exp $);
 
 #include sys/types.h
 #include sys/kmem.h
@@ -57,7 +57,7 @@ ttm_agp_tt_create(struct ttm_bo_device *
 {
 	struct ttm_agp *ttm_agp;
 
-	ttm_agp = kmem_alloc(sizeof(*ttm_agp), KM_SLEEP);
+	ttm_agp = kmem_zalloc(sizeof(*ttm_agp), KM_SLEEP);
 	ttm_agp-agp = bridge-abd_sc;
 	ttm_agp-ttm_dma.ttm.func = ttm_agp_backend_func;
 



CVS commit: src/sys/external/bsd/drm2/ttm

2014-08-14 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Aug 14 16:47:52 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_agp_backend.c

Log Message:
Use ttm_dma_tt_init in ttm_agp_tt_create so we can use ttm_bus_dma.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2014-08-14 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Aug 14 16:50:22 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_agp_backend.c

Log Message:
Zero ttm_agp objects on creation.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/external/bsd/drm2/ttm/ttm_agp_backend.c

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



CVS commit: src/sys/external/bsd/drm2/ttm

2014-08-08 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sat Aug  9 00:18:59 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
Multiply by PAGE_SIZE, not PAGE_SHIFT!


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.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/ttm/ttm_bo_vm.c
diff -u src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.1 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.2
--- src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c:1.1	Wed Jul 16 20:59:58 2014
+++ src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c	Sat Aug  9 00:18:58 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bo_vm.c,v 1.1 2014/07/16 20:59:58 riastradh Exp $	*/
+/*	$NetBSD: ttm_bo_vm.c,v 1.2 2014/08/09 00:18:58 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: ttm_bo_vm.c,v 1.1 2014/07/16 20:59:58 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: ttm_bo_vm.c,v 1.2 2014/08/09 00:18:58 riastradh Exp $);
 
 #include sys/types.h
 
@@ -183,7 +183,7 @@ ttm_bo_uvm_fault(struct uvm_faultinfo *u
 			((startpage + i)  PAGE_SHIFT), vm_prot, 0);
 		else
 			paddr = page_to_phys(u.ttm-pages[startpage + i]);
-		ret = -pmap_enter(ufi-orig_map-pmap, vaddr + i*PAGE_SHIFT,
+		ret = -pmap_enter(ufi-orig_map-pmap, vaddr + i*PAGE_SIZE,
 		paddr, vm_prot, (PMAP_CANFAIL | pgprot));
 		if (ret)
 			goto out3;



CVS commit: src/sys/external/bsd/drm2/ttm

2014-08-08 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sat Aug  9 00:18:59 UTC 2014

Modified Files:
src/sys/external/bsd/drm2/ttm: ttm_bo_vm.c

Log Message:
Multiply by PAGE_SIZE, not PAGE_SHIFT!


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/external/bsd/drm2/ttm/ttm_bo_vm.c

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