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 10:49:47 riastradh Exp $	*/
 
 /*
  * Copyright 2018 Red Hat Inc.
@@ -22,7 +22,7 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv50_head907d.c,v 1.2 2021/12/18 23:45:32 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv50_head907d.c,v 1.3 2021/12/19 10:49:47 riastradh Exp $");
 
 #include "head.h"
 #include "core.h"
@@ -218,6 +218,12 @@ head907d_olut_set(struct nv50_head *head
 	}
 }
 
+#ifdef __NetBSD__
+#define	__iomem		__lut_iomem
+#define	readw(p)	atomic_load_relaxed((const __iomem uint16_t *)(p))
+#define	writew(v,p)	atomic_store_relaxed((__iomem uint16_t *)(p), (v))
+#endif
+
 void
 head907d_olut_load(struct drm_color_lut *in, int size, void __iomem *mem)
 {
Index: src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_lut.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_lut.c:1.2 src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_lut.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_lut.c:1.2	Sat Dec 18 23:45:32 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_lut.c	Sun Dec 19 10:49:47 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_dispnv50_lut.c,v 1.2 2021/12/18 23:45:32 riastradh Exp $	*/
+/*	$NetBSD: nouveau_dispnv50_lut.c,v 1.3 2021/12/19 10:49:47 riastradh Exp $	*/
 
 /*
  * Copyright 2018 Red Hat Inc.
@@ -22,7 +22,7 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv50_lut.c,v 1.2 2021/12/18 23:45:32 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv50_lut.c,v 1.3 2021/12/19 10:49:47 riastradh Exp $");
 
 #include "lut.h"
 #include "disp.h"
@@ -33,6 +33,12 @@ __KERNEL_RCSID(0, "$NetBSD: nouveau_disp
 
 #include <nvif/class.h>
 
+#ifdef __NetBSD__
+#define	__iomem		__lut_iomem
+#define	readw(p)	atomic_load_relaxed((const __iomem uint16_t *)(p))
+#define	writew(v,p)	atomic_store_relaxed((__iomem uint16_t *)(p), (v))
+#endif
+
 u32
 nv50_lut_load(struct nv50_lut *lut, int buffer, struct drm_property_blob *blob,
 	      void (*load)(struct drm_color_lut *, int, void __iomem *))
Index: src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_wndwc57e.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_wndwc57e.c:1.2 src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_wndwc57e.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_wndwc57e.c:1.2	Sat Dec 18 23:45:32 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_wndwc57e.c	Sun Dec 19 10:49:47 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_dispnv50_wndwc57e.c,v 1.2 2021/12/18 23:45:32 riastradh Exp $	*/
+/*	$NetBSD: nouveau_dispnv50_wndwc57e.c,v 1.3 2021/12/19 10:49:47 riastradh Exp $	*/
 
 /*
  * Copyright 2018 Red Hat Inc.
@@ -22,7 +22,7 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv50_wndwc57e.c,v 1.2 2021/12/18 23:45:32 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv50_wndwc57e.c,v 1.3 2021/12/19 10:49:47 riastradh Exp $");
 
 #include "wndw.h"
 #include "atom.h"
@@ -138,6 +138,12 @@ fixedU0_16_FP16(u16 fixed)
         return (sign << 15) | (exp << 10) | man;
 }
 
+#ifdef __NetBSD__
+#define	__iomem		__lut_iomem
+#define	readw(p)	atomic_load_relaxed((const __iomem uint16_t *)(p))
+#define	writew(v,p)	atomic_store_relaxed((__iomem uint16_t *)(p), (v))
+#endif
+
 static void
 wndwc57e_ilut_load(struct drm_color_lut *in, int size, void __iomem *mem)
 {

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.4 src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_disp.c:1.5
--- src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_disp.c:1.4	Sun Dec 19 10:49:38 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_disp.c	Sun Dec 19 10:49:47 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_dispnv50_disp.c,v 1.4 2021/12/19 10:49:38 riastradh Exp $	*/
+/*	$NetBSD: nouveau_dispnv50_disp.c,v 1.5 2021/12/19 10:49:47 riastradh Exp $	*/
 
 /*
  * Copyright 2011 Red Hat Inc.
@@ -24,7 +24,7 @@
  * Authors: Ben Skeggs
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv50_disp.c,v 1.4 2021/12/19 10:49:38 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv50_disp.c,v 1.5 2021/12/19 10:49:47 riastradh Exp $");
 
 #include "disp.h"
 #include "atom.h"
@@ -175,7 +175,7 @@ nv50_dmac_create(struct nvif_device *dev
 	if (ret)
 		return ret;
 
-	dmac->ptr = dmac->push.object.map.ptr;
+	dmac->ptr = __UNVOLATILE(dmac->push.object.map.ptr);
 
 	args->pushbuf = nvif_handle(&dmac->push.object);
 

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.3 src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_head507d.c:1.4
--- src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_head507d.c:1.3	Sun Dec 19 10:49:38 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_head507d.c	Sun Dec 19 10:49:47 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_dispnv50_head507d.c,v 1.3 2021/12/19 10:49:38 riastradh Exp $	*/
+/*	$NetBSD: nouveau_dispnv50_head507d.c,v 1.4 2021/12/19 10:49:47 riastradh Exp $	*/
 
 /*
  * Copyright 2018 Red Hat Inc.
@@ -22,7 +22,7 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv50_head507d.c,v 1.3 2021/12/19 10:49:38 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv50_head507d.c,v 1.4 2021/12/19 10:49:47 riastradh Exp $");
 
 #include "head.h"
 #include "core.h"
@@ -261,6 +261,12 @@ head507d_olut_set(struct nv50_head *head
 	}
 }
 
+#ifdef __NetBSD__
+#define	__iomem		__lut_iomem
+#define	readw(p)	atomic_load_relaxed((const __iomem uint16_t *)(p))
+#define	writew(v,p)	atomic_store_relaxed((__iomem uint16_t *)(p), (v))
+#endif
+
 static void
 head507d_olut_load(struct drm_color_lut *in, int size, void __iomem *mem)
 {
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.3 src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_headc57d.c:1.4
--- src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_headc57d.c:1.3	Sun Dec 19 10:49:38 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/nouveau_dispnv50_headc57d.c	Sun Dec 19 10:49:47 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_dispnv50_headc57d.c,v 1.3 2021/12/19 10:49:38 riastradh Exp $	*/
+/*	$NetBSD: nouveau_dispnv50_headc57d.c,v 1.4 2021/12/19 10:49:47 riastradh Exp $	*/
 
 /*
  * Copyright 2018 Red Hat Inc.
@@ -22,7 +22,7 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv50_headc57d.c,v 1.3 2021/12/19 10:49:38 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv50_headc57d.c,v 1.4 2021/12/19 10:49:47 riastradh Exp $");
 
 #include "head.h"
 #include "atom.h"
@@ -103,6 +103,12 @@ headc57d_olut_set(struct nv50_head *head
 	}
 }
 
+#ifdef __NetBSD__
+#define	__iomem		__lut_iomem
+#define	readw(p)	atomic_load_relaxed((const __iomem uint16_t *)(p))
+#define	writew(v,p)	atomic_store_relaxed((__iomem uint16_t *)(p), (v))
+#endif
+
 static void
 headc57d_olut_load_8(struct drm_color_lut *in, int size, void __iomem *mem)
 {

Reply via email to