Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/fifo Writ...



details:   https://anonhg.NetBSD.org/src/rev/2a63c7bb8bff
branches:  trunk
changeset: 848248:2a63c7bb8bff
user:      jmcneill <jmcneill%NetBSD.org@localhost>
date:      Wed Jan 22 11:38:54 2020 +0000

description:
Write pbdma timeout regs during initialisation on GK208B, GK208, and GM107.

Based on the following upstream commit:
https://github.com/torvalds/linux/commit/79bb4b617f965736d2e1c616235302c1d0e823b2

diffstat:

 sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/fifo/nouveau_nvkm_engine_fifo_gk104.c |  18 ++++++++-
 1 files changed, 16 insertions(+), 2 deletions(-)

diffs (39 lines):

diff -r 35203b869a91 -r 2a63c7bb8bff sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/fifo/nouveau_nvkm_engine_fifo_gk104.c
--- a/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/fifo/nouveau_nvkm_engine_fifo_gk104.c  Wed Jan 22 10:52:35 2020 +0000
+++ b/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/fifo/nouveau_nvkm_engine_fifo_gk104.c  Wed Jan 22 11:38:54 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: nouveau_nvkm_engine_fifo_gk104.c,v 1.3 2018/08/27 07:40:11 riastradh Exp $     */
+/*     $NetBSD: nouveau_nvkm_engine_fifo_gk104.c,v 1.4 2020/01/22 11:38:54 jmcneill Exp $      */
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -24,7 +24,7 @@
  * Authors: Ben Skeggs
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_engine_fifo_gk104.c,v 1.3 2018/08/27 07:40:11 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_engine_fifo_gk104.c,v 1.4 2020/01/22 11:38:54 jmcneill Exp $");
 
 #include "gk104.h"
 #include "changk104.h"
@@ -752,6 +752,20 @@
 
        nvkm_wr32(device, 0x002254, 0x10000000 | fifo->user.bar.offset >> 12);
 
+       /* XXX NetBSD
+        * write pbdma timeout regs during initialization
+        * backport of:
+        * https://github.com/torvalds/linux/commit/79bb4b617f965736d2e1c616235302c1d0e823b2
+        */
+       switch (device->chipset) {
+       case 0x106:     /* GK208B */
+       case 0x108:     /* GK208 */
+       case 0x117:     /* GM107 */
+               for (i = 0; i < fifo->spoon_nr; i++)
+                       nvkm_wr32(device, 0x04012c + (i * 0x2000), 0x0000ffff);
+               break;
+       }
+
        nvkm_wr32(device, 0x002100, 0xffffffff);
        nvkm_wr32(device, 0x002140, 0x7fffffff);
 }



Home | Main Index | Thread Index | Old Index