drm/nouveau: pass address to object accessor functions as u64
authorBen Skeggs <bskeggs@redhat.com>
Sat, 17 Nov 2012 11:51:30 +0000 (21:51 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Wed, 28 Nov 2012 23:56:37 +0000 (09:56 +1000)
Will be required by future work.  Make the API change now to catch any
(but hopefully none) unexpected fallout.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 files changed:
drivers/gpu/drm/nouveau/core/core/gpuobj.c
drivers/gpu/drm/nouveau/core/engine/fifo/base.c
drivers/gpu/drm/nouveau/core/include/core/gpuobj.h
drivers/gpu/drm/nouveau/core/include/core/object.h
drivers/gpu/drm/nouveau/core/include/engine/fifo.h
drivers/gpu/drm/nouveau/core/subdev/bar/base.c
drivers/gpu/drm/nouveau/core/subdev/bios/base.c
drivers/gpu/drm/nouveau/core/subdev/device/base.c
drivers/gpu/drm/nouveau/core/subdev/instmem/nv04.c
drivers/gpu/drm/nouveau/core/subdev/instmem/nv40.c
drivers/gpu/drm/nouveau/core/subdev/instmem/nv50.c
drivers/gpu/drm/nouveau/nv50_evo.c

index 70586fde69cf48018fd9786ccccacd4eef0900d4..560b2214cf1cc6fefed5d21dd5e0ded550df7666 100644 (file)
@@ -183,7 +183,7 @@ _nouveau_gpuobj_fini(struct nouveau_object *object, bool suspend)
 }
 
 u32
-_nouveau_gpuobj_rd32(struct nouveau_object *object, u32 addr)
+_nouveau_gpuobj_rd32(struct nouveau_object *object, u64 addr)
 {
        struct nouveau_gpuobj *gpuobj = nv_gpuobj(object);
        struct nouveau_ofuncs *pfuncs = nv_ofuncs(gpuobj->parent);
@@ -193,7 +193,7 @@ _nouveau_gpuobj_rd32(struct nouveau_object *object, u32 addr)
 }
 
 void
-_nouveau_gpuobj_wr32(struct nouveau_object *object, u32 addr, u32 data)
+_nouveau_gpuobj_wr32(struct nouveau_object *object, u64 addr, u32 data)
 {
        struct nouveau_gpuobj *gpuobj = nv_gpuobj(object);
        struct nouveau_ofuncs *pfuncs = nv_ofuncs(gpuobj->parent);
index bbb43c67c2ae2ce083f300761aff808b250b8209..0d45e845a8f8bddd4b973d129ed57f67d01e05cf 100644 (file)
@@ -119,14 +119,14 @@ _nouveau_fifo_channel_dtor(struct nouveau_object *object)
 }
 
 u32
-_nouveau_fifo_channel_rd32(struct nouveau_object *object, u32 addr)
+_nouveau_fifo_channel_rd32(struct nouveau_object *object, u64 addr)
 {
        struct nouveau_fifo_chan *chan = (void *)object;
        return ioread32_native(chan->user + addr);
 }
 
 void
-_nouveau_fifo_channel_wr32(struct nouveau_object *object, u32 addr, u32 data)
+_nouveau_fifo_channel_wr32(struct nouveau_object *object, u64 addr, u32 data)
 {
        struct nouveau_fifo_chan *chan = (void *)object;
        iowrite32_native(data, chan->user + addr);
index 6eaff79377ae2481e561fdb2e166cc62c30457b3..b3b9ce4e9d3873a903e2448f7217da9b513771ad 100644 (file)
@@ -65,7 +65,7 @@ nouveau_gpuobj_ref(struct nouveau_gpuobj *obj, struct nouveau_gpuobj **ref)
 void _nouveau_gpuobj_dtor(struct nouveau_object *);
 int  _nouveau_gpuobj_init(struct nouveau_object *);
 int  _nouveau_gpuobj_fini(struct nouveau_object *, bool);
-u32  _nouveau_gpuobj_rd32(struct nouveau_object *, u32);
-void _nouveau_gpuobj_wr32(struct nouveau_object *, u32, u32);
+u32  _nouveau_gpuobj_rd32(struct nouveau_object *, u64);
+void _nouveau_gpuobj_wr32(struct nouveau_object *, u64, u32);
 
 #endif
index 818feabbf4a0969f090f897852fe4476a422b1b6..48834a9c0f00bc072b14ba163c4ed5b3fd616589 100644 (file)
@@ -81,12 +81,12 @@ struct nouveau_ofuncs {
        void (*dtor)(struct nouveau_object *);
        int  (*init)(struct nouveau_object *);
        int  (*fini)(struct nouveau_object *, bool suspend);
-       u8   (*rd08)(struct nouveau_object *, u32 offset);
-       u16  (*rd16)(struct nouveau_object *, u32 offset);
-       u32  (*rd32)(struct nouveau_object *, u32 offset);
-       void (*wr08)(struct nouveau_object *, u32 offset, u8 data);
-       void (*wr16)(struct nouveau_object *, u32 offset, u16 data);
-       void (*wr32)(struct nouveau_object *, u32 offset, u32 data);
+       u8   (*rd08)(struct nouveau_object *, u64 offset);
+       u16  (*rd16)(struct nouveau_object *, u64 offset);
+       u32  (*rd32)(struct nouveau_object *, u64 offset);
+       void (*wr08)(struct nouveau_object *, u64 offset, u8 data);
+       void (*wr16)(struct nouveau_object *, u64 offset, u16 data);
+       void (*wr32)(struct nouveau_object *, u64 offset, u32 data);
 };
 
 static inline struct nouveau_ofuncs *
@@ -123,7 +123,7 @@ nv_call(void *obj, u32 mthd, u32 data)
 }
 
 static inline u8
