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

2024-06-27 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Thu Jun 27 12:21:20 UTC 2024

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

Log Message:
With GCC12 kernel ALL/amd64 triggers "'sor' may be used uninitialized".
If "sublinks & 3" is zero GCC is right and sor[1] may be returned unitialized.

Fix by initializing "sor" to zero to return -1 instead of uninitialized value.

Ok: Taylor R Campbell 


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/disp/nouveau_nvkm_engine_disp_sorgm200.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/nvkm/engine/disp/nouveau_nvkm_engine_disp_sorgm200.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/disp/nouveau_nvkm_engine_disp_sorgm200.c:1.2 src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/disp/nouveau_nvkm_engine_disp_sorgm200.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/disp/nouveau_nvkm_engine_disp_sorgm200.c:1.2	Sat Dec 18 23:45:35 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/disp/nouveau_nvkm_engine_disp_sorgm200.c	Thu Jun 27 12:21:20 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nvkm_engine_disp_sorgm200.c,v 1.2 2021/12/18 23:45:35 riastradh Exp $	*/
+/*	$NetBSD: nouveau_nvkm_engine_disp_sorgm200.c,v 1.3 2024/06/27 12:21:20 hannken Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -24,7 +24,7 @@
  * Authors: Ben Skeggs
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_engine_disp_sorgm200.c,v 1.2 2021/12/18 23:45:35 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_engine_disp_sorgm200.c,v 1.3 2024/06/27 12:21:20 hannken Exp $");
 
 #include "ior.h"
 
@@ -74,6 +74,7 @@ gm200_sor_route_get(struct nvkm_outp *ou
 	const int sublinks = outp->info.sorconf.link;
 	int lnk[2], sor[2], m, s;
 
+	sor[0] = sor[1] = 0;	/* GCC 12.3 maybe-uninitialized */
 	for (*link = 0, m = __ffs(outp->info.or) * 2, s = 0; s < 2; m++, s++) {
 		if (sublinks & BIT(s)) {
 			u32 data = nvkm_rd32(device, 0x612308 + (m * 0x80));



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

2024-06-27 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Thu Jun 27 12:21:20 UTC 2024

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

Log Message:
With GCC12 kernel ALL/amd64 triggers "'sor' may be used uninitialized".
If "sublinks & 3" is zero GCC is right and sor[1] may be returned unitialized.

Fix by initializing "sor" to zero to return -1 instead of uninitialized value.

Ok: Taylor R Campbell 


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/disp/nouveau_nvkm_engine_disp_sorgm200.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/dist/drm/nouveau/nvkm/subdev/instmem

2024-06-04 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Tue Jun  4 21:43:39 UTC 2024

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem:
nouveau_nvkm_subdev_instmem_gk20a.c

Log Message:
nouveau_nvkm_subdev_instmem_gk20a.c: Use BUS_DMA_PREFETCHABLE.

Matches Linux's pgprot_writecombine.

Unclear where the appropriate bus_dmamap_sync happens, or is supposed
to happen -- not using it would be wrong, but asking for a
prefetchable mapping may paper over symptoms, at least!


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_gk20a.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/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_gk20a.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_gk20a.c:1.9 src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_gk20a.c:1.10
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_gk20a.c:1.9	Sun Dec 19 12:29:47 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_gk20a.c	Tue Jun  4 21:43:39 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nvkm_subdev_instmem_gk20a.c,v 1.9 2021/12/19 12:29:47 riastradh Exp $	*/
+/*	$NetBSD: nouveau_nvkm_subdev_instmem_gk20a.c,v 1.10 2024/06/04 21:43:39 riastradh Exp $	*/
 
 /*
  * Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved.
@@ -44,7 +44,7 @@
  * goes beyond a certain threshold. At the moment this limit is 1MB.
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_instmem_gk20a.c,v 1.9 2021/12/19 12:29:47 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_instmem_gk20a.c,v 1.10 2024/06/04 21:43:39 riastradh Exp $");
 
 #include "priv.h"
 
@@ -241,7 +241,7 @@ gk20a_instobj_acquire_iommu(struct nvkm_
 #ifdef __NetBSD__
 	void *kva;
 	if (bus_dmamem_map(imem->dmat, node->segs, node->nsegs, size,
-		&kva, BUS_DMA_WAITOK))
+		&kva, BUS_DMA_WAITOK|BUS_DMA_PREFETCHABLE))
 		node->base.vaddr = NULL;
 	else
 		node->base.vaddr = kva;



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem

2024-06-04 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Tue Jun  4 21:43:39 UTC 2024

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem:
nouveau_nvkm_subdev_instmem_gk20a.c

Log Message:
nouveau_nvkm_subdev_instmem_gk20a.c: Use BUS_DMA_PREFETCHABLE.

Matches Linux's pgprot_writecombine.

Unclear where the appropriate bus_dmamap_sync happens, or is supposed
to happen -- not using it would be wrong, but asking for a
prefetchable mapping may paper over symptoms, at least!


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_gk20a.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/dist/drm/nouveau/nvkm/subdev/pci

2023-09-30 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sat Sep 30 10:38:31 UTC 2023

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci:
nouveau_nvkm_subdev_pci_pcie.c

Log Message:
avoid an unlikely array bounds issue picked up by GCC 12.

nvkm_pcie_speed() can return -1, which is then used as an array index,
so make this default return PCIe 1.0 speeds.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_pcie.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/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_pcie.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_pcie.c:1.3 src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_pcie.c:1.4
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_pcie.c:1.3	Sun Dec 19 10:51:58 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_pcie.c	Sat Sep 30 10:38:31 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nvkm_subdev_pci_pcie.c,v 1.3 2021/12/19 10:51:58 riastradh Exp $	*/
+/*	$NetBSD: nouveau_nvkm_subdev_pci_pcie.c,v 1.4 2023/09/30 10:38:31 mrg Exp $	*/
 
 /*
  * Copyright 2015 Karol Herbst 
@@ -24,7 +24,7 @@
  * Authors: Karol Herbst 
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_pci_pcie.c,v 1.3 2021/12/19 10:51:58 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_pci_pcie.c,v 1.4 2023/09/30 10:38:31 mrg Exp $");
 
 #include "priv.h"
 
@@ -48,7 +48,7 @@ nvkm_pcie_speed(enum pci_bus_speed speed
 		/* XXX 0x16 is 8_0, assume 0x17 will be 16_0 for now */
 		if (speed == 0x17)
 			return NVKM_PCIE_SPEED_8_0;
-		return -1;
+		return NVKM_PCIE_SPEED_2_5;
 	}
 }
 



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci

2023-09-30 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sat Sep 30 10:38:31 UTC 2023

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci:
nouveau_nvkm_subdev_pci_pcie.c

Log Message:
avoid an unlikely array bounds issue picked up by GCC 12.

nvkm_pcie_speed() can return -1, which is then used as an array index,
so make this default return PCIe 1.0 speeds.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_pcie.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/dist/drm/nouveau/nvkm/subdev/mmu

2022-05-31 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Tue May 31 20:53:35 UTC 2022

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu:
nouveau_nvkm_subdev_mmu_mem.c

Log Message:
reorganise most of the NetBSD portion of nvkm_mem_dtor().

when nvkm_mem_new_host() is called via the in-kernel ioctl method,
we copy the supplied dmamap, use it's dm_nsegs value for allocation
of "mem->dma", and assume it remains valid until we're done.

when this path is taken "mem->mem" remains NULL so all the code in
nvkm_mem_dtor() is ignored, and the "mem->dma" is leaked.  this is
one leak seen in PR#56826.  as "dmamap->dm_nsegs" can become invalid
before the dtor call, store the value in "mem->nseg" for use in the
dtor, and convert the dtor to free "mem->dma" if "mem->dma" is set.
additionally, "mem->pages" should end up being the same value as
"nseg" here, ASSERT() this.

while here properly mark NetBSD specific code in nvkm_mem_new_host().

additionally, destroy the dmamap created in the non-ioctl path of
nvkm_mem_new_host().  this is another leak seen in PR#56826.

with both of these fixes my "kmem-04096" pool does not grow rapidly
while using "mpv -vo gpu".  infact, once i loaded the relevant file
into memory, this pool remains stable after at least one minute of
video playback.

