diff options
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm')
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/core/engine.c | 7 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/core/subdev.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/engine/bsp/g84.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 26 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/engine/vp/g84.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/engine/xtensa.c | 9 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g84.c | 6 |
7 files changed, 28 insertions, 33 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/core/engine.c b/drivers/gpu/drm/nouveau/nvkm/core/engine.c index 774270ae9e24..ca99cb218516 100644 --- a/drivers/gpu/drm/nouveau/nvkm/core/engine.c +++ b/drivers/gpu/drm/nouveau/nvkm/core/engine.c @@ -176,11 +176,10 @@ nvkm_engine = { }; int -nvkm_engine_ctor(const struct nvkm_engine_func *func, - struct nvkm_device *device, int index, bool enable, - struct nvkm_engine *engine) +nvkm_engine_ctor_(const struct nvkm_engine_func *func, bool old, struct nvkm_device *device, + enum nvkm_subdev_type type, int inst, bool enable, struct nvkm_engine *engine) { - nvkm_subdev_ctor(&nvkm_engine, device, index, &engine->subdev); + nvkm_subdev_ctor_(&nvkm_engine, old, device, type, inst, &engine->subdev); engine->func = func; refcount_set(&engine->use.refcount, 0); mutex_init(&engine->use.mutex); diff --git a/drivers/gpu/drm/nouveau/nvkm/core/subdev.c b/drivers/gpu/drm/nouveau/nvkm/core/subdev.c index e91b1c3b3ffa..d81d1f716de3 100644 --- a/drivers/gpu/drm/nouveau/nvkm/core/subdev.c +++ b/drivers/gpu/drm/nouveau/nvkm/core/subdev.c @@ -33,7 +33,6 @@ nvkm_subdev_type[NVKM_SUBDEV_NR] = { #include <core/layout.h> #undef NVKM_LAYOUT_ONCE #undef NVKM_LAYOUT_INST - [NVKM_ENGINE_BSP ] = "bsp", [NVKM_ENGINE_CE0 ] = "ce0", [NVKM_ENGINE_CE1 ] = "ce1", [NVKM_ENGINE_CE2 ] = "ce2", @@ -66,7 +65,6 @@ nvkm_subdev_type[NVKM_SUBDEV_NR] = { [NVKM_ENGINE_SEC2 ] = "sec2", [NVKM_ENGINE_SW ] = "sw", [NVKM_ENGINE_VIC ] = "vic", - [NVKM_ENGINE_VP ] = "vp", }; void diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/bsp/g84.c b/drivers/gpu/drm/nouveau/nvkm/engine/bsp/g84.c index 44e116f7880d..39f6db269c7a 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/bsp/g84.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/bsp/g84.c @@ -36,8 +36,9 @@ g84_bsp = { }; int -g84_bsp_new(struct nvkm_device *device, int index, struct nvkm_engine **pengine) +g84_bsp_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, + struct nvkm_engine **pengine) { - return nvkm_xtensa_new_(&g84_bsp, device, index, + return nvkm_xtensa_new_(&g84_bsp, device, type, inst, device->chipset != 0x92, 0x103000, pengine); } diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c index e605ea5df5f6..e86bff94a0f4 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c @@ -934,7 +934,7 @@ nv84_chipset = { .therm = { 0x00000001, g84_therm_new }, .timer = { 0x00000001, nv41_timer_new }, .volt = { 0x00000001, nv40_volt_new }, - .bsp = g84_bsp_new, + .bsp = { 0x00000001, g84_bsp_new }, .cipher = g84_cipher_new, .disp = g84_disp_new, .dma = nv50_dma_new, @@ -943,7 +943,7 @@ nv84_chipset = { .mpeg = g84_mpeg_new, .pm = g84_pm_new, .sw = nv50_sw_new, - .vp = g84_vp_new, + .vp = { 0x00000001, g84_vp_new }, }; static const struct nvkm_device_chip @@ -966,7 +966,7 @@ nv86_chipset = { .therm = { 0x00000001, g84_therm_new }, .timer = { 0x00000001, nv41_timer_new }, .volt = { 0x00000001, nv40_volt_new }, - .bsp = g84_bsp_new, + .bsp = { 0x00000001, g84_bsp_new }, .cipher = g84_cipher_new, .disp = g84_disp_new, .dma = nv50_dma_new, @@ -975,7 +975,7 @@ nv86_chipset = { .mpeg = g84_mpeg_new, .pm = g84_pm_new, .sw = nv50_sw_new, - .vp = g84_vp_new, + .vp = { 0x00000001, g84_vp_new }, }; static const struct nvkm_device_chip @@ -998,7 +998,7 @@ nv92_chipset = { .therm = { 0x00000001, g84_therm_new }, .timer = { 0x00000001, nv41_timer_new }, .volt = { 0x00000001, nv40_volt_new }, - .bsp = g84_bsp_new, + .bsp = { 0x00000001, g84_bsp_new }, .cipher = g84_cipher_new, .disp = g84_disp_new, .dma = nv50_dma_new, @@ -1007,7 +1007,7 @@ nv92_chipset = { .mpeg = g84_mpeg_new, .pm = g84_pm_new, .sw = nv50_sw_new, - .vp = g84_vp_new, + .vp = { 0x00000001, g84_vp_new }, }; static const struct nvkm_device_chip @@ -1030,7 +1030,7 @@ nv94_chipset = { .therm = { 0x00000001, g84_therm_new }, .timer = { 0x00000001, nv41_timer_new }, .volt = { 0x00000001, nv40_volt_new }, - .bsp = g84_bsp_new, + .bsp = { 0x00000001, g84_bsp_new }, .cipher = g84_cipher_new, .disp = g94_disp_new, .dma = nv50_dma_new, @@ -1039,7 +1039,7 @@ nv94_chipset = { .mpeg = g84_mpeg_new, .pm = g84_pm_new, .sw = nv50_sw_new, - .vp = g84_vp_new, + .vp = { 0x00000001, g84_vp_new }, }; static const struct nvkm_device_chip @@ -1062,7 +1062,7 @@ nv96_chipset = { .therm = { 0x00000001, g84_therm_new }, .timer = { 0x00000001, nv41_timer_new }, .volt = { 0x00000001, nv40_volt_new }, - .bsp = g84_bsp_new, + .bsp = { 0x00000001, g84_bsp_new }, .cipher = g84_cipher_new, .disp = g94_disp_new, .dma = nv50_dma_new, @@ -1071,7 +1071,7 @@ nv96_chipset = { .mpeg = g84_mpeg_new, .pm = g84_pm_new, .sw = nv50_sw_new, - .vp = g84_vp_new, + .vp = { 0x00000001, g84_vp_new }, }; static const struct nvkm_device_chip @@ -1126,7 +1126,7 @@ nva0_chipset = { .therm = { 0x00000001, g84_therm_new }, .timer = { 0x00000001, nv41_timer_new }, .volt = { 0x00000001, nv40_volt_new }, - .bsp = g84_bsp_new, + .bsp = { 0x00000001, g84_bsp_new }, .cipher = g84_cipher_new, .disp = gt200_disp_new, .dma = nv50_dma_new, @@ -1135,7 +1135,7 @@ nva0_chipset = { .mpeg = g84_mpeg_new, .pm = gt200_pm_new, .sw = nv50_sw_new, - .vp = g84_vp_new, + .vp = { 0x00000001, g84_vp_new }, }; static const struct nvkm_device_chip @@ -3248,7 +3248,6 @@ nvkm_device_ctor(const struct nvkm_device_func *func, #include <core/layout.h> #undef NVKM_LAYOUT_INST #undef NVKM_LAYOUT_ONCE - _(NVKM_ENGINE_BSP , bsp); _(NVKM_ENGINE_CE0 , ce[0]); _(NVKM_ENGINE_CE1 , ce[1]); _(NVKM_ENGINE_CE2 , ce[2]); @@ -3281,7 +3280,6 @@ nvkm_device_ctor(const struct nvkm_device_func *func, _(NVKM_ENGINE_SEC2 , sec2); _(NVKM_ENGINE_SW , sw); _(NVKM_ENGINE_VIC , vic); - _(NVKM_ENGINE_VP , vp); default: WARN_ON(1); continue; diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/vp/g84.c b/drivers/gpu/drm/nouveau/nvkm/engine/vp/g84.c index 7a96178786c4..b502266c76fd 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/vp/g84.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/vp/g84.c @@ -36,8 +36,8 @@ g84_vp = { }; int -g84_vp_new(struct nvkm_device *device, int index, struct nvkm_engine **pengine) +g84_vp_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, + struct nvkm_engine **pengine) { - return nvkm_xtensa_new_(&g84_vp, device, index, - true, 0x00f000, pengine); + return nvkm_xtensa_new_(&g84_vp, device, type, inst, true, 0x00f000, pengine); } diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/xtensa.c b/drivers/gpu/drm/nouveau/nvkm/engine/xtensa.c index 70549381e082..f7d3ba0afb55 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/xtensa.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/xtensa.c @@ -175,9 +175,9 @@ nvkm_xtensa = { }; int -nvkm_xtensa_new_(const struct nvkm_xtensa_func *func, - struct nvkm_device *device, int index, bool enable, - u32 addr, struct nvkm_engine **pengine) +nvkm_xtensa_new_(const struct nvkm_xtensa_func *func, struct nvkm_device *device, + enum nvkm_subdev_type type, int inst, bool enable, u32 addr, + struct nvkm_engine **pengine) { struct nvkm_xtensa *xtensa; @@ -187,6 +187,5 @@ nvkm_xtensa_new_(const struct nvkm_xtensa_func *func, xtensa->addr = addr; *pengine = &xtensa->engine; - return nvkm_engine_ctor(&nvkm_xtensa, device, index, - enable, &xtensa->engine); + return nvkm_engine_ctor(&nvkm_xtensa, device, type, inst, enable, &xtensa->engine); } diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g84.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g84.c index 44513a474f74..cd4a5b356472 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g84.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g84.c @@ -36,15 +36,15 @@ g84_devinit_disable(struct nvkm_devinit *init) if (!(r001540 & 0x40000000)) { disable |= (1ULL << NVKM_ENGINE_MPEG); - disable |= (1ULL << NVKM_ENGINE_VP); - disable |= (1ULL << NVKM_ENGINE_BSP); + nvkm_subdev_disable(device, NVKM_ENGINE_VP, 0); + nvkm_subdev_disable(device, NVKM_ENGINE_BSP, 0); disable |= (1ULL << NVKM_ENGINE_CIPHER); } if (!(r00154c & 0x00000004)) disable |= (1ULL << NVKM_ENGINE_DISP); if (!(r00154c & 0x00000020)) - disable |= (1ULL << NVKM_ENGINE_BSP); + nvkm_subdev_disable(device, NVKM_ENGINE_BSP, 0); if (!(r00154c & 0x00000040)) disable |= (1ULL << NVKM_ENGINE_CIPHER); |