-nv_ro08(void *obj, u32 addr)
+nv_ro08(void *obj, u64 addr)
 {
        u8 data = nv_ofuncs(obj)->rd08(obj, addr);
        nv_spam(obj, "nv_ro08 0x%08x 0x%02x\n", addr, data);
@@ -131,7 +131,7 @@ nv_ro08(void *obj, u32 addr)
 }
 
 static inline u16
-nv_ro16(void *obj, u32 addr)
+nv_ro16(void *obj, u64 addr)
 {
        u16 data = nv_ofuncs(obj)->rd16(obj, addr);
        nv_spam(obj, "nv_ro16 0x%08x 0x%04x\n", addr, data);
@@ -139,7 +139,7 @@ nv_ro16(void *obj, u32 addr)
 }
 
 static inline u32
-nv_ro32(void *obj, u32 addr)
+nv_ro32(void *obj, u64 addr)
 {
        u32 data = nv_ofuncs(obj)->rd32(obj, addr);
        nv_spam(obj, "nv_ro32 0x%08x 0x%08x\n", addr, data);
@@ -147,28 +147,28 @@ nv_ro32(void *obj, u32 addr)
 }
 
 static inline void
-nv_wo08(void *obj, u32 addr, u8 data)
+nv_wo08(void *obj, u64 addr, u8 data)
 {
        nv_spam(obj, "nv_wo08 0x%08x 0x%02x\n", addr, data);
        nv_ofuncs(obj)->wr08(obj, addr, data);
 }
 
 static inline void
-nv_wo16(void *obj, u32 addr, u16 data)
+nv_wo16(void *obj, u64 addr, u16 data)
 {
        nv_spam(obj, "nv_wo16 0x%08x 0x%04x\n", addr, data);
        nv_ofuncs(obj)->wr16(obj, addr, data);
 }
 
 static inline void
-nv_wo32(void *obj, u32 addr, u32 data)
+nv_wo32(void *obj, u64 addr, u32 data)
 {
        nv_spam(obj, "nv_wo32 0x%08x 0x%08x\n", addr, data);
        nv_ofuncs(obj)->wr32(obj, addr, data);
 }
 
 static inline u32