ok riastradh@


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.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/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c:1.7 src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c:1.8
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c:1.7	Sun Dec 19 11:06:44 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c	Tue May 31 20:53:35 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nvkm_subdev_mmu_mem.c,v 1.7 2021/12/19 11:06:44 riastradh Exp $	*/
+/*	$NetBSD: nouveau_nvkm_subdev_mmu_mem.c,v 1.8 2022/05/31 20:53:35 mrg Exp $	*/
 
 /*
  * Copyright 2017 Red Hat Inc.
@@ -22,7 +22,7 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_mmu_mem.c,v 1.7 2021/12/19 11:06:44 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_mmu_mem.c,v 1.8 2022/05/31 20:53:35 mrg Exp $");
 
 #define nvkm_mem(p) container_of((p), struct nvkm_mem, memory)
 #include "mem.h"
@@ -97,16 +97,21 @@ static void *
 nvkm_mem_dtor(struct nvkm_memory *memory)
 {
 	struct nvkm_mem *mem = nvkm_mem(memory);
-	if (mem->mem) {
 #ifdef __NetBSD__
+	if (mem->dma) {
+		kmem_free(mem->dma, mem->nseg * sizeof(mem->dma[0]));
+	}
+	if (mem->mem) {
 		struct nvkm_device *device = mem->mmu->subdev.device;
 		bus_dma_tag_t dmat = device->func->dma_tag(device);
-		kmem_free(mem->dma,
-		mem->dmamap->dm_nsegs * sizeof(mem->dma[0]));
+
 		bus_dmamap_unload(dmat, mem->dmamap);
 		bus_dmamem_free(dmat, mem->mem, mem->nseg);
+		bus_dmamap_destroy(dmat, mem->dmamap);
 		kmem_free(mem->mem, mem->pages * sizeof(mem->mem[0]));
+	}
 #else
+	if (mem->mem) {
 		while (mem->pages--) {
 			dma_unmap_page(mem->mmu->subdev.device->dev,
    mem->dma[mem->pages], PAGE_SIZE,
@@ -115,8 +120,8 @@ nvkm_mem_dtor(struct nvkm_memory *memory
 		}
 		kvfree(mem->dma);
 		kvfree(mem->mem);
-#endif
 	}
+#endif
 	return mem;
 }
 
@@ -218,7 +223,11 @@ nvkm_mem_new_host(struct nvkm_mmu *mmu, 
 	if (!(ret = nvif_unpack(ret, &argv, &argc, args->v0, 0, 0, false))) {
 		if (args->v0.dma) {
 			nvkm_memory_ctor(&nvkm_mem_dma, &mem->memory);
+#ifndef __NetBSD__
+			mem->dma = args->v0.dma;
+#else
 			mem->dmamap = args->v0.dma;
+			mem->nseg = mem->dmamap->dm_nsegs;
 			mem->dma = kmem_zalloc(mem->dmamap->dm_nsegs *
 			sizeof(mem->dma[0]), KM_SLEEP);
 			for (unsigned i = 0; i < mem->dmamap->dm_nsegs; i++) {
@@ -226,6 +235,7 @@ nvkm_mem_new_host(struct nvkm_mmu *mmu, 
 PAGE_SIZE);
 mem->dma[i] = mem->dmamap->dm_segs[i].ds_addr;
 			}
+#endif
 		} else {
 #ifdef __NetBSD__
 			return -ENODEV;
@@ -238,6 +248,9 @@ nvkm_mem_new_host(struct nvkm_mmu *mmu, 
 		if (!IS_ALIGNED(size, PAGE_SIZE))
 			return -EINVAL;
 		mem->pages = size >> PAGE_SHIFT;
+#ifdef __NetBSD__
+		KASSERT(mem->pages == mem->nseg);
+#endif
 		return 0;
 	} else
 	if ( (ret = nvif_unvers(ret, &argv, &argc, args->vn))) {
@@ -283,6 +296,7 @@ fail2: __unused
 		mem->dma[i] = mem->dmamap->dm_segs[i].ds_addr;
 	}
 	mem->pages = size;
+	KASSERT(mem->pages == mem->nseg);
 #else
 	if (!(mem->mem = kvmalloc_array(size, sizeof(*mem->mem), GFP_KERNEL)))
 		return -ENOMEM;



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu

2022-05-31 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Tue May 31 20:53:35 UTC 2022

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu:
nouveau_nvkm_subdev_mmu_mem.c

Log Message:
reorganise most of the NetBSD portion of nvkm_mem_dtor().

when nvkm_mem_new_host() is called via the in-kernel ioctl method,
we copy the supplied dmamap, use it's dm_nsegs value for allocation
of "mem->dma", and assume it remains valid until we're done.

when this path is taken "mem->mem" remains NULL so all the code in
nvkm_mem_dtor() is ignored, and the "mem->dma" is leaked.  this is
one leak seen in PR#56826.  as "dmamap->dm_nsegs" can become invalid
before the dtor call, store the value in "mem->nseg" for use in the
dtor, and convert the dtor to free "mem->dma" if "mem->dma" is set.
additionally, "mem->pages" should end up being the same value as
"nseg" here, ASSERT() this.

while here properly mark NetBSD specific code in nvkm_mem_new_host().

additionally, destroy the dmamap created in the non-ioctl path of
nvkm_mem_new_host().  this is another leak seen in PR#56826.

with both of these fixes my "kmem-04096" pool does not grow rapidly
while using "mpv -vo gpu".  infact, once i loaded the relevant file
into memory, this pool remains stable after at least one minute of
video playback.

ok riastradh@


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.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/dist/drm/nouveau

2022-05-30 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Tue May 31 00:17:10 UTC 2022

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau: nouveau_gem.c

Log Message:
nouveau(4): Fix error branches in nouveau_gem_new.

PR kern/56804


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.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_gem.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.c:1.13 src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.c:1.14
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.c:1.13	Sun Dec 19 10:50:13 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.c	Tue May 31 00:17:10 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_gem.c,v 1.13 2021/12/19 10:50:13 riastradh Exp $	*/
+/*	$NetBSD: nouveau_gem.c,v 1.14 2022/05/31 00:17:10 riastradh Exp $	*/
 
 /*
  * Copyright (C) 2008 Ben Skeggs.
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_gem.c,v 1.13 2021/12/19 10:50:13 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_gem.c,v 1.14 2022/05/31 00:17:10 riastradh Exp $");
 
 #include 
 
@@ -202,13 +202,13 @@ nouveau_gem_new(struct nouveau_cli *cli,
 	 * to the caller, instead of a normal nouveau_bo ttm reference. */
 	ret = drm_gem_object_init(drm->dev, &nvbo->bo.base, size);
 	if (ret) {
-		nouveau_bo_ref(NULL, &nvbo);
+		kfree(nvbo);
 		return ret;
 	}
 
 	ret = nouveau_bo_init(nvbo, size, align, flags, NULL, NULL);
 	if (ret) {
-		nouveau_bo_ref(NULL, &nvbo);
+		/* XXX note: if this fails it kfrees nvbo */
 		return ret;
 	}
 



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

2022-05-30 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Tue May 31 00:17:10 UTC 2022

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau: nouveau_gem.c

Log Message:
nouveau(4): Fix error branches in nouveau_gem_new.

PR kern/56804


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.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/dist/drm/nouveau/nvkm/subdev/instmem

2022-04-09 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sat Apr  9 19:59:08 UTC 2022

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem:
nouveau_nvkm_subdev_instmem_base.c

Log Message:
nouveau: Omit needless local patch.

This code probably once called ioread32/iowrite32 or something, but
no longer.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_base.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/dist/drm/nouveau/nvkm/subdev/instmem

2022-04-09 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sat Apr  9 19:59:08 UTC 2022

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem:
nouveau_nvkm_subdev_instmem_base.c

Log Message:
nouveau: Omit needless local patch.

This code probably once called ioread32/iowrite32 or something, but
no longer.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_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/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_base.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_base.c:1.8 src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_base.c:1.9
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_base.c:1.8	Sun Dec 19 11:34:45 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_base.c	Sat Apr  9 19:59:08 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nvkm_subdev_instmem_base.c,v 1.8 2021/12/19 11:34:45 riastradh Exp $	*/
+/*	$NetBSD: nouveau_nvkm_subdev_instmem_base.c,v 1.9 2022/04/09 19:59:08 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -24,7 +24,7 @@
  * Authors: Ben Skeggs
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_instmem_base.c,v 1.8 2021/12/19 11:34:45 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_instmem_base.c,v 1.9 2022/04/09 19:59:08 riastradh Exp $");
 
 #include "priv.h"
 
@@ -34,37 +34,6 @@ __KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm
 #  define	__iomem	__nvkm_memory_iomem
 #endif
 
-#ifdef __NetBSD__
-
-/*
- * XXX I think this should be done with bus_space, but the depth of
- * abstractions is dizzying and I'm not actually sure where these
- * pointers come from.
- */
-
-#  define	ioread32_native		fake_ioread32_native
-#  define	iowrite32_native	fake_iowrite32_native
-
-static inline uint32_t
-ioread32_native(const void __iomem *ptr)
-{
-	uint32_t v;
-
-	v = *(const uint32_t __iomem *)ptr;
-	membar_consumer();
-
-	return v;
-}
-
-static inline void
-iowrite32_native(uint32_t v, void __iomem *ptr)
-{
-
-	membar_producer();
-	*(uint32_t __iomem *)ptr = v;
-}
-
-#endif
 /**
  * instmem object base implementation
  */
@@ -88,12 +57,6 @@ nvkm_instobj_load(struct nvkm_instobj *i
 	iobj->suspend = NULL;
 }
 
