summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/nouveau_compat.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_compat.c')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_compat.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_compat.c b/drivers/gpu/drm/nouveau/nouveau_compat.c
new file mode 100644
index 000000000000..f9f86df2bddd
--- /dev/null
+++ b/drivers/gpu/drm/nouveau/nouveau_compat.c
@@ -0,0 +1,40 @@
+#include "nouveau_drm.h"
+#include "nouveau_compat.h"
+
+void *nouveau_newpriv(struct drm_device *);
+
+u8
+_nv_rd08(struct drm_device *dev, u32 reg)
+{
+ struct nouveau_drm *drm = nouveau_newpriv(dev);
+ return nv_ro08(drm->device, reg);
+}
+
+void
+_nv_wr08(struct drm_device *dev, u32 reg, u8 val)
+{
+ struct nouveau_drm *drm = nouveau_newpriv(dev);
+ nv_wo08(drm->device, reg, val);
+}
+
+u32
+_nv_rd32(struct drm_device *dev, u32 reg)
+{
+ struct nouveau_drm *drm = nouveau_newpriv(dev);
+ return nv_ro32(drm->device, reg);
+}
+
+void
+_nv_wr32(struct drm_device *dev, u32 reg, u32 val)
+{
+ struct nouveau_drm *drm = nouveau_newpriv(dev);
+ nv_wo32(drm->device, reg, val);
+}
+
+u32
+_nv_mask(struct drm_device *dev, u32 reg, u32 mask, u32 val)
+{
+ u32 tmp = _nv_rd32(dev, reg);
+ _nv_wr32(dev, reg, (tmp & ~mask) | val);
+ return tmp;
+}