-nv_mo32(void *obj, u32 addr, u32 mask, u32 data)
+nv_mo32(void *obj, u64 addr, u32 mask, u32 data)
 {
        u32 temp = nv_ro32(obj, addr);
        nv_wo32(obj, addr, (temp & ~mask) | data);
index d67fed1e39702e572b61e8c0bdb0658e0fe1ca4f..039bd19c363863682a9519b98a43c17ee665a212 100644 (file)
@@ -40,8 +40,8 @@ void nouveau_fifo_channel_destroy(struct nouveau_fifo_chan *);
 #define _nouveau_fifo_channel_fini _nouveau_namedb_fini
 
 void _nouveau_fifo_channel_dtor(struct nouveau_object *);
-u32  _nouveau_fifo_channel_rd32(struct nouveau_object *, u32);
-void _nouveau_fifo_channel_wr32(struct nouveau_object *, u32, u32);
+u32  _nouveau_fifo_channel_rd32(struct nouveau_object *, u64);
+void _nouveau_fifo_channel_wr32(struct nouveau_object *, u64, u32);
 
 struct nouveau_fifo_base {
        struct nouveau_gpuobj base;
index cd01c533007a2d1fa839bc346d4bc7feb3053060..d70ba342aa2e8f46c5de87c406b223d39ed98194 100644 (file)
@@ -65,14 +65,14 @@ nouveau_barobj_dtor(struct nouveau_object *object)
 }
 
 static u32
-nouveau_barobj_rd32(struct nouveau_object *object, u32 addr)
+nouveau_barobj_rd32(struct nouveau_object *object, u64 addr)
 {
        struct nouveau_barobj *barobj = (void *)object;
        return ioread32_native(barobj->iomem + addr);
 }
 
 static void
-nouveau_barobj_wr32(struct nouveau_object *object, u32 addr, u32 data)
+nouveau_barobj_wr32(struct nouveau_object *object, u64 addr, u32 data)
 {
        struct nouveau_barobj *barobj = (void *)object;
        iowrite32_native(data, barobj->iomem + addr);
index 8963e366e89b014031452abd8149d5d28c559818..dd111947eb8654a022bae8b65f787075c0d318ad 100644 (file)
@@ -366,42 +366,42 @@ nouveau_bios_shadow(struct nouveau_bios *bios)
 }
 
 static u8
-nouveau_bios_rd08(struct nouveau_object *object, u32 addr)
+nouveau_bios_rd08(struct nouveau_object *object, u64 addr)
 {
        struct nouveau_bios *bios = (void *)object;
        return bios->data[addr];
 }
 
 static u16
-nouveau_bios_rd16(struct nouveau_object *object, u32 addr)
+nouveau_bios_rd16(struct nouveau_object *object, u64 addr)
 {
        struct nouveau_bios *bios = (void *)object;
        return get_unaligned_le16(&bios->data[addr]);
 }
 
 static u32
-nouveau_bios_rd32(struct nouveau_object *object, u32 addr)
+nouveau_bios_rd32(struct nouveau_object *object, u64 addr)
 {
        struct nouveau_bios *bios = (void *)object;
        return get_unaligned_le32(&bios->data[addr]);
 }
 
 static void
-nouveau_bios_wr08(struct nouveau_object *object, u32 addr, u8 data)
+nouveau_bios_wr08(struct nouveau_object *object, u64 addr, u8 data)
 {
        struct nouveau_bios *bios = (void *)object;
        bios->data[addr] = data;
 }
 
 static void
-nouveau_bios_wr16(struct nouveau_object *object, u32 addr, u16 data)
+nouveau_bios_wr16(struct nouveau_object *object, u64 addr, u16 data)
 {
        struct nouveau_bios *bios = (void *)object;
        put_unaligned_le16(data, &bios->data[addr]);
 }
 
 static void
-nouveau_bios_wr32(struct nouveau_object *object, u32 addr, u32 data)
+nouveau_bios_wr32(struct nouveau_object *object, u64 addr, u32 data)
 {
        struct nouveau_bios *bios = (void *)object;
        put_unaligned_le32(data, &bios->data[addr]);
index 9baef4656a54acef22704b270071689b365a5cd1..3a07020bf087c4e6905dff12926fc12c2188612e 100644 (file)
@@ -356,37 +356,37 @@ fail:
 }
 
 static u8
-nouveau_devobj_rd08(struct nouveau_object *object, u32 addr)
+nouveau_devobj_rd08(struct nouveau_object *object, u64 addr)
 {
        return nv_rd08(object->engine, addr);
 }
 
 static u16
-nouveau_devobj_rd16(struct nouveau_object *object, u32 addr)
+nouveau_devobj_rd16(struct nouveau_object *object, u64 addr)
 {
        return nv_rd16(object->engine, addr);
 }
 
 static u32
-nouveau_devobj_rd32(struct nouveau_object *object, u32 addr)
+nouveau_devobj_rd32(struct nouveau_object *object, u64 addr)
 {
        return nv_rd32(object->engine, addr);
 }
 
 static void
-nouveau_devobj_wr08(struct nouveau_object *object, u32 addr, u8 data)
+nouveau_devobj_wr08(struct nouveau_object *object, u64 addr, u8 data)
 {
        nv_wr08(object->engine, addr, data);
 }
 
 static void
-nouveau_devobj_wr16(struct nouveau_object *object, u32 addr, u16 data)
+nouveau_devobj_wr16(struct nouveau_object *object, u64 addr, u16 data)
 {
        nv_wr16(object->engine, addr, data);
 }
 
 static void
-nouveau_devobj_wr32(struct nouveau_object *object, u32 addr, u32 data)
+nouveau_devobj_wr32(struct nouveau_object *object, u64 addr, u32 data)
 {
        nv_wr32(object->engine, addr, data);
 }
index ba4d28b50368acf8a4b13f0793bd799de4e36d6d..f5bbd3834116de53043e8fb65c1ae4590bb6f333 100644 (file)
@@ -63,14 +63,14 @@ nv04_instobj_dtor(struct nouveau_object *object)
 }
 
 static u32
