From 6052dc5775ac0be49db3e25d2719c72a250189a2 Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Thu, 20 Aug 2015 14:54:07 +1000 Subject: drm/nouveau/volt: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs --- drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h') diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h index e3d7243fbb1d..1eeb80a380d2 100644 --- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h +++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h @@ -8,7 +8,7 @@ struct nvkm_voltage { }; struct nvkm_volt { - struct nvkm_subdev base; + struct nvkm_subdev subdev; int (*vid_get)(struct nvkm_volt *); int (*get)(struct nvkm_volt *); -- cgit v1.2.3-70-g09d2 From 3a8c3400f3e74638bedd0d2410416aa8b794c0fd Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Thu, 20 Aug 2015 14:54:16 +1000 Subject: drm/nouveau/subdev: rename some functions to avoid upcoming conflicts Signed-off-by: Ben Skeggs --- drivers/gpu/drm/nouveau/include/nvkm/core/engine.h | 4 ++-- drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h | 4 ++-- drivers/gpu/drm/nouveau/include/nvkm/subdev/bus.h | 4 ++-- drivers/gpu/drm/nouveau/include/nvkm/subdev/ibus.h | 4 ++-- drivers/gpu/drm/nouveau/include/nvkm/subdev/mmu.h | 4 ++-- drivers/gpu/drm/nouveau/include/nvkm/subdev/mxm.h | 4 ++-- drivers/gpu/drm/nouveau/include/nvkm/subdev/timer.h | 4 ++-- drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h | 2 +- drivers/gpu/drm/nouveau/nvkm/core/subdev.c | 10 ++++++---- drivers/gpu/drm/nouveau/nvkm/subdev/bar/priv.h | 4 ++-- drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.c | 4 ++-- drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c | 4 ++-- drivers/gpu/drm/nouveau/nvkm/subdev/devinit/base.c | 4 ++-- drivers/gpu/drm/nouveau/nvkm/subdev/fb/base.c | 4 ++-- drivers/gpu/drm/nouveau/nvkm/subdev/fuse/base.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/gpio/base.c | 4 ++-- drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c | 4 ++-- drivers/gpu/drm/nouveau/nvkm/subdev/instmem/base.c | 4 ++-- drivers/gpu/drm/nouveau/nvkm/subdev/ltc/base.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/mc/base.c | 4 ++-- drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.c | 4 ++-- drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk20a.c | 4 ++-- drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c | 4 ++-- drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c | 2 +- 24 files changed, 48 insertions(+), 46 deletions(-) (limited to 'drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h') diff --git a/drivers/gpu/drm/nouveau/include/nvkm/core/engine.h b/drivers/gpu/drm/nouveau/include/nvkm/core/engine.h index 0b5f05aec2df..3212b12a70ed 100644 --- a/drivers/gpu/drm/nouveau/include/nvkm/core/engine.h +++ b/drivers/gpu/drm/nouveau/include/nvkm/core/engine.h @@ -41,9 +41,9 @@ struct nvkm_engine *nvkm_engine(void *obj, int idx); #define nvkm_engine_destroy(p) \ nvkm_subdev_destroy(&(p)->subdev) #define nvkm_engine_init(p) \ - nvkm_subdev_init(&(p)->subdev) + nvkm_subdev_init_old(&(p)->subdev) #define nvkm_engine_fini(p,s) \ - nvkm_subdev_fini(&(p)->subdev, (s)) + nvkm_subdev_fini_old(&(p)->subdev, (s)) int nvkm_engine_create_(struct nvkm_object *, struct nvkm_object *, struct nvkm_oclass *, bool, const char *, diff --git a/drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h b/drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h index ce5f1b93ef9a..d3e08bf8d977 100644 --- a/drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h +++ b/drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h @@ -44,8 +44,8 @@ int nvkm_subdev_create_(struct nvkm_object *, struct nvkm_object *, const char *sname, const char *fname, int size, void **); void nvkm_subdev_destroy(struct nvkm_subdev *); -int nvkm_subdev_init(struct nvkm_subdev *); -int nvkm_subdev_fini(struct nvkm_subdev *, bool suspend); +int nvkm_subdev_init_old(struct nvkm_subdev *); +int nvkm_subdev_fini_old(struct nvkm_subdev *, bool suspend); void nvkm_subdev_reset(struct nvkm_object *); void _nvkm_subdev_dtor(struct nvkm_object *); diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/bus.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bus.h index ce7663c60015..5cf58a15bf41 100644 --- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/bus.h +++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bus.h @@ -25,9 +25,9 @@ nvkm_bus(void *obj) #define nvkm_bus_destroy(p) \ nvkm_subdev_destroy(&(p)->subdev) #define nvkm_bus_init(p) \ - nvkm_subdev_init(&(p)->subdev) + nvkm_subdev_init_old(&(p)->subdev) #define nvkm_bus_fini(p, s) \ - nvkm_subdev_fini(&(p)->subdev, (s)) + nvkm_subdev_fini_old(&(p)->subdev, (s)) #define _nvkm_bus_dtor _nvkm_subdev_dtor #define _nvkm_bus_init _nvkm_subdev_init diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/ibus.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/ibus.h index 3538e87a4452..8fc7946b8a42 100644 --- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/ibus.h +++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/ibus.h @@ -18,9 +18,9 @@ nvkm_ibus(void *obj) #define nvkm_ibus_destroy(p) \ nvkm_subdev_destroy(&(p)->subdev) #define nvkm_ibus_init(p) \ - nvkm_subdev_init(&(p)->subdev) + nvkm_subdev_init_old(&(p)->subdev) #define nvkm_ibus_fini(p,s) \ - nvkm_subdev_fini(&(p)->subdev, (s)) + nvkm_subdev_fini_old(&(p)->subdev, (s)) #define _nvkm_ibus_dtor _nvkm_subdev_dtor #define _nvkm_ibus_init _nvkm_subdev_init diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/mmu.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/mmu.h index b596a1dd5b81..2bf8f46c1bb0 100644 --- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/mmu.h +++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/mmu.h @@ -71,9 +71,9 @@ nvkm_mmu(void *obj) #define nvkm_mmu_destroy(p) \ nvkm_subdev_destroy(&(p)->subdev) #define nvkm_mmu_init(p) \ - nvkm_subdev_init(&(p)->subdev) + nvkm_subdev_init_old(&(p)->subdev) #define nvkm_mmu_fini(p,s) \ - nvkm_subdev_fini(&(p)->subdev, (s)) + nvkm_subdev_fini_old(&(p)->subdev, (s)) #define _nvkm_mmu_dtor _nvkm_subdev_dtor #define _nvkm_mmu_init _nvkm_subdev_init diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/mxm.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/mxm.h index 98904392547d..93f9a4ec2320 100644 --- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/mxm.h +++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/mxm.h @@ -19,9 +19,9 @@ nvkm_mxm(void *obj) #define nvkm_mxm_create(p,e,o,d) \ nvkm_mxm_create_((p), (e), (o), sizeof(**d), (void **)d) #define nvkm_mxm_init(p) \ - nvkm_subdev_init(&(p)->subdev) + nvkm_subdev_init_old(&(p)->subdev) #define nvkm_mxm_fini(p,s) \ - nvkm_subdev_fini(&(p)->subdev, (s)) + nvkm_subdev_fini_old(&(p)->subdev, (s)) int nvkm_mxm_create_(struct nvkm_object *, struct nvkm_object *, struct nvkm_oclass *, int, void **); void nvkm_mxm_destroy(struct nvkm_mxm *); diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/timer.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/timer.h index 4ae73689488b..f818adcc7467 100644 --- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/timer.h +++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/timer.h @@ -70,9 +70,9 @@ nvkm_timer(void *obj) #define nvkm_timer_destroy(p) \ nvkm_subdev_destroy(&(p)->subdev) #define nvkm_timer_init(p) \ - nvkm_subdev_init(&(p)->subdev) + nvkm_subdev_init_old(&(p)->subdev) #define nvkm_timer_fini(p,s) \ - nvkm_subdev_fini(&(p)->subdev, (s)) + nvkm_subdev_fini_old(&(p)->subdev, (s)) int nvkm_timer_create_(struct nvkm_object *, struct nvkm_engine *, struct nvkm_oclass *, int size, void **); diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h index 1eeb80a380d2..dc8846899a60 100644 --- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h +++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h @@ -41,7 +41,7 @@ nvkm_volt(void *obj) _nvkm_volt_init(nv_object(v)); \ }) #define nvkm_volt_fini(p,s) \ - nvkm_subdev_fini((p), (s)) + nvkm_subdev_fini_old((p), (s)) int nvkm_volt_create_(struct nvkm_object *, struct nvkm_object *, struct nvkm_oclass *, int, void **); diff --git a/drivers/gpu/drm/nouveau/nvkm/core/subdev.c b/drivers/gpu/drm/nouveau/nvkm/core/subdev.c index 0c313468d94e..3f6795f51218 100644 --- a/drivers/gpu/drm/nouveau/nvkm/core/subdev.c +++ b/drivers/gpu/drm/nouveau/nvkm/core/subdev.c @@ -46,7 +46,7 @@ nvkm_subdev_reset(struct nvkm_object *obj) } int -nvkm_subdev_init(struct nvkm_subdev *subdev) +nvkm_subdev_init_old(struct nvkm_subdev *subdev) { int ret = _nvkm_object_init(&subdev->object); if (ret) @@ -59,11 +59,12 @@ nvkm_subdev_init(struct nvkm_subdev *subdev) int _nvkm_subdev_init(struct nvkm_object *object) { - return nvkm_subdev_init(nv_subdev(object)); + struct nvkm_subdev *subdev = (void *)object; + return nvkm_subdev_init_old(subdev); } int -nvkm_subdev_fini(struct nvkm_subdev *subdev, bool suspend) +nvkm_subdev_fini_old(struct nvkm_subdev *subdev, bool suspend) { struct nvkm_device *device = subdev->device; @@ -78,7 +79,8 @@ nvkm_subdev_fini(struct nvkm_subdev *subdev, bool suspend) int _nvkm_subdev_fini(struct nvkm_object *object, bool suspend) { - return nvkm_subdev_fini(nv_subdev(object), suspend); + struct nvkm_subdev *subdev = (void *)object; + return nvkm_subdev_fini_old(subdev, suspend); } void diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/bar/priv.h b/drivers/gpu/drm/nouveau/nvkm/subdev/bar/priv.h index e6e4dfc97dcc..e9d2f7b6b22f 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/bar/priv.h +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/bar/priv.h @@ -5,9 +5,9 @@ #define nvkm_bar_create(p,e,o,d) \ nvkm_bar_create_((p), (e), (o), sizeof(**d), (void **)d) #define nvkm_bar_init(p) \ - nvkm_subdev_init(&(p)->subdev) + nvkm_subdev_init_old(&(p)->subdev) #define nvkm_bar_fini(p,s) \ - nvkm_subdev_fini(&(p)->subdev, (s)) + nvkm_subdev_fini_old(&(p)->subdev, (s)) int nvkm_bar_create_(struct nvkm_object *, struct nvkm_object *, struct nvkm_oclass *, int, void **); diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.c index cc434268d995..b48ec70d9c55 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.c @@ -149,14 +149,14 @@ static int nvkm_bios_init(struct nvkm_object *object) { struct nvkm_bios *bios = (void *)object; - return nvkm_subdev_init(&bios->subdev); + return nvkm_subdev_init_old(&bios->subdev); } static int nvkm_bios_fini(struct nvkm_object *object, bool suspend) { struct nvkm_bios *bios = (void *)object; - return nvkm_subdev_fini(&bios->subdev, suspend); + return nvkm_subdev_fini_old(&bios->subdev, suspend); } struct nvkm_oclass diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c index cfd1feed99c3..659122721b7d 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c @@ -479,7 +479,7 @@ _nvkm_clk_fini(struct nvkm_object *object, bool suspend) { struct nvkm_clk *clk = (void *)object; nvkm_notify_put(&clk->pwrsrc_ntfy); - return nvkm_subdev_fini(&clk->subdev, suspend); + return nvkm_subdev_fini_old(&clk->subdev, suspend); } int @@ -490,7 +490,7 @@ _nvkm_clk_init(struct nvkm_object *object) struct nvkm_domain *clock = clk->domains; int ret; - ret = nvkm_subdev_init(&clk->subdev); + ret = nvkm_subdev_init_old(&clk->subdev); if (ret) return ret; diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/base.c index 989513fae7d5..e5ef999adbb9 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/base.c @@ -38,7 +38,7 @@ _nvkm_devinit_fini(struct nvkm_object *object, bool suspend) /* unlock the extended vga crtc regs */ nvkm_lockvgac(init->subdev.device, false); - return nvkm_subdev_fini(&init->subdev, suspend); + return nvkm_subdev_fini_old(&init->subdev, suspend); } int @@ -48,7 +48,7 @@ _nvkm_devinit_init(struct nvkm_object *object) struct nvkm_devinit *init = (void *)object; int ret; - ret = nvkm_subdev_init(&init->subdev); + ret = nvkm_subdev_init_old(&init->subdev); if (ret) return ret; diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/base.c index 328381b8f0ac..d435bd155684 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/base.c @@ -56,7 +56,7 @@ int _nvkm_fb_fini(struct nvkm_object *object, bool suspend) { struct nvkm_fb *fb = (void *)object; - return nvkm_subdev_fini(&fb->subdev, suspend); + return nvkm_subdev_fini_old(&fb->subdev, suspend); } int @@ -65,7 +65,7 @@ _nvkm_fb_init(struct nvkm_object *object) struct nvkm_fb *fb = (void *)object; int ret, i; - ret = nvkm_subdev_init(&fb->subdev); + ret = nvkm_subdev_init_old(&fb->subdev); if (ret) return ret; diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/fuse/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fuse/base.c index 4c1884ee7e38..8889925da3d7 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/fuse/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/fuse/base.c @@ -27,7 +27,7 @@ int _nvkm_fuse_init(struct nvkm_object *object) { struct nvkm_fuse *fuse = (void *)object; - return nvkm_subdev_init(&fuse->subdev); + return nvkm_subdev_init_old(&fuse->subdev); } void diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/gpio/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/gpio/base.c index 1f10e7e773c2..07db5845f8b2 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/gpio/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/gpio/base.c @@ -168,7 +168,7 @@ _nvkm_gpio_fini(struct nvkm_object *object, bool suspend) impl->intr_mask(gpio, NVKM_GPIO_TOGGLED, mask, 0); impl->intr_stat(gpio, &mask, &mask); - return nvkm_subdev_fini(&gpio->subdev, suspend); + return nvkm_subdev_fini_old(&gpio->subdev, suspend); } static struct dmi_system_id gpio_reset_ids[] = { @@ -188,7 +188,7 @@ _nvkm_gpio_init(struct nvkm_object *object) struct nvkm_gpio *gpio = nvkm_gpio(object); int ret; - ret = nvkm_subdev_init(&gpio->subdev); + ret = nvkm_subdev_init_old(&gpio->subdev); if (ret) return ret; diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c index 86bff984e7e1..fe29e728a602 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c @@ -175,7 +175,7 @@ _nvkm_i2c_fini(struct nvkm_object *object, bool suspend) nvkm_i2c_pad_fini(pad); } - return nvkm_subdev_fini(&i2c->subdev, suspend); + return nvkm_subdev_fini_old(&i2c->subdev, suspend); } int @@ -186,7 +186,7 @@ _nvkm_i2c_init(struct nvkm_object *object) struct nvkm_i2c_pad *pad; int ret; - ret = nvkm_subdev_init(&i2c->subdev); + ret = nvkm_subdev_init_old(&i2c->subdev); if (ret) return ret; diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/base.c index 495da913bd11..8ac8e4f4fa4b 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/base.c @@ -102,7 +102,7 @@ _nvkm_instmem_fini(struct nvkm_object *object, bool suspend) return ret; } - return nvkm_subdev_fini(&imem->subdev, suspend); + return nvkm_subdev_fini_old(&imem->subdev, suspend); } int @@ -112,7 +112,7 @@ _nvkm_instmem_init(struct nvkm_object *object) struct nvkm_instobj *iobj; int ret, i; - ret = nvkm_subdev_init(&imem->subdev); + ret = nvkm_subdev_init_old(&imem->subdev); if (ret) return ret; diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/ltc/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/ltc/base.c index f9cfbabeeeb3..d0af1aec0fc6 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/ltc/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/ltc/base.c @@ -83,7 +83,7 @@ _nvkm_ltc_init(struct nvkm_object *object) const struct nvkm_ltc_impl *impl = (void *)nv_oclass(object); int ret, i; - ret = nvkm_subdev_init(<c->base.subdev); + ret = nvkm_subdev_init_old(<c->base.subdev); if (ret) return ret; diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mc/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mc/base.c index babd6d8725f0..f861a02d8d59 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/mc/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mc/base.c @@ -86,7 +86,7 @@ _nvkm_mc_fini(struct nvkm_object *object, bool suspend) struct nvkm_mc *mc = (void *)object; struct nvkm_device *device = mc->subdev.device; nvkm_wr32(device, 0x000140, 0x00000000); - return nvkm_subdev_fini(&mc->subdev, suspend); + return nvkm_subdev_fini_old(&mc->subdev, suspend); } int @@ -94,7 +94,7 @@ _nvkm_mc_init(struct nvkm_object *object) { struct nvkm_mc *mc = (void *)object; struct nvkm_device *device = mc->subdev.device; - int ret = nvkm_subdev_init(&mc->subdev); + int ret = nvkm_subdev_init_old(&mc->subdev); if (ret) return ret; nvkm_wr32(device, 0x000140, 0x00000001); diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.c index 247994017965..c700d3d956e8 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.c @@ -189,7 +189,7 @@ _nvkm_pmu_fini(struct nvkm_object *object, bool suspend) nvkm_wr32(device, 0x10a014, 0x00000060); flush_work(&pmu->recv.work); - return nvkm_subdev_fini(&pmu->subdev, suspend); + return nvkm_subdev_fini_old(&pmu->subdev, suspend); } int @@ -200,7 +200,7 @@ _nvkm_pmu_init(struct nvkm_object *object) struct nvkm_device *device = pmu->subdev.device; int ret, i; - ret = nvkm_subdev_init(&pmu->subdev); + ret = nvkm_subdev_init_old(&pmu->subdev); if (ret) return ret; diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk20a.c b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk20a.c index 1003013666a9..47c6dbe8fff3 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk20a.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk20a.c @@ -171,7 +171,7 @@ gk20a_pmu_fini(struct nvkm_object *object, bool suspend) nvkm_timer_alarm_cancel(pmu, &pmu->alarm); - return nvkm_subdev_fini(&pmu->base.subdev, suspend); + return nvkm_subdev_fini_old(&pmu->base.subdev, suspend); } static int @@ -181,7 +181,7 @@ gk20a_pmu_init(struct nvkm_object *object) struct nvkm_device *device = pmu->base.subdev.device; int ret; - ret = nvkm_subdev_init(&pmu->base.subdev); + ret = nvkm_subdev_init_old(&pmu->base.subdev); if (ret) return ret; diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c index 18fa0443b6d3..e757fd9b7a07 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c @@ -288,7 +288,7 @@ _nvkm_therm_init(struct nvkm_object *object) struct nvkm_therm_priv *therm = (void *)object; int ret; - ret = nvkm_subdev_init(&therm->base.subdev); + ret = nvkm_subdev_init_old(&therm->base.subdev); if (ret) return ret; @@ -316,7 +316,7 @@ _nvkm_therm_fini(struct nvkm_object *object, bool suspend) therm->mode = NVKM_THERM_CTRL_NONE; } - return nvkm_subdev_fini(&therm->base.subdev, suspend); + return nvkm_subdev_fini_old(&therm->base.subdev, suspend); } int diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c index 67650a351a96..88e5f62ec772 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c @@ -142,7 +142,7 @@ _nvkm_volt_init(struct nvkm_object *object) struct nvkm_subdev *subdev = &volt->subdev; int ret; - ret = nvkm_subdev_init(&volt->subdev); + ret = nvkm_subdev_init_old(&volt->subdev); if (ret) return ret; -- cgit v1.2.3-70-g09d2 From 437b2296ced574eada632b11346e22f6b0103e17 Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Thu, 20 Aug 2015 14:54:21 +1000 Subject: drm/nouveau/volt: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs --- drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h | 46 +------- drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 92 ++++++++-------- drivers/gpu/drm/nouveau/nvkm/engine/device/gf100.c | 8 -- drivers/gpu/drm/nouveau/nvkm/engine/device/gk104.c | 8 -- drivers/gpu/drm/nouveau/nvkm/engine/device/gm100.c | 3 - drivers/gpu/drm/nouveau/nvkm/engine/device/nv40.c | 16 --- drivers/gpu/drm/nouveau/nvkm/engine/device/nv50.c | 14 --- drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c | 4 +- drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c | 117 +++++++++------------ drivers/gpu/drm/nouveau/nvkm/subdev/volt/gk20a.c | 55 +++++----- drivers/gpu/drm/nouveau/nvkm/subdev/volt/nv40.c | 31 +++--- drivers/gpu/drm/nouveau/nvkm/subdev/volt/priv.h | 20 ++++ 12 files changed, 161 insertions(+), 253 deletions(-) create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/volt/priv.h (limited to 'drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h') diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h index dc8846899a60..5c8a3f1196de 100644 --- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h +++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h @@ -2,20 +2,10 @@ #define __NVKM_VOLT_H__ #include -struct nvkm_voltage { - u32 uv; - u8 id; -}; - struct nvkm_volt { + const struct nvkm_volt_func *func; struct nvkm_subdev subdev; - int (*vid_get)(struct nvkm_volt *); - int (*get)(struct nvkm_volt *); - int (*vid_set)(struct nvkm_volt *, u8 vid); - int (*set)(struct nvkm_volt *, u32 uv); - int (*set_id)(struct nvkm_volt *, u8 id, int condition); - u8 vid_mask; u8 vid_nr; struct { @@ -24,35 +14,9 @@ struct nvkm_volt { } vid[256]; }; -static inline struct nvkm_volt * -nvkm_volt(void *obj) -{ - return (void *)nvkm_subdev(obj, NVDEV_SUBDEV_VOLT); -} - -#define nvkm_volt_create(p, e, o, d) \ - nvkm_volt_create_((p), (e), (o), sizeof(**d), (void **)d) -#define nvkm_volt_destroy(p) ({ \ - struct nvkm_volt *v = (p); \ - _nvkm_volt_dtor(nv_object(v)); \ -}) -#define nvkm_volt_init(p) ({ \ - struct nvkm_volt *v = (p); \ - _nvkm_volt_init(nv_object(v)); \ -}) -#define nvkm_volt_fini(p,s) \ - nvkm_subdev_fini_old((p), (s)) - -int nvkm_volt_create_(struct nvkm_object *, struct nvkm_object *, - struct nvkm_oclass *, int, void **); -void _nvkm_volt_dtor(struct nvkm_object *); -int _nvkm_volt_init(struct nvkm_object *); -#define _nvkm_volt_fini _nvkm_subdev_fini - -extern struct nvkm_oclass nv40_volt_oclass; -extern struct nvkm_oclass gk20a_volt_oclass; +int nvkm_volt_get(struct nvkm_volt *); +int nvkm_volt_set_id(struct nvkm_volt *, u8 id, int condition); -int nvkm_voltgpio_init(struct nvkm_volt *); -int nvkm_voltgpio_get(struct nvkm_volt *); -int nvkm_voltgpio_set(struct nvkm_volt *, u8); +int nv40_volt_new(struct nvkm_device *, int, struct nvkm_volt **); +int gk20a_volt_new(struct nvkm_device *, int, struct nvkm_volt **); #endif diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c index 04895322d371..7f858efb2c44 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c @@ -465,7 +465,7 @@ nv40_chipset = { .mmu = nv04_mmu_new, .therm = nv40_therm_new, .timer = nv40_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .disp = nv04_disp_new, // .dma = nv04_dma_new, // .fifo = nv40_fifo_new, @@ -490,7 +490,7 @@ nv41_chipset = { .mmu = nv41_mmu_new, .therm = nv40_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .disp = nv04_disp_new, // .dma = nv04_dma_new, // .fifo = nv40_fifo_new, @@ -515,7 +515,7 @@ nv42_chipset = { .mmu = nv41_mmu_new, .therm = nv40_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .disp = nv04_disp_new, // .dma = nv04_dma_new, // .fifo = nv40_fifo_new, @@ -540,7 +540,7 @@ nv43_chipset = { .mmu = nv41_mmu_new, .therm = nv40_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .disp = nv04_disp_new, // .dma = nv04_dma_new, // .fifo = nv40_fifo_new, @@ -565,7 +565,7 @@ nv44_chipset = { .mmu = nv44_mmu_new, .therm = nv40_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .disp = nv04_disp_new, // .dma = nv04_dma_new, // .fifo = nv40_fifo_new, @@ -590,7 +590,7 @@ nv45_chipset = { .mmu = nv04_mmu_new, .therm = nv40_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .disp = nv04_disp_new, // .dma = nv04_dma_new, // .fifo = nv40_fifo_new, @@ -615,7 +615,7 @@ nv46_chipset = { .mmu = nv44_mmu_new, .therm = nv40_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .disp = nv04_disp_new, // .dma = nv04_dma_new, // .fifo = nv40_fifo_new, @@ -640,7 +640,7 @@ nv47_chipset = { .mmu = nv41_mmu_new, .therm = nv40_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .disp = nv04_disp_new, // .dma = nv04_dma_new, // .fifo = nv40_fifo_new, @@ -665,7 +665,7 @@ nv49_chipset = { .mmu = nv41_mmu_new, .therm = nv40_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .disp = nv04_disp_new, // .dma = nv04_dma_new, // .fifo = nv40_fifo_new, @@ -690,7 +690,7 @@ nv4a_chipset = { .mmu = nv44_mmu_new, .therm = nv40_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .disp = nv04_disp_new, // .dma = nv04_dma_new, // .fifo = nv40_fifo_new, @@ -715,7 +715,7 @@ nv4b_chipset = { .mmu = nv41_mmu_new, .therm = nv40_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .disp = nv04_disp_new, // .dma = nv04_dma_new, // .fifo = nv40_fifo_new, @@ -740,7 +740,7 @@ nv4c_chipset = { .mmu = nv44_mmu_new, .therm = nv40_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .disp = nv04_disp_new, // .dma = nv04_dma_new, // .fifo = nv40_fifo_new, @@ -765,7 +765,7 @@ nv4e_chipset = { .mmu = nv44_mmu_new, .therm = nv40_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .disp = nv04_disp_new, // .dma = nv04_dma_new, // .fifo = nv40_fifo_new, @@ -793,7 +793,7 @@ nv50_chipset = { .mxm = nv50_mxm_new, .therm = nv50_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .disp = nv50_disp_new, // .dma = nv50_dma_new, // .fifo = nv50_fifo_new, @@ -818,7 +818,7 @@ nv63_chipset = { .mmu = nv44_mmu_new, .therm = nv40_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .disp = nv04_disp_new, // .dma = nv04_dma_new, // .fifo = nv40_fifo_new, @@ -843,7 +843,7 @@ nv67_chipset = { .mmu = nv44_mmu_new, .therm = nv40_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .disp = nv04_disp_new, // .dma = nv04_dma_new, // .fifo = nv40_fifo_new, @@ -868,7 +868,7 @@ nv68_chipset = { .mmu = nv44_mmu_new, .therm = nv40_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .disp = nv04_disp_new, // .dma = nv04_dma_new, // .fifo = nv40_fifo_new, @@ -896,7 +896,7 @@ nv84_chipset = { .mxm = nv50_mxm_new, .therm = g84_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .bsp = g84_bsp_new, // .cipher = g84_cipher_new, // .disp = g84_disp_new, @@ -927,7 +927,7 @@ nv86_chipset = { .mxm = nv50_mxm_new, .therm = g84_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .bsp = g84_bsp_new, // .cipher = g84_cipher_new, // .disp = g84_disp_new, @@ -958,7 +958,7 @@ nv92_chipset = { .mxm = nv50_mxm_new, .therm = g84_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .bsp = g84_bsp_new, // .cipher = g84_cipher_new, // .disp = g84_disp_new, @@ -989,7 +989,7 @@ nv94_chipset = { .mxm = nv50_mxm_new, .therm = g84_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .bsp = g84_bsp_new, // .cipher = g84_cipher_new, // .disp = g94_disp_new, @@ -1020,7 +1020,7 @@ nv96_chipset = { .imem = nv50_instmem_new, .mmu = nv50_mmu_new, .bar = g84_bar_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .dma = nv50_dma_new, // .fifo = g84_fifo_new, // .sw = nv50_sw_new, @@ -1051,7 +1051,7 @@ nv98_chipset = { .imem = nv50_instmem_new, .mmu = nv50_mmu_new, .bar = g84_bar_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .dma = nv50_dma_new, // .fifo = g84_fifo_new, // .sw = nv50_sw_new, @@ -1082,7 +1082,7 @@ nva0_chipset = { .mxm = nv50_mxm_new, .therm = g84_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .bsp = g84_bsp_new, // .cipher = g84_cipher_new, // .disp = gt200_disp_new, @@ -1114,7 +1114,7 @@ nva3_chipset = { .pmu = gt215_pmu_new, .therm = gt215_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .ce[0] = gt215_ce_new, // .disp = gt215_disp_new, // .dma = nv50_dma_new, @@ -1147,7 +1147,7 @@ nva5_chipset = { .pmu = gt215_pmu_new, .therm = gt215_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .ce[0] = gt215_ce_new, // .disp = gt215_disp_new, // .dma = nv50_dma_new, @@ -1179,7 +1179,7 @@ nva8_chipset = { .pmu = gt215_pmu_new, .therm = gt215_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .ce[0] = gt215_ce_new, // .disp = gt215_disp_new, // .dma = nv50_dma_new, @@ -1210,7 +1210,7 @@ nvaa_chipset = { .mxm = nv50_mxm_new, .therm = g84_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .disp = g94_disp_new, // .dma = nv50_dma_new, // .fifo = g84_fifo_new, @@ -1241,7 +1241,7 @@ nvac_chipset = { .mxm = nv50_mxm_new, .therm = g84_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .disp = g94_disp_new, // .dma = nv50_dma_new, // .fifo = g84_fifo_new, @@ -1273,7 +1273,7 @@ nvaf_chipset = { .pmu = gt215_pmu_new, .therm = gt215_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .ce[0] = gt215_ce_new, // .disp = gt215_disp_new, // .dma = nv50_dma_new, @@ -1307,7 +1307,7 @@ nvc0_chipset = { .pmu = gf100_pmu_new, .therm = gt215_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .ce[0] = gf100_ce0_new, // .ce[1] = gf100_ce1_new, // .disp = gt215_disp_new, @@ -1342,7 +1342,7 @@ nvc1_chipset = { .pmu = gf100_pmu_new, .therm = gt215_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .ce[0] = gf100_ce0_new, // .disp = gt215_disp_new, // .dma = gf100_dma_new, @@ -1376,7 +1376,7 @@ nvc3_chipset = { .pmu = gf100_pmu_new, .therm = gt215_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .ce[0] = gf100_ce0_new, // .disp = gt215_disp_new, // .dma = gf100_dma_new, @@ -1410,7 +1410,7 @@ nvc4_chipset = { .pmu = gf100_pmu_new, .therm = gt215_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .ce[0] = gf100_ce0_new, // .ce[1] = gf100_ce1_new, // .disp = gt215_disp_new, @@ -1445,7 +1445,7 @@ nvc8_chipset = { .pmu = gf100_pmu_new, .therm = gt215_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .ce[0] = gf100_ce0_new, // .ce[1] = gf100_ce1_new, // .disp = gt215_disp_new, @@ -1480,7 +1480,7 @@ nvce_chipset = { .pmu = gf100_pmu_new, .therm = gt215_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .ce[0] = gf100_ce0_new, // .ce[1] = gf100_ce1_new, // .disp = gt215_disp_new, @@ -1515,7 +1515,7 @@ nvcf_chipset = { .pmu = gf100_pmu_new, .therm = gt215_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .ce[0] = gf100_ce0_new, // .disp = gt215_disp_new, // .dma = gf100_dma_new, @@ -1581,7 +1581,7 @@ nvd9_chipset = { .pmu = gf119_pmu_new, .therm = gf119_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .ce[0] = gf100_ce0_new, // .disp = gf119_disp_new, // .dma = gf119_dma_new, @@ -1615,7 +1615,7 @@ nve4_chipset = { .pmu = gk104_pmu_new, .therm = gf119_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .ce[0] = gk104_ce0_new, // .ce[1] = gk104_ce1_new, // .ce[2] = gk104_ce2_new, @@ -1651,7 +1651,7 @@ nve6_chipset = { .pmu = gk104_pmu_new, .therm = gf119_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .ce[0] = gk104_ce0_new, // .ce[1] = gk104_ce1_new, // .ce[2] = gk104_ce2_new, @@ -1687,7 +1687,7 @@ nve7_chipset = { .pmu = gf119_pmu_new, .therm = gf119_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .ce[0] = gk104_ce0_new, // .ce[1] = gk104_ce1_new, // .ce[2] = gk104_ce2_new, @@ -1717,7 +1717,7 @@ nvea_chipset = { .mmu = gf100_mmu_new, .pmu = gk20a_pmu_new, .timer = gk20a_timer_new, -// .volt = gk20a_volt_new, + .volt = gk20a_volt_new, // .ce[2] = gk104_ce2_new, // .dma = gf119_dma_new, // .fifo = gk20a_fifo_new, @@ -1747,7 +1747,7 @@ nvf0_chipset = { .pmu = gk110_pmu_new, .therm = gf119_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .ce[0] = gk104_ce0_new, // .ce[1] = gk104_ce1_new, // .ce[2] = gk104_ce2_new, @@ -1783,7 +1783,7 @@ nvf1_chipset = { .pmu = gk110_pmu_new, .therm = gf119_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .ce[0] = gk104_ce0_new, // .ce[1] = gk104_ce1_new, // .ce[2] = gk104_ce2_new, @@ -1819,7 +1819,7 @@ nv106_chipset = { .pmu = gk208_pmu_new, .therm = gf119_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .ce[0] = gk104_ce0_new, // .ce[1] = gk104_ce1_new, // .ce[2] = gk104_ce2_new, @@ -1854,7 +1854,7 @@ nv108_chipset = { .pmu = gk208_pmu_new, .therm = gf119_therm_new, .timer = nv41_timer_new, -// .volt = nv40_volt_new, + .volt = nv40_volt_new, // .ce[0] = gk104_ce0_new, // .ce[1] = gk104_ce1_new, // .ce[2] = gk104_ce2_new, diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/gf100.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/gf100.c index 28421e6f1f26..1f273e108618 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/device/gf100.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/gf100.c @@ -28,7 +28,6 @@ gf100_identify(struct nvkm_device *device) { switch (device->chipset) { case 0xc0: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf100_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = gf100_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = gf100_sw_oclass; @@ -42,7 +41,6 @@ gf100_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; break; case 0xc4: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf100_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = gf100_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = gf100_sw_oclass; @@ -56,7 +54,6 @@ gf100_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; break; case 0xc3: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf100_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = gf100_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = gf100_sw_oclass; @@ -69,7 +66,6 @@ gf100_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; break; case 0xce: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf100_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = gf100_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = gf100_sw_oclass; @@ -83,7 +79,6 @@ gf100_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; break; case 0xcf: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf100_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = gf100_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = gf100_sw_oclass; @@ -96,7 +91,6 @@ gf100_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; break; case 0xc1: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf100_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = gf100_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = gf100_sw_oclass; @@ -109,7 +103,6 @@ gf100_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = gf108_pm_oclass; break; case 0xc8: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf100_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = gf100_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = gf100_sw_oclass; @@ -123,7 +116,6 @@ gf100_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; break; case 0xd9: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = gf100_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = gf100_sw_oclass; diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/gk104.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/gk104.c index 25d9092455aa..414ff61873b9 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/device/gk104.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/gk104.c @@ -28,7 +28,6 @@ gk104_identify(struct nvkm_device *device) { switch (device->chipset) { case 0xe4: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = gk104_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = gf100_sw_oclass; @@ -43,7 +42,6 @@ gk104_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = gk104_pm_oclass; break; case 0xe7: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = gk104_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = gf100_sw_oclass; @@ -58,7 +56,6 @@ gk104_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = gk104_pm_oclass; break; case 0xe6: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = gk104_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = gf100_sw_oclass; @@ -79,10 +76,8 @@ gk104_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_GR ] = gk20a_gr_oclass; device->oclass[NVDEV_ENGINE_CE2 ] = &gk104_ce2_oclass; device->oclass[NVDEV_ENGINE_PM ] = gk104_pm_oclass; - device->oclass[NVDEV_SUBDEV_VOLT ] = &gk20a_volt_oclass; break; case 0xf0: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = gk104_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = gf100_sw_oclass; @@ -97,7 +92,6 @@ gk104_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = &gk110_pm_oclass; break; case 0xf1: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = gk104_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = gf100_sw_oclass; @@ -112,7 +106,6 @@ gk104_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = &gk110_pm_oclass; break; case 0x106: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = gk208_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = gf100_sw_oclass; @@ -126,7 +119,6 @@ gk104_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_MSPPP ] = &gf100_msppp_oclass; break; case 0x108: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = gk208_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = gf100_sw_oclass; diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/gm100.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/gm100.c index 4b570a27e13a..c16d9586708b 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/device/gm100.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/gm100.c @@ -30,7 +30,6 @@ gm100_identify(struct nvkm_device *device) case 0x117: #if 0 - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; #endif device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = gk208_fifo_oclass; @@ -54,7 +53,6 @@ gm100_identify(struct nvkm_device *device) /* priv ring says no to 0x10eb14 writes */ #endif #if 0 - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; #endif device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = gm204_fifo_oclass; @@ -76,7 +74,6 @@ gm100_identify(struct nvkm_device *device) /* priv ring says no to 0x10eb14 writes */ #endif #if 0 - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; #endif device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = gm204_fifo_oclass; diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/nv40.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/nv40.c index 31df1b8ae705..0d6da9716b7b 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/device/nv40.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/nv40.c @@ -28,7 +28,6 @@ nv40_identify(struct nvkm_device *device) { switch (device->chipset) { case 0x40: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv04_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv40_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv10_sw_oclass; @@ -38,7 +37,6 @@ nv40_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = nv40_pm_oclass; break; case 0x41: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv04_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv40_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv10_sw_oclass; @@ -48,7 +46,6 @@ nv40_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = nv40_pm_oclass; break; case 0x42: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv04_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv40_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv10_sw_oclass; @@ -58,7 +55,6 @@ nv40_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = nv40_pm_oclass; break; case 0x43: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv04_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv40_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv10_sw_oclass; @@ -68,7 +64,6 @@ nv40_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = nv40_pm_oclass; break; case 0x45: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv04_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv40_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv10_sw_oclass; @@ -78,7 +73,6 @@ nv40_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = nv40_pm_oclass; break; case 0x47: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv04_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv40_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv10_sw_oclass; @@ -88,7 +82,6 @@ nv40_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = nv40_pm_oclass; break; case 0x49: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv04_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv40_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv10_sw_oclass; @@ -98,7 +91,6 @@ nv40_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = nv40_pm_oclass; break; case 0x4b: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv04_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv40_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv10_sw_oclass; @@ -108,7 +100,6 @@ nv40_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = nv40_pm_oclass; break; case 0x44: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv04_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv40_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv10_sw_oclass; @@ -118,7 +109,6 @@ nv40_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = nv40_pm_oclass; break; case 0x46: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv04_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv40_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv10_sw_oclass; @@ -128,7 +118,6 @@ nv40_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = nv40_pm_oclass; break; case 0x4a: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv04_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv40_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv10_sw_oclass; @@ -138,7 +127,6 @@ nv40_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = nv40_pm_oclass; break; case 0x4c: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv04_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv40_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv10_sw_oclass; @@ -148,7 +136,6 @@ nv40_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = nv40_pm_oclass; break; case 0x4e: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv04_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv40_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv10_sw_oclass; @@ -158,7 +145,6 @@ nv40_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = nv40_pm_oclass; break; case 0x63: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv04_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv40_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv10_sw_oclass; @@ -168,7 +154,6 @@ nv40_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = nv40_pm_oclass; break; case 0x67: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv04_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv40_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv10_sw_oclass; @@ -178,7 +163,6 @@ nv40_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = nv40_pm_oclass; break; case 0x68: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv04_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv40_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv10_sw_oclass; diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/nv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/nv50.c index e01add48ceb3..7e2a4a93b2a7 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/device/nv50.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/nv50.c @@ -28,7 +28,6 @@ nv50_identify(struct nvkm_device *device) { switch (device->chipset) { case 0x50: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv50_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv50_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; @@ -38,7 +37,6 @@ nv50_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = nv50_pm_oclass; break; case 0x84: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv50_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = g84_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; @@ -51,7 +49,6 @@ nv50_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = g84_pm_oclass; break; case 0x86: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv50_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = g84_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; @@ -64,7 +61,6 @@ nv50_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = g84_pm_oclass; break; case 0x92: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv50_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = g84_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; @@ -77,7 +73,6 @@ nv50_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = g84_pm_oclass; break; case 0x94: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv50_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = g84_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; @@ -90,7 +85,6 @@ nv50_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = g84_pm_oclass; break; case 0x96: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv50_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = g84_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; @@ -103,7 +97,6 @@ nv50_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = g84_pm_oclass; break; case 0x98: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv50_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = g84_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; @@ -116,7 +109,6 @@ nv50_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = g84_pm_oclass; break; case 0xa0: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv50_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = g84_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; @@ -129,7 +121,6 @@ nv50_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = gt200_pm_oclass; break; case 0xaa: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv50_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = g84_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; @@ -142,7 +133,6 @@ nv50_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = g84_pm_oclass; break; case 0xac: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv50_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = g84_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; @@ -155,7 +145,6 @@ nv50_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = g84_pm_oclass; break; case 0xa3: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv50_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = g84_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; @@ -169,7 +158,6 @@ nv50_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = gt215_pm_oclass; break; case 0xa5: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv50_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = g84_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; @@ -182,7 +170,6 @@ nv50_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = gt215_pm_oclass; break; case 0xa8: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv50_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = g84_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; @@ -195,7 +182,6 @@ nv50_identify(struct nvkm_device *device) device->oclass[NVDEV_ENGINE_PM ] = gt215_pm_oclass; break; case 0xaf: - device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = nv50_dmaeng_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = g84_fifo_oclass; device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c index cdb87e2900f1..dc8682c91cc7 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c @@ -99,7 +99,7 @@ nvkm_cstate_prog(struct nvkm_clk *clk, struct nvkm_pstate *pstate, int cstatei) } if (volt) { - ret = volt->set_id(volt, cstate->voltage, +1); + ret = nvkm_volt_set_id(volt, cstate->voltage, +1); if (ret && ret != -ENODEV) { nvkm_error(subdev, "failed to raise voltage: %d\n", ret); return ret; @@ -113,7 +113,7 @@ nvkm_cstate_prog(struct nvkm_clk *clk, struct nvkm_pstate *pstate, int cstatei) } if (volt) { - ret = volt->set_id(volt, cstate->voltage, -1); + ret = nvkm_volt_set_id(volt, cstate->voltage, -1); if (ret && ret != -ENODEV) nvkm_error(subdev, "failed to lower voltage: %d\n", ret); } diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c index c1668c86f521..4752dbd33923 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c @@ -21,44 +21,39 @@ * * Authors: Ben Skeggs */ -#include +#include "priv.h" + #include #include #include -static int +int nvkm_volt_get(struct nvkm_volt *volt) { - if (volt->vid_get) { - int ret = volt->vid_get(volt), i; - if (ret >= 0) { - for (i = 0; i < volt->vid_nr; i++) { - if (volt->vid[i].vid == ret) - return volt->vid[i].uv; - } - ret = -EINVAL; + int ret = volt->func->vid_get(volt), i; + if (ret >= 0) { + for (i = 0; i < volt->vid_nr; i++) { + if (volt->vid[i].vid == ret) + return volt->vid[i].uv; } - return ret; + ret = -EINVAL; } - return -ENODEV; + return ret; } static int nvkm_volt_set(struct nvkm_volt *volt, u32 uv) { struct nvkm_subdev *subdev = &volt->subdev; - if (volt->vid_set) { - int i, ret = -EINVAL; - for (i = 0; i < volt->vid_nr; i++) { - if (volt->vid[i].uv == uv) { - ret = volt->vid_set(volt, volt->vid[i].vid); - nvkm_debug(subdev, "set %duv: %d\n", uv, ret); - break; - } + int i, ret = -EINVAL; + for (i = 0; i < volt->vid_nr; i++) { + if (volt->vid[i].uv == uv) { + ret = volt->func->vid_set(volt, volt->vid[i].vid); + nvkm_debug(subdev, "set %duv: %d\n", uv, ret); + break; } - return ret; } - return -ENODEV; + return ret; } static int @@ -83,10 +78,15 @@ nvkm_volt_map(struct nvkm_volt *volt, u8 id) return id ? id * 10000 : -ENODEV; } -static int +int nvkm_volt_set_id(struct nvkm_volt *volt, u8 id, int condition) { - int ret = nvkm_volt_map(volt, id); + int ret; + + if (volt->func->set_id) + return volt->func->set_id(volt, id, condition); + + ret = nvkm_volt_map(volt, id); if (ret >= 0) { int prev = nvkm_volt_get(volt); if (!condition || prev < 0 || @@ -135,53 +135,41 @@ nvkm_volt_parse_bios(struct nvkm_bios *bios, struct nvkm_volt *volt) } } -int -_nvkm_volt_init(struct nvkm_object *object) +static int +nvkm_volt_init(struct nvkm_subdev *subdev) { - struct nvkm_volt *volt = (void *)object; - struct nvkm_subdev *subdev = &volt->subdev; - int ret; - - ret = nvkm_subdev_init_old(&volt->subdev); - if (ret) - return ret; - - ret = volt->get(volt); + struct nvkm_volt *volt = nvkm_volt(subdev); + int ret = nvkm_volt_get(volt); if (ret < 0) { if (ret != -ENODEV) nvkm_debug(subdev, "current voltage unknown\n"); return 0; } - nvkm_debug(subdev, "current voltage: %duv\n", ret); return 0; } -void -_nvkm_volt_dtor(struct nvkm_object *object) +static void * +nvkm_volt_dtor(struct nvkm_subdev *subdev) { - struct nvkm_volt *volt = (void *)object; - nvkm_subdev_destroy(&volt->subdev); + return nvkm_volt(subdev); } -int -nvkm_volt_create_(struct nvkm_object *parent, struct nvkm_object *engine, - struct nvkm_oclass *oclass, int length, void **pobject) +static const struct nvkm_subdev_func +nvkm_volt = { + .dtor = nvkm_volt_dtor, + .init = nvkm_volt_init, +}; + +void +nvkm_volt_ctor(const struct nvkm_volt_func *func, struct nvkm_device *device, + int index, struct nvkm_volt *volt) { - struct nvkm_device *device = (void *)parent; struct nvkm_bios *bios = device->bios; - struct nvkm_volt *volt; - int ret, i; - - ret = nvkm_subdev_create_(parent, engine, oclass, 0, "VOLT", - "voltage", length, pobject); - volt = *pobject; - if (ret) - return ret; + int i; - volt->get = nvkm_volt_get; - volt->set = nvkm_volt_set; - volt->set_id = nvkm_volt_set_id; + nvkm_subdev_ctor(&nvkm_volt, device, index, 0, &volt->subdev); + volt->func = func; /* Assuming the non-bios device should build the voltage table later */ if (bios) @@ -192,16 +180,15 @@ nvkm_volt_create_(struct nvkm_object *parent, struct nvkm_object *engine, nvkm_debug(&volt->subdev, "VID %02x: %duv\n", volt->vid[i].vid, volt->vid[i].uv); } - - /*XXX: this is an assumption.. there probably exists boards - * out there with i2c-connected voltage controllers too.. - */ - ret = nvkm_voltgpio_init(volt); - if (ret == 0) { - volt->vid_get = nvkm_voltgpio_get; - volt->vid_set = nvkm_voltgpio_set; - } } +} - return ret; +int +nvkm_volt_new_(const struct nvkm_volt_func *func, struct nvkm_device *device, + int index, struct nvkm_volt **pvolt) +{ + if (!(*pvolt = kzalloc(sizeof(**pvolt), GFP_KERNEL))) + return -ENOMEM; + nvkm_volt_ctor(func, device, index, *pvolt); + return 0; } diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/volt/gk20a.c b/drivers/gpu/drm/nouveau/nvkm/subdev/volt/gk20a.c index 59fa2cf898d2..01394a05e9d8 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/volt/gk20a.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/volt/gk20a.c @@ -19,7 +19,9 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. */ -#include +#define gk20a_volt(p) container_of((p), struct gk20a_volt, base) +#include "priv.h" + #ifdef __KERNEL__ #include #endif @@ -101,9 +103,9 @@ gk20a_volt_calc_voltage(const struct cvb_coef *coef, int speedo) } static int -gk20a_volt_vid_get(struct nvkm_volt *obj) +gk20a_volt_vid_get(struct nvkm_volt *base) { - struct gk20a_volt *volt = container_of(obj, typeof(*volt), base); + struct gk20a_volt *volt = gk20a_volt(base); int i, uv; uv = regulator_get_voltage(volt->vdd); @@ -116,9 +118,9 @@ gk20a_volt_vid_get(struct nvkm_volt *obj) } static int -gk20a_volt_vid_set(struct nvkm_volt *obj, u8 vid) +gk20a_volt_vid_set(struct nvkm_volt *base, u8 vid) { - struct gk20a_volt *volt = container_of(obj, typeof(*volt), base); + struct gk20a_volt *volt = gk20a_volt(base); struct nvkm_subdev *subdev = &volt->base.subdev; nvkm_debug(subdev, "set voltage as %duv\n", volt->base.vid[vid].uv); @@ -126,9 +128,9 @@ gk20a_volt_vid_set(struct nvkm_volt *obj, u8 vid) } static int -gk20a_volt_set_id(struct nvkm_volt *obj, u8 id, int condition) +gk20a_volt_set_id(struct nvkm_volt *base, u8 id, int condition) { - struct gk20a_volt *volt = container_of(obj, typeof(*volt), base); + struct gk20a_volt *volt = gk20a_volt(base); struct nvkm_subdev *subdev = &volt->base.subdev; int prev_uv = regulator_get_voltage(volt->vdd); int target_uv = volt->base.vid[id].uv; @@ -147,27 +149,29 @@ gk20a_volt_set_id(struct nvkm_volt *obj, u8 id, int condition) return ret; } -static int -gk20a_volt_ctor(struct nvkm_object *parent, struct nvkm_object *engine, - struct nvkm_oclass *oclass, void *data, u32 size, - struct nvkm_object **pobject) +static const struct nvkm_volt_func +gk20a_volt = { + .vid_get = gk20a_volt_vid_get, + .vid_set = gk20a_volt_vid_set, + .set_id = gk20a_volt_set_id, +}; + +int +gk20a_volt_new(struct nvkm_device *device, int index, struct nvkm_volt **pvolt) { - struct nvkm_device *device = (void *)parent; struct gk20a_volt *volt; - int i, ret, uv; + int i, uv; + + if (!(volt = kzalloc(sizeof(*volt), GFP_KERNEL))) + return -ENOMEM; - ret = nvkm_volt_create(parent, engine, oclass, &volt); - *pobject = nv_object(volt); - if (ret) - return ret; + nvkm_volt_ctor(&gk20a_volt, device, index, &volt->base); + *pvolt = &volt->base; uv = regulator_get_voltage(device->gpu->vdd); nvkm_info(&volt->base.subdev, "The default voltage is %duV\n", uv); volt->vdd = device->gpu->vdd; - volt->base.vid_get = gk20a_volt_vid_get; - volt->base.vid_set = gk20a_volt_vid_set; - volt->base.set_id = gk20a_volt_set_id; volt->base.vid_nr = ARRAY_SIZE(gk20a_cvb_coef); nvkm_debug(&volt->base.subdev, "%s - vid_nr = %d\n", __func__, @@ -183,14 +187,3 @@ gk20a_volt_ctor(struct nvkm_object *parent, struct nvkm_object *engine, return 0; } - -struct nvkm_oclass -gk20a_volt_oclass = { - .handle = NV_SUBDEV(VOLT, 0xea), - .ofuncs = &(struct nvkm_ofuncs) { - .ctor = gk20a_volt_ctor, - .dtor = _nvkm_volt_dtor, - .init = _nvkm_volt_init, - .fini = _nvkm_volt_fini, - }, -}; diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/volt/nv40.c b/drivers/gpu/drm/nouveau/nvkm/subdev/volt/nv40.c index 16e8965c72f9..23409387abb5 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/volt/nv40.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/volt/nv40.c @@ -21,31 +21,24 @@ * * Authors: Ben Skeggs */ -#include +#include "priv.h" -static int -nv40_volt_ctor(struct nvkm_object *parent, struct nvkm_object *engine, - struct nvkm_oclass *oclass, void *data, u32 size, - struct nvkm_object **pobject) +static const struct nvkm_volt_func +nv40_volt = { + .vid_get = nvkm_voltgpio_get, + .vid_set = nvkm_voltgpio_set, +}; + +int +nv40_volt_new(struct nvkm_device *device, int index, struct nvkm_volt **pvolt) { struct nvkm_volt *volt; int ret; - ret = nvkm_volt_create(parent, engine, oclass, &volt); - *pobject = nv_object(volt); + ret = nvkm_volt_new_(&nv40_volt, device, index, &volt); + *pvolt = volt; if (ret) return ret; - return 0; + return nvkm_voltgpio_init(volt); } - -struct nvkm_oclass -nv40_volt_oclass = { - .handle = NV_SUBDEV(VOLT, 0x40), - .ofuncs = &(struct nvkm_ofuncs) { - .ctor = nv40_volt_ctor, - .dtor = _nvkm_volt_dtor, - .init = _nvkm_volt_init, - .fini = _nvkm_volt_fini, - }, -}; diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/volt/priv.h b/drivers/gpu/drm/nouveau/nvkm/subdev/volt/priv.h new file mode 100644 index 000000000000..394f37c723af --- /dev/null +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/volt/priv.h @@ -0,0 +1,20 @@ +#ifndef __NVKM_VOLT_PRIV_H__ +#define __NVKM_VOLT_PRIV_H__ +#define nvkm_volt(p) container_of((p), struct nvkm_volt, subdev) +#include + +void nvkm_volt_ctor(const struct nvkm_volt_func *, struct nvkm_device *, + int index, struct nvkm_volt *); +int nvkm_volt_new_(const struct nvkm_volt_func *, struct nvkm_device *, + int index, struct nvkm_volt **); + +struct nvkm_volt_func { + int (*vid_get)(struct nvkm_volt *); + int (*vid_set)(struct nvkm_volt *, u8 vid); + int (*set_id)(struct nvkm_volt *, u8 id, int condition); +}; + +int nvkm_voltgpio_init(struct nvkm_volt *); +int nvkm_voltgpio_get(struct nvkm_volt *); +int nvkm_voltgpio_set(struct nvkm_volt *, u8); +#endif -- cgit v1.2.3-70-g09d2