-#ifdef __NetBSD__
-#  undef	ioread32_native
-#  undef	iowrite32_native
-#endif
-
-
 static int
 nvkm_instobj_save(struct nvkm_instobj *iobj)
 {



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 12:43:45 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci:
nouveau_nvkm_subdev_pci_base.c

Log Message:
nouveau: Disable MSI on G84 devices.

Fails to switch modes with MSI, works without MSI, on T61p.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_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/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_base.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_base.c:1.10 src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_base.c:1.11
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_base.c:1.10	Sun Dec 19 12:31:26 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_base.c	Sun Dec 19 12:43:45 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nvkm_subdev_pci_base.c,v 1.10 2021/12/19 12:31:26 riastradh Exp $	*/
+/*	$NetBSD: nouveau_nvkm_subdev_pci_base.c,v 1.11 2021/12/19 12:43:45 riastradh Exp $	*/
 
 /*
  * Copyright 2015 Red Hat Inc.
@@ -24,7 +24,7 @@
  * Authors: Ben Skeggs 
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_pci_base.c,v 1.10 2021/12/19 12:31:26 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_pci_base.c,v 1.11 2021/12/19 12:43:45 riastradh Exp $");
 
 #include "priv.h"
 #include "agp.h"
@@ -276,6 +276,7 @@ nvkm_pci_new_(const struct nvkm_pci_func
 		break;
 	default:
 		switch (device->chipset) {
+		case 0x84:	/* G84, no mode switch with MSI */
 		case 0xaa:
 			/* reported broken, nv also disable it */
 			break;



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 12:43:45 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci:
nouveau_nvkm_subdev_pci_base.c

Log Message:
nouveau: Disable MSI on G84 devices.

Fails to switch modes with MSI, works without MSI, on T61p.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_base.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/dist/drm/nouveau/nvkm/core

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 12:40:21 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core:
nouveau_nvkm_core_ioctl.c

Log Message:
nouveau: fix a "can return -1 to userland" problem.

nvkm_ioctl_del() for some reason converts 0 into 1 return.  this
appears to be a way to avoid having a log printed by nvkm_ioctl()
and to trigger some dead code ("hack" is always NULL afaict.)
after consuming this value convert it back to 0 for ioctl return.

Author: phone 
Committer: Taylor R Campbell 


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_ioctl.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/nvkm/core/nouveau_nvkm_core_ioctl.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_ioctl.c:1.6 src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_ioctl.c:1.7
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_ioctl.c:1.6	Sun Dec 19 10:51:57 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_ioctl.c	Sun Dec 19 12:40:21 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nvkm_core_ioctl.c,v 1.6 2021/12/19 10:51:57 riastradh Exp $	*/
+/*	$NetBSD: nouveau_nvkm_core_ioctl.c,v 1.7 2021/12/19 12:40:21 riastradh Exp $	*/
 
 /*
  * Copyright 2014 Red Hat Inc.
@@ -24,7 +24,7 @@
  * Authors: Ben Skeggs 
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_core_ioctl.c,v 1.6 2021/12/19 10:51:57 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_core_ioctl.c,v 1.7 2021/12/19 12:40:21 riastradh Exp $");
 
 #include 
 #include 
@@ -487,6 +487,10 @@ nvkm_ioctl(struct nvkm_client *client, b
 			client->data = NULL;
 		}
 	}
+#ifdef __NetBSD__
+	else
+		ret = 0;
+#endif
 
 	return ret;
 }



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

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 12:40:21 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core:
nouveau_nvkm_core_ioctl.c

Log Message:
nouveau: fix a "can return -1 to userland" problem.

nvkm_ioctl_del() for some reason converts 0 into 1 return.  this
appears to be a way to avoid having a log printed by nvkm_ioctl()
and to trigger some dead code ("hack" is always NULL afaict.)
after consuming this value convert it back to 0 for ioctl return.

Author: phone 
Committer: Taylor R Campbell 


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_ioctl.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/dist/drm/nouveau/nvkm/subdev/pci

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci:
nouveau_nvkm_subdev_pci_base.c

Log Message:
nouveau: Remove post-merge audit comments -- LGTM.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_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/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_base.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_base.c:1.9 src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_base.c:1.10
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_base.c:1.9	Sun Dec 19 10:51:58 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_base.c	Sun Dec 19 12:31:26 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nvkm_subdev_pci_base.c,v 1.9 2021/12/19 10:51:58 riastradh Exp $	*/
+/*	$NetBSD: nouveau_nvkm_subdev_pci_base.c,v 1.10 2021/12/19 12:31:26 riastradh Exp $	*/
 
 /*
  * Copyright 2015 Red Hat Inc.
@@ -24,7 +24,7 @@
  * Authors: Ben Skeggs 
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_pci_base.c,v 1.9 2021/12/19 10:51:58 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_pci_base.c,v 1.10 2021/12/19 12:31:26 riastradh Exp $");
 
 #include "priv.h"
 #include "agp.h"
@@ -123,14 +123,13 @@ nvkm_pci_oneinit(struct nvkm_subdev *sub
 			return ret;
 	}
 
-#ifdef __NetBSD__ /* XXX post-merge audit */
+#ifdef __NetBSD__
 {
 	const char *const name = device_xname(pci_dev_dev(pdev));
 	const struct pci_attach_args *pa = &pdev->pd_pa;
 	const char *intrstr;
 	char intrbuf[PCI_INTRSTR_LEN];
 
-	/* XXX convert to use drm_pci_request_irq() */
 	if (pdev->msi_enabled) {
 		if (pdev->pd_intr_handles == NULL) {
 			if ((ret = pci_msi_alloc_exact(pa, &pci->pci_ihp,



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci:
nouveau_nvkm_subdev_pci_base.c

Log Message:
nouveau: Remove post-merge audit comments -- LGTM.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_base.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/dist/drm/nouveau/nvkm/subdev/instmem

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem:
nouveau_nvkm_subdev_instmem_nv40.c

Log Message:
nouveau: Map write-combining in instmem/nv40 like Linux does.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_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/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_nv40.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_nv40.c:1.10 src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_nv40.c:1.11
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_nv40.c:1.10	Sun Dec 19 10:51:58 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_nv40.c	Sun Dec 19 12:31:19 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nvkm_subdev_instmem_nv40.c,v 1.10 2021/12/19 10:51:58 riastradh Exp $	*/
+/*	$NetBSD: nouveau_nvkm_subdev_instmem_nv40.c,v 1.11 2021/12/19 12:31:19 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -24,7 +24,7 @@
  * Authors: Ben Skeggs
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_instmem_nv40.c,v 1.10 2021/12/19 10:51:58 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_instmem_nv40.c,v 1.11 2021/12/19 12:31:19 riastradh Exp $");
 
 #define nv40_instmem(p) container_of((p), struct nv40_instmem, base)
 #include "priv.h"
@@ -301,9 +301,8 @@ nv40_instmem_new(struct nvkm_device *dev
 	iomembase = device->func->resource_addr(device, bar);
 	iomemsz = device->func->resource_size(device, bar);
 	/* XXX errno NetBSD->Linux */
-	/* XXX post-merge: switch to WC */
 	ret = -bus_space_map(imem->iomemt, iomembase, iomemsz,
-	BUS_SPACE_MAP_LINEAR, &imem->iomemh);
+	BUS_SPACE_MAP_LINEAR|BUS_SPACE_MAP_PREFETCHABLE, &imem->iomemh);
 	if (ret) {
 		nvkm_error(&imem->base.subdev, "unable to map PRAMIN BAR %d"
 		": %d\n", bar, ret);



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem:
nouveau_nvkm_subdev_instmem_nv40.c

Log Message:
nouveau: Map write-combining in instmem/nv40 like Linux does.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_nv40.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/dist/drm/nouveau/nvif

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvif: nouveau_nvif_object.c

Log Message:
nouveau: Fix control flow in nvif_object_map.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nvif/nouveau_nvif_object.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/nvif/nouveau_nvif_object.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nvif/nouveau_nvif_object.c:1.7 src/sys/external/bsd/drm2/dist/drm/nouveau/nvif/nouveau_nvif_object.c:1.8
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nvif/nouveau_nvif_object.c:1.7	Sun Dec 19 11:06:03 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nvif/nouveau_nvif_object.c	Sun Dec 19 11:07:35 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nvif_object.c,v 1.7 2021/12/19 11:06:03 riastradh Exp $	*/
+/*	$NetBSD: nouveau_nvif_object.c,v 1.8 2021/12/19 11:07:35 riastradh Exp $	*/
 
 /*
  * Copyright 2014 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvif_object.c,v 1.7 2021/12/19 11:06:03 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvif_object.c,v 1.8 2021/12/19 11:07:35 riastradh Exp $");
 
 #include 
 #include 
@@ -269,11 +269,10 @@ nvif_object_map(struct nvif_object *obje
 			object->map.addr = handle;
 			ret = client->driver->map(client, tag, handle, length,
 			&object->map.handle, &object->map.ptr);
-			if (ret) {
-nvif_object_unmap(object);
-return -ENOMEM;
+			if (ret == 0) {
+object->map.size = length;
+return 0;
 			}
-			object->map.size = length;
 #else
 			object->map.ptr = client->driver->map(client,
 			  handle,



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

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvif: nouveau_nvif_object.c

Log Message:
nouveau: Fix control flow in nvif_object_map.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nvif/nouveau_nvif_object.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/dist/drm/nouveau/nvkm/core

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core:
nouveau_nvkm_core_object.c

Log Message:
nouveau: Maintain object->on_tree.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_object.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/nvkm/core/nouveau_nvkm_core_object.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_object.c:1.10 src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_object.c:1.11
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_object.c:1.10	Sun Dec 19 11:06:19 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_object.c	Sun Dec 19 11:07:11 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nvkm_core_object.c,v 1.10 2021/12/19 11:06:19 riastradh Exp $	*/
+/*	$NetBSD: nouveau_nvkm_core_object.c,v 1.11 2021/12/19 11:07:11 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -24,7 +24,7 @@
  * Authors: Ben Skeggs
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_core_object.c,v 1.10 2021/12/19 11:06:19 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_core_object.c,v 1.11 2021/12/19 11:07:11 riastradh Exp $");
 
 #include 
 #include 
@@ -69,8 +69,10 @@ void
 nvkm_object_remove(struct nvkm_object *object)
 {
 #ifdef __NetBSD__
-	if (object->on_tree)
+	if (object->on_tree) {
 		rb_tree_remove_node(&object->client->objtree, object);
+		object->on_tree = false;
+	}
 #else
 	if (!RB_EMPTY_NODE(&object->node))
 		rb_erase(&object->node, &object->client->objroot);
@@ -83,7 +85,12 @@ nvkm_object_insert(struct nvkm_object *o
 #ifdef __NetBSD__
 	struct nvkm_object *collision =
 	rb_tree_insert_node(&object->client->objtree, object);
-	return collision == object;
+
+	if (collision != object)
+		return false;	/* EEXIST */
+
+	object->on_tree = true;
+	return true;
 #else
 	struct rb_node **ptr = &object->client->objroot.rb_node;
 	struct rb_node *parent = NULL;



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

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core:
nouveau_nvkm_core_object.c

Log Message:
nouveau: Maintain object->on_tree.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_object.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/dist/drm/nouveau/nvkm/subdev/mmu

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu:
nouveau_nvkm_subdev_mmu_mem.c

Log Message:
nouveau: Also make sure to return the size.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.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/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c:1.6 src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c:1.7
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c:1.6	Sun Dec 19 11:06:36 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c	Sun Dec 19 11:06:44 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nvkm_subdev_mmu_mem.c,v 1.6 2021/12/19 11:06:36 riastradh Exp $	*/
+/*	$NetBSD: nouveau_nvkm_subdev_mmu_mem.c,v 1.7 2021/12/19 11:06:44 riastradh Exp $	*/
 
 /*
  * Copyright 2017 Red Hat Inc.
@@ -22,7 +22,7 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_mmu_mem.c,v 1.6 2021/12/19 11:06:36 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_mmu_mem.c,v 1.7 2021/12/19 11:06:44 riastradh Exp $");
 
 #define nvkm_mem(p) container_of((p), struct nvkm_mem, memory)
 #include "mem.h"
@@ -176,6 +176,7 @@ nvkm_mem_map_host(struct nvkm_memory *me
 			return ret;
 		}
 		*tagp = dmat;
+		*sizep = mem->pages << PAGE_SHIFT;
 		return 0;
 #else
 		*pmap = vmap(mem->mem, mem->pages, VM_MAP, PAGE_KERNEL);



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu:
nouveau_nvkm_subdev_mmu_mem.c

Log Message:
nouveau: Also make sure to return the size.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.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/dist/drm/nouveau/nvkm/subdev/mmu

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu:
nouveau_nvkm_subdev_mmu_mem.c

Log Message:
nouveau: Fix typo in previous.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.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/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c:1.5 src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c:1.6
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c:1.5	Sun Dec 19 11:06:28 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c	Sun Dec 19 11:06:36 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nvkm_subdev_mmu_mem.c,v 1.5 2021/12/19 11:06:28 riastradh Exp $	*/
+/*	$NetBSD: nouveau_nvkm_subdev_mmu_mem.c,v 1.6 2021/12/19 11:06:36 riastradh Exp $	*/
 
 /*
  * Copyright 2017 Red Hat Inc.
@@ -22,7 +22,7 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_mmu_mem.c,v 1.5 2021/12/19 11:06:28 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_mmu_mem.c,v 1.6 2021/12/19 11:06:36 riastradh Exp $");
 
 #define nvkm_mem(p) container_of((p), struct nvkm_mem, memory)
 #include "mem.h"
@@ -175,7 +175,7 @@ nvkm_mem_map_host(struct nvkm_memory *me
 			*pmap = NULL;
 			return ret;
 		}
-		*tagp = tag;
+		*tagp = dmat;
 		return 0;
 #else
 		*pmap = vmap(mem->mem, mem->pages, VM_MAP, PAGE_KERNEL);



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu:
nouveau_nvkm_subdev_mmu_mem.c

Log Message:
nouveau: Fix typo in previous.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.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/dist/drm/nouveau/nvkm/subdev/mmu

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu:
nouveau_nvkm_subdev_mmu_mem.c

Log Message:
nouveau: Make sure to return the bus dma tag.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.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/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c:1.4 src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c:1.5
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c:1.4	Sun Dec 19 11:06:12 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c	Sun Dec 19 11:06:28 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nvkm_subdev_mmu_mem.c,v 1.4 2021/12/19 11:06:12 riastradh Exp $	*/
+/*	$NetBSD: nouveau_nvkm_subdev_mmu_mem.c,v 1.5 2021/12/19 11:06:28 riastradh Exp $	*/
 
 /*
  * Copyright 2017 Red Hat Inc.
@@ -22,7 +22,7 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_mmu_mem.c,v 1.4 2021/12/19 11:06:12 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_mmu_mem.c,v 1.5 2021/12/19 11:06:28 riastradh Exp $");
 
 #define nvkm_mem(p) container_of((p), struct nvkm_mem, memory)
 #include "mem.h"
@@ -175,6 +175,7 @@ nvkm_mem_map_host(struct nvkm_memory *me
 			*pmap = NULL;
 			return ret;
 		}
+		*tagp = tag;
 		return 0;
 #else
 		*pmap = vmap(mem->mem, mem->pages, VM_MAP, PAGE_KERNEL);



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu:
nouveau_nvkm_subdev_mmu_mem.c

Log Message:
nouveau: Make sure to return the bus dma tag.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.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/dist/drm/nouveau/nvkm/core

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core:
nouveau_nvkm_core_object.c

Log Message:
nouveau: Fix sense of on_tree test before removal.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_object.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/nvkm/core/nouveau_nvkm_core_object.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_object.c:1.9 src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_object.c:1.10
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_object.c:1.9	Sun Dec 19 11:05:55 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_object.c	Sun Dec 19 11:06:19 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nvkm_core_object.c,v 1.9 2021/12/19 11:05:55 riastradh Exp $	*/
+/*	$NetBSD: nouveau_nvkm_core_object.c,v 1.10 2021/12/19 11:06:19 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -24,7 +24,7 @@
  * Authors: Ben Skeggs
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_core_object.c,v 1.9 2021/12/19 11:05:55 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_core_object.c,v 1.10 2021/12/19 11:06:19 riastradh Exp $");
 
 #include 
 #include 
@@ -69,7 +69,7 @@ void
 nvkm_object_remove(struct nvkm_object *object)
 {
 #ifdef __NetBSD__
-	if (!object->on_tree)
+	if (object->on_tree)
 		rb_tree_remove_node(&object->client->objtree, object);
 #else
 	if (!RB_EMPTY_NODE(&object->node))



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

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core:
nouveau_nvkm_core_object.c

Log Message:
nouveau: Fix sense of on_tree test before removal.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_object.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/dist/drm/nouveau/nvkm/subdev/mmu

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu:
nouveau_nvkm_subdev_mmu_mem.c

Log Message:
nouveau: Initialize mem->pages in nvkm_mem_new_host.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.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/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c:1.3 src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c:1.4
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c:1.3	Sun Dec 19 10:51:58 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.c	Sun Dec 19 11:06:12 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nvkm_subdev_mmu_mem.c,v 1.3 2021/12/19 10:51:58 riastradh Exp $	*/
+/*	$NetBSD: nouveau_nvkm_subdev_mmu_mem.c,v 1.4 2021/12/19 11:06:12 riastradh Exp $	*/
 
 /*
  * Copyright 2017 Red Hat Inc.
@@ -22,7 +22,7 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_mmu_mem.c,v 1.3 2021/12/19 10:51:58 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_subdev_mmu_mem.c,v 1.4 2021/12/19 11:06:12 riastradh Exp $");
 
 #define nvkm_mem(p) container_of((p), struct nvkm_mem, memory)
 #include "mem.h"
@@ -280,6 +280,7 @@ fail2: __unused
 		KASSERT(mem->dmamap->dm_segs[i].ds_len <= PAGE_SIZE);
 		mem->dma[i] = mem->dmamap->dm_segs[i].ds_addr;
 	}
+	mem->pages = size;
 #else
 	if (!(mem->mem = kvmalloc_array(size, sizeof(*mem->mem), GFP_KERNEL)))
 		return -ENOMEM;



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu:
nouveau_nvkm_subdev_mmu_mem.c

Log Message:
nouveau: Initialize mem->pages in nvkm_mem_new_host.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_mem.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/dist/drm/nouveau/nvif

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvif: nouveau_nvif_object.c

Log Message:
nouveau: Initialize object->map.tag/addr/size before use.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nvif/nouveau_nvif_object.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/dist/drm/nouveau/nvif

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvif: nouveau_nvif_object.c

Log Message:
nouveau: Initialize object->map.tag/addr/size before use.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nvif/nouveau_nvif_object.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/nvif/nouveau_nvif_object.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nvif/nouveau_nvif_object.c:1.6 src/sys/external/bsd/drm2/dist/drm/nouveau/nvif/nouveau_nvif_object.c:1.7
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nvif/nouveau_nvif_object.c:1.6	Sun Dec 19 10:51:57 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nvif/nouveau_nvif_object.c	Sun Dec 19 11:06:03 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nvif_object.c,v 1.6 2021/12/19 10:51:57 riastradh Exp $	*/
+/*	$NetBSD: nouveau_nvif_object.c,v 1.7 2021/12/19 11:06:03 riastradh Exp $	*/
 
 /*
  * Copyright 2014 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvif_object.c,v 1.6 2021/12/19 10:51:57 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvif_object.c,v 1.7 2021/12/19 11:06:03 riastradh Exp $");
 
 #include 
 #include 
@@ -259,13 +259,21 @@ nvif_object_map(struct nvif_object *obje
 	if (ret >= 0) {
 		if (ret) {
 #ifdef __NetBSD__
-			ret = client->driver->map(client, tag, handle,
-			object->map.size,
+			/*
+			 * Note: handle is the bus address;
+			 * object->map.handle is the
+			 * bus_space_handle_t, which is typically a
+			 * virtual address mapped in kva.
+			 */
+			object->map.tag = tag;
+			object->map.addr = handle;
+			ret = client->driver->map(client, tag, handle, length,
 			&object->map.handle, &object->map.ptr);
 			if (ret) {
 nvif_object_unmap(object);
 return -ENOMEM;
 			}
+			object->map.size = length;
 #else
 			object->map.ptr = client->driver->map(client,
 			  handle,



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

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core:
nouveau_nvkm_core_object.c

Log Message:
nouveau: Fix #endif NetBSD so we return ENOENT here.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_object.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/nvkm/core/nouveau_nvkm_core_object.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_object.c:1.8 src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_object.c:1.9
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_object.c:1.8	Sun Dec 19 10:51:57 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_object.c	Sun Dec 19 11:05:55 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nvkm_core_object.c,v 1.8 2021/12/19 10:51:57 riastradh Exp $	*/
+/*	$NetBSD: nouveau_nvkm_core_object.c,v 1.9 2021/12/19 11:05:55 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -24,7 +24,7 @@
  * Authors: Ben Skeggs
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_core_object.c,v 1.8 2021/12/19 10:51:57 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_core_object.c,v 1.9 2021/12/19 11:05:55 riastradh Exp $");
 
 #include 
 #include 
@@ -53,8 +53,8 @@ nvkm_object_search(struct nvkm_client *c
 			else
 goto done;
 		}
-		return ERR_PTR(-ENOENT);
 #endif
+		return ERR_PTR(-ENOENT);
 	} else {
 		object = &client->object;
 	}



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

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core:
nouveau_nvkm_core_object.c

Log Message:
nouveau: Fix #endif NetBSD so we return ENOENT here.


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_object.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/dist/drm/nouveau/nvkm/engine/device

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

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

Log Message:
Match Linux's criterion for byte-swapping on big-endian CPUs.

(forward-ported from r1.10 on HEAD)


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/device/nouveau_nvkm_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/nvkm/engine/device/nouveau_nvkm_engine_device_base.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/device/nouveau_nvkm_engine_device_base.c:1.11 src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/device/nouveau_nvkm_engine_device_base.c:1.12
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/device/nouveau_nvkm_engine_device_base.c:1.11	Sat Dec 18 23:45:34 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/device/nouveau_nvkm_engine_device_base.c	Sun Dec 19 10:50:22 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nvkm_engine_device_base.c,v 1.11 2021/12/18 23:45:34 riastradh Exp $	*/
+/*	$NetBSD: nouveau_nvkm_engine_device_base.c,v 1.12 2021/12/19 10:50:22 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -24,7 +24,7 @@
  * Authors: Ben Skeggs
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_engine_device_base.c,v 1.11 2021/12/18 23:45:34 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_engine_device_base.c,v 1.12 2021/12/19 10:50:22 riastradh Exp $");
 
 #include "priv.h"
 #include "acpi.h"
@@ -3016,7 +3016,7 @@ nvkm_device_ctor(const struct nvkm_devic
 #ifndef __BIG_ENDIAN
 		if (bus_space_read_stream_4(mmiot, mmioh, 4) != 0)
 #else
-		if (bus_space_read_stream_4(mmiot, mmioh, 4) != 1)
+		if (bus_space_read_stream_4(mmiot, mmioh, 4) == 0)
 #endif
 		{
 			bus_space_write_stream_4(mmiot, mmioh, 4, 0x0101);



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

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

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

Log Message:
Match Linux's criterion for byte-swapping on big-endian CPUs.

(forward-ported from r1.10 on HEAD)


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

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/device/nouveau_nvkm_engine_device_base.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/dist/drm/nouveau

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau: nouveau_drm.c nouveau_drv.h
nouveau_gem.c nouveau_led.h

Log Message:
Various tweaks to get nouveau_drm.c and nouveau_gem.c building.


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drm.c
cvs rdiff -u -r1.2 -r1.3 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drv.h \
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_led.h
cvs rdiff -u -r1.12 -r1.13 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.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_drm.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drm.c:1.20 src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drm.c:1.21
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drm.c:1.20	Sat Dec 18 23:45:32 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drm.c	Sun Dec 19 10:50:13 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_drm.c,v 1.20 2021/12/18 23:45:32 riastradh Exp $	*/
+/*	$NetBSD: nouveau_drm.c,v 1.21 2021/12/19 10:50:13 riastradh Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_drm.c,v 1.20 2021/12/18 23:45:32 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_drm.c,v 1.21 2021/12/19 10:50:13 riastradh Exp $");
 
 #include 
 #include 
@@ -515,7 +515,7 @@ nouveau_accel_init(struct nouveau_drm *d
 	nouveau_bo_move_init(drm);
 }
 
-static int
+int
 nouveau_drm_device_init(struct drm_device *dev)
 {
 	struct nouveau_drm *drm;
@@ -555,7 +555,7 @@ nouveau_drm_device_init(struct drm_devic
 {
 	/* XXX Kludge to make register subregion mapping work.  */
 	struct nvkm_client *client = nvxx_client(&drm->client.base);
-	struct nvkm_device *device = nvxx_device(&drm->device);
+	struct nvkm_device *device = nvxx_device(&drm->client.device);
 	client->mmiot = device->mmiot;
 	client->mmioh = device->mmioh;
 	client->mmioaddr = device->mmioaddr;
@@ -618,7 +618,7 @@ fail_alloc:
 	return ret;
 }
 
-static void
+void
 nouveau_drm_device_fini(struct drm_device *dev)
 {
 	struct nouveau_drm *drm = nouveau_drm(dev);
@@ -909,8 +909,8 @@ nouveau_pmops_resume(struct device *dev)
 #ifndef __NetBSD__
 	struct pci_dev *pdev = to_pci_dev(dev);
 	struct drm_device *drm_dev = pci_get_drvdata(pdev);
-	int ret;
 #endif
+	int ret;
 
 	if (drm_dev->switch_power_state == DRM_SWITCH_POWER_OFF ||
 	drm_dev->switch_power_state == DRM_SWITCH_POWER_DYNAMIC_OFF)

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drv.h
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drv.h:1.2 src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drv.h:1.3
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drv.h:1.2	Sat Dec 18 23:45:32 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drv.h	Sun Dec 19 10:50:13 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_drv.h,v 1.2 2021/12/18 23:45:32 riastradh Exp $	*/
+/*	$NetBSD: nouveau_drv.h,v 1.3 2021/12/19 10:50:13 riastradh Exp $	*/
 
 /* SPDX-License-Identifier: MIT */
 #ifndef __NOUVEAU_DRV_H__
@@ -242,6 +242,8 @@ nouveau_drm_use_coherent_gpu_mapping(str
 }
 
 #ifdef __NetBSD__
+int nouveau_drm_device_init(struct drm_device *);
+void nouveau_drm_device_fini(struct drm_device *);
 int nouveau_pmops_suspend(struct drm_device *);
 int nouveau_pmops_resume(struct drm_device *);
 #else
Index: src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_led.h
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_led.h:1.2 src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_led.h:1.3
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_led.h:1.2	Sat Dec 18 23:45:32 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_led.h	Sun Dec 19 10:50:13 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_led.h,v 1.2 2021/12/18 23:45:32 riastradh Exp $	*/
+/*	$NetBSD: nouveau_led.h,v 1.3 2021/12/19 10:50:13 riastradh Exp $	*/
 
 /*
  * Copyright 2015 Martin Peres
@@ -34,7 +34,9 @@ struct led_classdev;
 struct nouveau_led {
 	struct drm_device *dev;
 
+#if IS_REACHABLE(CONFIG_LEDS_CLASS)
 	struct led_classdev led;
+#endif
 };
 
 static inline struct nouveau_led *

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.c:1.12 src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.c:1.13
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.c:1.12	Sat Dec 18 23:45:32 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.c	Sun Dec 19 10:50:13 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_gem.c,v 1.12 2021/12/18 23:45:32 riastradh Exp $	*/
+/*	$NetBSD: nouveau_gem.c,v 1.13 2021/12/19 10:50:13 riastradh Exp $	*/
 
 /*
  * Copyright (C) 2008 Ben Skeggs.
@@ -27,7 +27,9 @@
  */
 
 #inclu

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

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau: nouveau_drm.c nouveau_drv.h
nouveau_gem.c nouveau_led.h

Log Message:
Various tweaks to get nouveau_drm.c and nouveau_gem.c building.


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drm.c
cvs rdiff -u -r1.2 -r1.3 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drv.h \
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_led.h
cvs rdiff -u -r1.12 -r1.13 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.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/dist/drm/nouveau/dispnv50

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50: atom.h disp.h
lut.h nouveau_dispnv50_disp.c nouveau_dispnv50_head507d.c
nouveau_dispnv50_head907d.c nouveau_dispnv50_headc57d.c
nouveau_dispnv50_lut.c nouveau_dispnv50_wndwc57e.c

Log Message:
Hack up dispnv50 __iomem.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/atom.h \
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/disp.h \
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/lut.h \

src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_head907d.c 
\
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_lut.c \

src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_wndwc57e.c
cvs rdiff -u -r1.4 -r1.5 \
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_disp.c
cvs rdiff -u -r1.3 -r1.4 \

src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_head507d.c 
\

src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_headc57d.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/dispnv50/atom.h
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/atom.h:1.2 src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/atom.h:1.3
--- src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/atom.h:1.2	Sat Dec 18 23:45:32 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/atom.h	Sun Dec 19 10:49:47 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: atom.h,v 1.2 2021/12/18 23:45:32 riastradh Exp $	*/
+/*	$NetBSD: atom.h,v 1.3 2021/12/19 10:49:47 riastradh Exp $	*/
 
 #ifndef __NV50_KMS_ATOM_H__
 #define __NV50_KMS_ATOM_H__
@@ -15,6 +15,11 @@ struct nv50_atom {
 
 #define nv50_head_atom(p) container_of((p), struct nv50_head_atom, state)
 
+#ifdef __NetBSD__
+#  define	__lut_iomem	volatile
+#  define	__iomem		__lut_iomem
+#endif
+
 struct nv50_head_atom {
 	struct drm_crtc_state state;
 
@@ -245,4 +250,9 @@ struct nv50_wndw_atom {
 		u8 mask;
 	} set, clr;
 };
+
+#ifdef __NetBSD__
+#  undef	__iomem
+#endif
+
 #endif
Index: src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/disp.h
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/disp.h:1.2 src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/disp.h:1.3
--- src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/disp.h:1.2	Sat Dec 18 23:45:32 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/disp.h	Sun Dec 19 10:49:47 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: disp.h,v 1.2 2021/12/18 23:45:32 riastradh Exp $	*/
+/*	$NetBSD: disp.h,v 1.3 2021/12/19 10:49:47 riastradh Exp $	*/
 
 #ifndef __NV50_KMS_H__
 #define __NV50_KMS_H__
@@ -50,8 +50,17 @@ struct nv50_disp_interlock {
 
 void corec37d_ntfy_init(struct nouveau_bo *, u32);
 
+#ifdef __NetBSD__
+#  define	__lut_iomem	volatile
+#  define	__iomem		__lut_iomem
+#endif
+
 void head907d_olut_load(struct drm_color_lut *, int size, void __iomem *);
 
+#ifdef __NetBSD__
+#  undef	__iomem
+#endif
+
 struct nv50_chan {
 	struct nvif_object user;
 	struct nvif_device *device;
Index: src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/lut.h
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/lut.h:1.2 src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/lut.h:1.3
--- src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/lut.h:1.2	Sat Dec 18 23:45:32 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/lut.h	Sun Dec 19 10:49:47 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: lut.h,v 1.2 2021/12/18 23:45:32 riastradh Exp $	*/
+/*	$NetBSD: lut.h,v 1.3 2021/12/19 10:49:47 riastradh Exp $	*/
 
 #ifndef __NV50_KMS_LUT_H__
 #define __NV50_KMS_LUT_H__
@@ -13,6 +13,13 @@ struct nv50_lut {
 
 int nv50_lut_init(struct nv50_disp *, struct nvif_mmu *, struct nv50_lut *);
 void nv50_lut_fini(struct nv50_lut *);
+#ifdef __NetBSD__
+#  define	__lut_iomem	volatile
+#  define	__iomem		__lut_iomem
+#endif
 u32 nv50_lut_load(struct nv50_lut *, int buffer, struct drm_property_blob *,
 		  void (*)(struct drm_color_lut *, int size, void __iomem *));
+#ifdef __NetBSD__
+#  undef	__iomem
+#endif
 #endif
Index: src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_head907d.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_head907d.c:1.2 src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_head907d.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_head907d.c:1.2	Sat Dec 18 23:45:32 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_head907d.c	Sun Dec 19 10:49:47 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_dispnv50_head907d.c,v 1.2 2021/12/18 23:45:32 riastradh Exp $	*/
+/*	$NetBSD: nouveau_dispnv50_head907d.c,v 1.3 2021/12/19

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

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50: atom.h disp.h
lut.h nouveau_dispnv50_disp.c nouveau_dispnv50_head507d.c
nouveau_dispnv50_head907d.c nouveau_dispnv50_headc57d.c
nouveau_dispnv50_lut.c nouveau_dispnv50_wndwc57e.c

Log Message:
Hack up dispnv50 __iomem.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/atom.h \
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/disp.h \
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/lut.h \

src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_head907d.c 
\
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_lut.c \

src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_wndwc57e.c
cvs rdiff -u -r1.4 -r1.5 \
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_disp.c
cvs rdiff -u -r1.3 -r1.4 \

src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_head507d.c 
\

src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_headc57d.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/dist/drm/nouveau/dispnv50

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 10:49:38 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50:
nouveau_dispnv50_disp.c nouveau_dispnv50_head507d.c
nouveau_dispnv50_headc57d.c

Log Message:
Fix declarations and mark __unused.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_disp.c
cvs rdiff -u -r1.2 -r1.3 \

src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_head507d.c 
\

src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_headc57d.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/dispnv50/nouveau_dispnv50_disp.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_disp.c:1.3 src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_disp.c:1.4
--- src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_disp.c:1.3	Sun Dec 19 10:49:29 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_disp.c	Sun Dec 19 10:49:38 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_dispnv50_disp.c,v 1.3 2021/12/19 10:49:29 riastradh Exp $	*/
+/*	$NetBSD: nouveau_dispnv50_disp.c,v 1.4 2021/12/19 10:49:38 riastradh Exp $	*/
 
 /*
  * Copyright 2011 Red Hat Inc.
@@ -24,7 +24,7 @@
  * Authors: Ben Skeggs
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv50_disp.c,v 1.3 2021/12/19 10:49:29 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv50_disp.c,v 1.4 2021/12/19 10:49:38 riastradh Exp $");
 
 #include "disp.h"
 #include "atom.h"
@@ -58,9 +58,12 @@ __KERNEL_RCSID(0, "$NetBSD: nouveau_disp
 #include "nouveau_encoder.h"
 #include "nouveau_fence.h"
 #include "nouveau_fbcon.h"
+#include "nv50_display.h"
 
 #include 
 
+#include 
+
 /**
  * Atomic state
  */
@@ -1234,7 +1237,7 @@ nv50_mstm_cleanup(struct nv50_mstm *mstm
 {
 	struct nouveau_drm *drm = nouveau_drm(mstm->outp->base.base.dev);
 	struct drm_encoder *encoder;
-	int ret;
+	int ret __unused;
 
 	NV_ATOMIC(drm, "%s: mstm cleanup\n", mstm->outp->base.base.name);
 	ret = drm_dp_check_act_status(&mstm->mgr);
@@ -1258,7 +1261,7 @@ nv50_mstm_prepare(struct nv50_mstm *mstm
 {
 	struct nouveau_drm *drm = nouveau_drm(mstm->outp->base.base.dev);
 	struct drm_encoder *encoder;
-	int ret;
+	int ret __unused;
 
 	NV_ATOMIC(drm, "%s: mstm prepare\n", mstm->outp->base.base.name);
 	ret = drm_dp_update_payload_part1(&mstm->mgr);

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_head507d.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_head507d.c:1.2 src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_head507d.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_head507d.c:1.2	Sat Dec 18 23:45:32 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_head507d.c	Sun Dec 19 10:49:38 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_dispnv50_head507d.c,v 1.2 2021/12/18 23:45:32 riastradh Exp $	*/
+/*	$NetBSD: nouveau_dispnv50_head507d.c,v 1.3 2021/12/19 10:49:38 riastradh Exp $	*/
 
 /*
  * Copyright 2018 Red Hat Inc.
@@ -22,11 +22,13 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv50_head507d.c,v 1.2 2021/12/18 23:45:32 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv50_head507d.c,v 1.3 2021/12/19 10:49:38 riastradh Exp $");
 
 #include "head.h"
 #include "core.h"
 
+#include 
+
 void
 head507d_procamp(struct nv50_head *head, struct nv50_head_atom *asyh)
 {
Index: src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_headc57d.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_headc57d.c:1.2 src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_headc57d.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_headc57d.c:1.2	Sat Dec 18 23:45:32 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_headc57d.c	Sun Dec 19 10:49:38 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_dispnv50_headc57d.c,v 1.2 2021/12/18 23:45:32 riastradh Exp $	*/
+/*	$NetBSD: nouveau_dispnv50_headc57d.c,v 1.3 2021/12/19 10:49:38 riastradh Exp $	*/
 
 /*
  * Copyright 2018 Red Hat Inc.
@@ -22,7 +22,7 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv50_headc57d.c,v 1.2 2021/12/18 23:45:32 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv50_headc57d.c,v 1.3 2021/12/19 10:49:38 riastradh Exp $");
 
 #include "head.h"
 #include "atom.h"
@@ -74,7 +74,7 @@ headc57d_procamp(struct nv50_head *head,
 	}
 }
 
-vo

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

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 10:49:38 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50:
nouveau_dispnv50_disp.c nouveau_dispnv50_head507d.c
nouveau_dispnv50_headc57d.c

Log Message:
Fix declarations and mark __unused.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_disp.c
cvs rdiff -u -r1.2 -r1.3 \

src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_head507d.c 
\

src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_headc57d.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/dist/drm/nouveau/dispnv50

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 10:49:29 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50:
nouveau_dispnv50_disp.c

Log Message:
Ifdef out audio component stuff.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_disp.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/dispnv50/nouveau_dispnv50_disp.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_disp.c:1.2 src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_disp.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_disp.c:1.2	Sat Dec 18 23:45:32 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_disp.c	Sun Dec 19 10:49:29 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_dispnv50_disp.c,v 1.2 2021/12/18 23:45:32 riastradh Exp $	*/
+/*	$NetBSD: nouveau_dispnv50_disp.c,v 1.3 2021/12/19 10:49:29 riastradh Exp $	*/
 
 /*
  * Copyright 2011 Red Hat Inc.
@@ -24,7 +24,7 @@
  * Authors: Ben Skeggs
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv50_disp.c,v 1.2 2021/12/18 23:45:32 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv50_disp.c,v 1.3 2021/12/19 10:49:29 riastradh Exp $");
 
 #include "disp.h"
 #include "atom.h"
@@ -496,11 +496,15 @@ nv50_dac_create(struct drm_connector *co
 static void
 nv50_audio_component_eld_notify(struct drm_audio_component *acomp, int port)
 {
+#ifndef __NetBSD__		/* XXX nouveau audio component */
 	if (acomp && acomp->audio_ops && acomp->audio_ops->pin_eld_notify)
 		acomp->audio_ops->pin_eld_notify(acomp->audio_ops->audio_ptr,
 		 port, -1);
+#endif
 }
 
+#ifndef __NetBSD__		/* XXX nouveau audio component */
+
 static int
 nv50_audio_component_get_eld(struct device *kdev, int port, int pipe,
 			 bool *enabled, unsigned char *buf, int max_bytes)
@@ -574,20 +578,26 @@ static const struct component_ops nv50_a
 	.unbind = nv50_audio_component_unbind,
 };
 
+#endif
+
 static void
 nv50_audio_component_init(struct nouveau_drm *drm)
 {
+#ifndef __NetBSD__		/* XXX nouveau audio component */
 	if (!component_add(drm->dev->dev, &nv50_audio_component_bind_ops))
 		drm->audio.component_registered = true;
+#endif
 }
 
 static void
 nv50_audio_component_fini(struct nouveau_drm *drm)
 {
+#ifndef __NetBSD__		/* XXX nouveau audio component */
 	if (drm->audio.component_registered) {
 		component_del(drm->dev->dev, &nv50_audio_component_bind_ops);
 		drm->audio.component_registered = false;
 	}
+#endif
 }
 
 /**



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

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 10:49:29 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50:
nouveau_dispnv50_disp.c

Log Message:
Ifdef out audio component stuff.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_disp.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/dist/drm/nouveau

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 10:49:22 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau: nouveau_connector.c
nouveau_connector.h

Log Message:
Work around const in container_of. Ifdef out vga switcheroo.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_connector.c
cvs rdiff -u -r1.3 -r1.4 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_connector.h

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_connector.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_connector.c:1.6 src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_connector.c:1.7
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_connector.c:1.6	Sat Dec 18 23:45:32 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_connector.c	Sun Dec 19 10:49:21 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_connector.c,v 1.6 2021/12/18 23:45:32 riastradh Exp $	*/
+/*	$NetBSD: nouveau_connector.c,v 1.7 2021/12/19 10:49:21 riastradh Exp $	*/
 
 /*
  * Copyright (C) 2008 Maarten Maathuis.
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_connector.c,v 1.6 2021/12/18 23:45:32 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_connector.c,v 1.7 2021/12/19 10:49:21 riastradh Exp $");
 
 #include 
 
@@ -104,7 +104,7 @@ nouveau_conn_atomic_get_property(struct 
  const struct drm_connector_state *state,
  struct drm_property *property, u64 *val)
 {
-	struct nouveau_conn_atom *asyc = nouveau_conn_atom(state);
+	const struct nouveau_conn_atom *asyc = nouveau_conn_atom_const(state);
 	struct nouveau_display *disp = nouveau_display(connector->dev);
 	struct drm_device *dev = connector->dev;
 
@@ -424,7 +424,7 @@ nouveau_connector_destroy(struct drm_con
 	if (nv_connector->aux.transfer) {
 		drm_dp_cec_unregister_connector(&nv_connector->aux);
 		drm_dp_aux_unregister(&nv_connector->aux);
-		kfree(nv_connector->aux.name);
+		kfree(__UNCONST(nv_connector->aux.name));
 	}
 	kfree(connector);
 }
@@ -458,12 +458,19 @@ nouveau_connector_ddc_detect(struct drm_
 			if (!nv_encoder->i2c)
 break;
 
+#ifdef __NetBSD__
+			__USE(switcheroo_ddc);
+			__USE(dev);
+#else
 			if (switcheroo_ddc)
 vga_switcheroo_lock_ddc(dev->pdev);
+#endif
 			if (nvkm_probe_i2c(nv_encoder->i2c, 0x50))
 found = nv_encoder;
+#ifndef __NetBSD__
 			if (switcheroo_ddc)
 vga_switcheroo_unlock_ddc(dev->pdev);
+#endif
 
 			break;
 		}

Index: src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_connector.h
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_connector.h:1.3 src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_connector.h:1.4
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_connector.h:1.3	Sat Dec 18 23:45:32 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_connector.h	Sun Dec 19 10:49:21 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_connector.h,v 1.3 2021/12/18 23:45:32 riastradh Exp $	*/
+/*	$NetBSD: nouveau_connector.h,v 1.4 2021/12/19 10:49:21 riastradh Exp $	*/
 
 /*
  * Copyright (C) 2008 Maarten Maathuis.
@@ -49,6 +49,8 @@ struct nouveau_backlight;
 
 #define nouveau_conn_atom(p)   \
 	container_of((p), struct nouveau_conn_atom, state)
+#define nouveau_conn_atom_const(p) \
+	const_container_of((p), struct nouveau_conn_atom, state)
 
 struct nouveau_conn_atom {
 	struct drm_connector_state state;



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

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 10:49:22 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau: nouveau_connector.c
nouveau_connector.h

Log Message:
Work around const in container_of. Ifdef out vga switcheroo.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_connector.c
cvs rdiff -u -r1.3 -r1.4 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_connector.h

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/dist/drm/nouveau

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 10:49:13 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau: nouveau_fence.c

Log Message:
Work around unclear side loading.


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fence.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_fence.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fence.c:1.16 src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fence.c:1.17
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fence.c:1.16	Sat Dec 18 23:45:32 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fence.c	Sun Dec 19 10:49:13 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_fence.c,v 1.16 2021/12/18 23:45:32 riastradh Exp $	*/
+/*	$NetBSD: nouveau_fence.c,v 1.17 2021/12/19 10:49:13 riastradh Exp $	*/
 
 /*
  * Copyright (C) 2007 Ben Skeggs.
@@ -27,11 +27,13 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_fence.c,v 1.16 2021/12/18 23:45:32 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_fence.c,v 1.17 2021/12/19 10:49:13 riastradh Exp $");
 
+#include 
 #include 
 #include 
 #include 
+#include 
 #include 
 
 #include 



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

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 10:49:13 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau: nouveau_fence.c

Log Message:
Work around unclear side loading.


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fence.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/dist/drm/nouveau

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 10:48:54 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau: nv50_display.h

Log Message:
Delete obsolete declarations that are getting in the way.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nv50_display.h

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/nv50_display.h
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nv50_display.h:1.3 src/sys/external/bsd/drm2/dist/drm/nouveau/nv50_display.h:1.4
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nv50_display.h:1.3	Sat Dec 18 23:45:32 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nv50_display.h	Sun Dec 19 10:48:54 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nv50_display.h,v 1.3 2021/12/18 23:45:32 riastradh Exp $	*/
+/*	$NetBSD: nv50_display.h,v 1.4 2021/12/19 10:48:54 riastradh Exp $	*/
 
 /*
  * Copyright (C) 2008 Maarten Maathuis.
@@ -33,7 +33,4 @@
 #include "nouveau_reg.h"
 
 int  nv50_display_create(struct drm_device *);
-void nv50_display_destroy(struct drm_device *);
-int  nv50_display_init(struct drm_device *);
-void nv50_display_fini(struct drm_device *);
 #endif /* __NV50_DISPLAY_H__ */



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

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 10:48:54 UTC 2021

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau: nv50_display.h

Log Message:
Delete obsolete declarations that are getting in the way.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nv50_display.h

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/dist/drm/nouveau

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau: nouveau_bo.c

Log Message:
Fix up nouveau_bo.c


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_bo.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/dist/drm/nouveau

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

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau: nouveau_bo.c

Log Message:
Fix up nouveau_bo.c


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_bo.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_bo.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_bo.c:1.17 src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_bo.c:1.18
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_bo.c:1.17	Sun Dec 19 01:53:39 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_bo.c	Sun Dec 19 10:47:46 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_bo.c,v 1.17 2021/12/19 01:53:39 riastradh Exp $	*/
+/*	$NetBSD: nouveau_bo.c,v 1.18 2021/12/19 10:47:46 riastradh Exp $	*/
 
 /*
  * Copyright 2007 Dave Airlied
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_bo.c,v 1.17 2021/12/19 01:53:39 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_bo.c,v 1.18 2021/12/19 10:47:46 riastradh Exp $");
 
 #include 
 #include 
@@ -207,7 +207,7 @@ nouveau_bo_alloc(struct nouveau_cli *cli
 	int i, pi = -1;
 
 	if (!*size) {
-		NV_WARN(drm, "skipped size %016llx\n", *size);
+		NV_WARN(drm, "skipped size %016"PRIx64"\n", *size);
 		return ERR_PTR(-EINVAL);
 	}
 
@@ -557,7 +557,7 @@ nouveau_bo_sync_for_device(struct nouvea
 		return;
 
 #ifdef __NetBSD__
-	bus_dma_tag_t dmat = device->func->dma_tag(device);
+	bus_dma_tag_t dmat = drm->dev->dmat;
 	bus_dmamap_sync(dmat, ttm_dma->dma_address, 0,
 	PAGE_SIZE*ttm_dma->ttm.num_pages,
 	BUS_DMASYNC_PREREAD|BUS_DMASYNC_PREWRITE);
@@ -586,7 +586,7 @@ nouveau_bo_sync_for_cpu(struct nouveau_b
 		return;
 
 #ifdef __NetBSD__
-	bus_dma_tag_t dmat = device->func->dma_tag(device);
+	bus_dma_tag_t dmat = drm->dev->dmat;
 	bus_dmamap_sync(dmat, ttm_dma->dma_address, 0,
 	PAGE_SIZE*ttm_dma->ttm.num_pages,
 	BUS_DMASYNC_POSTREAD|BUS_DMASYNC_POSTWRITE);
@@ -1516,10 +1516,14 @@ out:
 static int
 nouveau_bo_verify_access(struct ttm_buffer_object *bo, struct file *filp)
 {
+#ifdef __NetBSD__
+	struct drm_file *file = filp->f_data;
+#else
+	struct drm_file *file = filp->private_data;
+#endif
 	struct nouveau_bo *nvbo = nouveau_bo(bo);
 
-	return drm_vma_node_verify_access(&nvbo->bo.base.vma_node,
-	  filp->private_data);
+	return drm_vma_node_verify_access(&nvbo->bo.base.vma_node, file);
 }
 
 static int
@@ -1705,13 +1709,14 @@ nouveau_ttm_tt_populate(struct ttm_tt *t
 	}
 #endif
 
-#if IS_ENABLED(CONFIG_SWIOTLB) && IS_ENABLED(CONFIG_X86)
-	if (swiotlb_nr_tbl()) {
 #ifdef __NetBSD__
-		return ttm_bus_dma_populate(ttm_dma);
+	__USE(i);
+	__USE(dev);
+	return ttm_bus_dma_populate(ttm_dma);
 #else
+#if IS_ENABLED(CONFIG_SWIOTLB) && IS_ENABLED(CONFIG_X86)
+	if (swiotlb_nr_tbl()) {
 		return ttm_dma_populate((void *)ttm, dev, ctx);
-#endif
 	}
 #endif
 
@@ -1739,6 +1744,7 @@ nouveau_ttm_tt_populate(struct ttm_tt *t
 		ttm_dma->dma_address[i] = addr;
 	}
 	return 0;
+#endif
 }
 
 static void
@@ -1763,16 +1769,17 @@ nouveau_ttm_tt_unpopulate(struct ttm_tt 
 	}
 #endif
 
-#if IS_ENABLED(CONFIG_SWIOTLB) && IS_ENABLED(CONFIG_X86)
-	if (swiotlb_nr_tbl()) {
 #ifdef __NetBSD__
-		ttm_bus_dma_unpopulate(ttm_dma);
+	__USE(i);
+	__USE(dev);
+	ttm_bus_dma_unpopulate(ttm_dma);
 #else
+#if IS_ENABLED(CONFIG_SWIOTLB) && IS_ENABLED(CONFIG_X86)
+	if (swiotlb_nr_tbl()) {
 		ttm_dma_unpopulate((void *)ttm, dev);
 #endif
 		return;
 	}
-#endif
 
 	for (i = 0; i < ttm->num_pages; i++) {
 		if (ttm_dma->dma_address[i]) {
@@ -1782,6 +1789,7 @@ nouveau_ttm_tt_unpopulate(struct ttm_tt 
 	}
 
 	ttm_pool_unpopulate(ttm);
+#endif
 }
 
 #ifdef __NetBSD__



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

2020-02-13 Thread Jaromír Doleček
The static variable was in #ifdef __NetBSD__ part, so I assumed it
doesn't influence the merge.

Christos already reverted the fallthrough warning fix.

Jaromir

Le jeu. 13 févr. 2020 à 09:18, matthew green  a écrit :
>
> "Jaromir Dolecek" writes:
> > Module Name:  src
> > Committed By: jdolecek
> > Date: Wed Feb 12 20:31:46 UTC 2020
> >
> > Modified Files:
> >   src/sys/external/bsd/drm2/dist/drm/nouveau: nouveau_fbcon.c
> >
> > Log Message:
> > remove superfluous static variable used only to zero attach args
>
> is this necessary for 3rd party code?
>
> please try to avoid changing these for cosmetic reasons.
>
> same for warned code that is forced to warning not error.
> the reason we/i didn't change them is to avoid making
> future drm updates harder -- they're already *really* hard.
>
> thanks.
>
>
> .mrg.


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

2020-02-13 Thread matthew green
"Jaromir Dolecek" writes:
> Module Name:  src
> Committed By: jdolecek
> Date: Wed Feb 12 20:31:46 UTC 2020
> 
> Modified Files:
>   src/sys/external/bsd/drm2/dist/drm/nouveau: nouveau_fbcon.c
> 
> Log Message:
> remove superfluous static variable used only to zero attach args

is this necessary for 3rd party code?

please try to avoid changing these for cosmetic reasons.

same for warned code that is forced to warning not error.
the reason we/i didn't change them is to avoid making
future drm updates harder -- they're already *really* hard.

thanks.


.mrg.


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

2015-10-13 Thread Christos Zoulas
In article <20151014001256.2650...@cvs.netbsd.org>,
matthew green  wrote:
> #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;

Shouldn't there be a pci_dma_get() or something macro for that?

christos