-nv04_instobj_rd32(struct nouveau_object *object, u32 addr)
+nv04_instobj_rd32(struct nouveau_object *object, u64 addr)
 {
        struct nv04_instobj_priv *node = (void *)object;
        return nv_ro32(object->engine, node->mem->offset + addr);
 }
 
 static void
-nv04_instobj_wr32(struct nouveau_object *object, u32 addr, u32 data)
+nv04_instobj_wr32(struct nouveau_object *object, u64 addr, u32 data)
 {
        struct nv04_instobj_priv *node = (void *)object;
        nv_wo32(object->engine, node->mem->offset + addr, data);
@@ -173,13 +173,13 @@ nv04_instmem_dtor(struct nouveau_object *object)
 }
 
 static u32
-nv04_instmem_rd32(struct nouveau_object *object, u32 addr)
+nv04_instmem_rd32(struct nouveau_object *object, u64 addr)
 {
        return nv_rd32(object, 0x700000 + addr);
 }
 
 static void
-nv04_instmem_wr32(struct nouveau_object *object, u32 addr, u32 data)
+nv04_instmem_wr32(struct nouveau_object *object, u64 addr, u32 data)
 {
        return nv_wr32(object, 0x700000 + addr, data);
 }
index 73c52ebd5932074f9c4b05367788a261400326a0..da64253201ef3dee20635c67e96f37d0480a2ad1 100644 (file)
@@ -111,14 +111,14 @@ nv40_instmem_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
 }
 
 static u32
-nv40_instmem_rd32(struct nouveau_object *object, u32 addr)
+nv40_instmem_rd32(struct nouveau_object *object, u64 addr)
 {
        struct nv04_instmem_priv *priv = (void *)object;
        return ioread32_native(priv->iomem + addr);
 }
 
 static void
-nv40_instmem_wr32(struct nouveau_object *object, u32 addr, u32 data)
+nv40_instmem_wr32(struct nouveau_object *object, u64 addr, u32 data)
 {
        struct nv04_instmem_priv *priv = (void *)object;
        iowrite32_native(data, priv->iomem + addr);
index 27ef0891d10b7c0e83d2f1b03d56953f83649b7a..cfc7e31461de0ea84e003355d4599d5bdb9ea7c9 100644 (file)
@@ -76,7 +76,7 @@ nv50_instobj_dtor(struct nouveau_object *object)
 }
 
 static u32
-nv50_instobj_rd32(struct nouveau_object *object, u32 offset)
+nv50_instobj_rd32(struct nouveau_object *object, u64 offset)
 {
        struct nv50_instmem_priv *priv = (void *)object->engine;
        struct nv50_instobj_priv *node = (void *)object;
@@ -96,7 +96,7 @@ nv50_instobj_rd32(struct nouveau_object *object, u32 offset)
 }
 
 static void
-nv50_instobj_wr32(struct nouveau_object *object, u32 offset, u32 data)
+nv50_instobj_wr32(struct nouveau_object *object, u64 offset, u32 data)
 {
        struct nv50_instmem_priv *priv = (void *)object->engine;
        struct nv50_instobj_priv *node = (void *)object;
index 9f6f55cdfa77745e6c3afb1b8bbc26c1f952b65d..48d08d86531852fae1baa12c73888b32f605ef36 100644 (file)
 #include <subdev/fb.h>
 
 static u32
-nv50_evo_rd32(struct nouveau_object *object, u32 addr)
+nv50_evo_rd32(struct nouveau_object *object, u64 addr)
 {
        void __iomem *iomem = object->oclass->ofuncs->rd08;
        return ioread32_native(iomem + addr);
 }
 
 static void
-nv50_evo_wr32(struct nouveau_object *object, u32 addr, u32 data)
+nv50_evo_wr32(struct nouveau_object *object, u64 addr, u32 data)
 {
        void __iomem *iomem = object->oclass->ofuncs->rd08;
        iowrite32_native(data, iomem + addr);