aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2015-01-13 21:50:04 -0500
committerBen Skeggs <bskeggs@redhat.com>2015-01-21 21:17:48 -0500
commit37a5d028913f7ac614cd79b1e7adaff19c59d2f1 (patch)
treeab8ad2f6cc72c9c9cd7af3ccee773b9eae313fb1
parentbd8369ecf5e7f5fce9f72b2934dc43a844134a13 (diff)
drm/nouveau/mspdec: separate from vp
Switch to NVIDIA's name for the device. The namespace of NVKM is being changed to nvkm_ instead of nouveau_, which will be used for the DRM part of the driver. This is being done in order to make it very clear as to what part of the driver a given symbol belongs to, and as a minor step towards splitting the DRM driver out to be able to stand on its own (for virt). Because there's already a large amount of churn here anyway, this is as good a time as any to also switch to NVIDIA's device and chipset naming to ease collaboration with them. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--drivers/gpu/drm/nouveau/include/nvif/class.h3
-rw-r--r--drivers/gpu/drm/nouveau/include/nvkm/core/device.h1
-rw-r--r--drivers/gpu/drm/nouveau/include/nvkm/engine/mspdec.h6
-rw-r--r--drivers/gpu/drm/nouveau/include/nvkm/engine/vp.h5
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/Kbuild5
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/device/gm100.c6
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/device/nv50.c15
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/device/nvc0.c20
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/device/nve0.c16
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv84.c11
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/fifo/nvc0.c46
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/fifo/nve0.c44
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/mspdec/Kbuild3
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/mspdec/nv98.c (renamed from drivers/gpu/drm/nouveau/nvkm/engine/vp/nv98.c)38
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/mspdec/nvc0.c (renamed from drivers/gpu/drm/nouveau/nvkm/engine/vp/nvc0.c)38
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/mspdec/nve0.c (renamed from drivers/gpu/drm/nouveau/nvkm/engine/vp/nve0.c)38
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/vp/Kbuild3
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/Kbuild2
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv98.c2
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nva3.c2
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nvaf.c2
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nvc0.c2
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv50.c2
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv98.c2
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/mc/nvc0.c2
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv50.c3
26 files changed, 165 insertions, 152 deletions
diff --git a/drivers/gpu/drm/nouveau/include/nvif/class.h b/drivers/gpu/drm/nouveau/include/nvif/class.h
index 157f59afa8bf..5ad17fc36ae3 100644
--- a/drivers/gpu/drm/nouveau/include/nvif/class.h
+++ b/drivers/gpu/drm/nouveau/include/nvif/class.h
@@ -136,6 +136,7 @@ struct nv_device_v0 {
136#define NV_DEVICE_V0_DISABLE_CE2 0x0000080000000000ULL 136#define NV_DEVICE_V0_DISABLE_CE2 0x0000080000000000ULL
137#define NV_DEVICE_V0_DISABLE_MSVLD 0x0000100000000000ULL 137#define NV_DEVICE_V0_DISABLE_MSVLD 0x0000100000000000ULL
138#define NV_DEVICE_V0_DISABLE_SEC 0x0000200000000000ULL 138#define NV_DEVICE_V0_DISABLE_SEC 0x0000200000000000ULL
139#define NV_DEVICE_V0_DISABLE_MSPDEC 0x0000400000000000ULL
139 __u64 disable; /* disable particular subsystems */ 140 __u64 disable; /* disable particular subsystems */
140 __u64 debug0; /* as above, but *internal* ids, and *NOT* ABI */ 141 __u64 debug0; /* as above, but *internal* ids, and *NOT* ABI */
141}; 142};
@@ -348,7 +349,7 @@ struct nv50_channel_gpfifo_v0 {
348struct kepler_channel_gpfifo_a_v0 { 349struct kepler_channel_gpfifo_a_v0 {
349 __u8 version; 350 __u8 version;
350#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_GR 0x01 351#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_GR 0x01
351#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_VP 0x02 352#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_MSPDEC 0x02
352#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_MSPPP 0x04 353#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_MSPPP 0x04
353#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_MSVLD 0x08 354#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_MSVLD 0x08
354#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_CE0 0x10 355#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_CE0 0x10
diff --git a/drivers/gpu/drm/nouveau/include/nvkm/core/device.h b/drivers/gpu/drm/nouveau/include/nvkm/core/device.h
index ddc3d5d49817..2b90ec900a8c 100644
--- a/drivers/gpu/drm/nouveau/include/nvkm/core/device.h
+++ b/drivers/gpu/drm/nouveau/include/nvkm/core/device.h
@@ -61,6 +61,7 @@ enum nv_subdev_type {
61 NVDEV_ENGINE_PM, 61 NVDEV_ENGINE_PM,
62 NVDEV_ENGINE_MSVLD, 62 NVDEV_ENGINE_MSVLD,
63 NVDEV_ENGINE_SEC, 63 NVDEV_ENGINE_SEC,
64 NVDEV_ENGINE_MSPDEC,
64 65
65 NVDEV_SUBDEV_NR, 66 NVDEV_SUBDEV_NR,
66}; 67};
diff --git a/drivers/gpu/drm/nouveau/include/nvkm/engine/mspdec.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/mspdec.h
new file mode 100644
index 000000000000..2457f871c2f7
--- /dev/null
+++ b/drivers/gpu/drm/nouveau/include/nvkm/engine/mspdec.h
@@ -0,0 +1,6 @@
1#ifndef __NVKM_MSPDEC_H__
2#define __NVKM_MSPDEC_H__
3extern struct nouveau_oclass nv98_mspdec_oclass;
4extern struct nouveau_oclass nvc0_mspdec_oclass;
5extern struct nouveau_oclass nve0_mspdec_oclass;
6#endif
diff --git a/drivers/gpu/drm/nouveau/include/nvkm/engine/vp.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/vp.h
index 39baebec7fbb..7175e6e032cc 100644
--- a/drivers/gpu/drm/nouveau/include/nvkm/engine/vp.h
+++ b/drivers/gpu/drm/nouveau/include/nvkm/engine/vp.h
@@ -1,9 +1,4 @@
1#ifndef __NOUVEAU_VP_H__ 1#ifndef __NOUVEAU_VP_H__
2#define __NOUVEAU_VP_H__ 2#define __NOUVEAU_VP_H__
3
4extern struct nouveau_oclass nv84_vp_oclass; 3extern struct nouveau_oclass nv84_vp_oclass;
5extern struct nouveau_oclass nv98_vp_oclass;
6extern struct nouveau_oclass nvc0_vp_oclass;
7extern struct nouveau_oclass nve0_vp_oclass;
8
9#endif 4#endif
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/Kbuild
index bc51b0581ba5..6bd3d756f32c 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/Kbuild
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/Kbuild
@@ -2,17 +2,18 @@ nvkm-y += nvkm/engine/falcon.o
2nvkm-y += nvkm/engine/xtensa.o 2nvkm-y += nvkm/engine/xtensa.o
3 3
4include $(src)/nvkm/engine/bsp/Kbuild 4include $(src)/nvkm/engine/bsp/Kbuild
5include $(src)/nvkm/engine/cipher/Kbuild
6include $(src)/nvkm/engine/ce/Kbuild 5include $(src)/nvkm/engine/ce/Kbuild
6include $(src)/nvkm/engine/cipher/Kbuild
7include $(src)/nvkm/engine/device/Kbuild 7include $(src)/nvkm/engine/device/Kbuild
8include $(src)/nvkm/engine/disp/Kbuild 8include $(src)/nvkm/engine/disp/Kbuild
9include $(src)/nvkm/engine/dmaobj/Kbuild 9include $(src)/nvkm/engine/dmaobj/Kbuild
10include $(src)/nvkm/engine/fifo/Kbuild 10include $(src)/nvkm/engine/fifo/Kbuild
11include $(src)/nvkm/engine/gr/Kbuild 11include $(src)/nvkm/engine/gr/Kbuild
12include $(src)/nvkm/engine/mpeg/Kbuild 12include $(src)/nvkm/engine/mpeg/Kbuild
13include $(src)/nvkm/engine/mspdec/Kbuild
14include $(src)/nvkm/engine/msppp/Kbuild
13include $(src)/nvkm/engine/msvld/Kbuild 15include $(src)/nvkm/engine/msvld/Kbuild
14include $(src)/nvkm/engine/pm/Kbuild 16include $(src)/nvkm/engine/pm/Kbuild
15include $(src)/nvkm/engine/msppp/Kbuild
16include $(src)/nvkm/engine/sec/Kbuild 17include $(src)/nvkm/engine/sec/Kbuild
17include $(src)/nvkm/engine/sw/Kbuild 18include $(src)/nvkm/engine/sw/Kbuild
18include $(src)/nvkm/engine/vp/Kbuild 19include $(src)/nvkm/engine/vp/Kbuild
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/gm100.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/gm100.c
index 55e463396c8c..915ba957f075 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/device/gm100.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/gm100.c
@@ -51,7 +51,7 @@
51#include <engine/ce.h> 51#include <engine/ce.h>
52#include <engine/bsp.h> 52#include <engine/bsp.h>
53#include <engine/msvld.h> 53#include <engine/msvld.h>
54#include <engine/vp.h> 54#include <engine/mspdec.h>
55#include <engine/msppp.h> 55#include <engine/msppp.h>
56#include <engine/pm.h> 56#include <engine/pm.h>
57 57
@@ -95,7 +95,7 @@ gm100_identify(struct nouveau_device *device)
95 device->oclass[NVDEV_ENGINE_CE2 ] = &nve0_ce2_oclass; 95 device->oclass[NVDEV_ENGINE_CE2 ] = &nve0_ce2_oclass;
96#if 0 96#if 0
97 device->oclass[NVDEV_ENGINE_MSVLD ] = &nve0_msvld_oclass; 97 device->oclass[NVDEV_ENGINE_MSVLD ] = &nve0_msvld_oclass;
98 device->oclass[NVDEV_ENGINE_VP ] = &nve0_vp_oclass; 98 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nve0_mspdec_oclass;
99 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass; 99 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass;
100#endif 100#endif
101 break; 101 break;
@@ -138,7 +138,7 @@ gm100_identify(struct nouveau_device *device)
138 device->oclass[NVDEV_ENGINE_CE1 ] = &gm204_ce1_oclass; 138 device->oclass[NVDEV_ENGINE_CE1 ] = &gm204_ce1_oclass;
139 device->oclass[NVDEV_ENGINE_CE2 ] = &gm204_ce2_oclass; 139 device->oclass[NVDEV_ENGINE_CE2 ] = &gm204_ce2_oclass;
140 device->oclass[NVDEV_ENGINE_MSVLD ] = &nve0_msvld_oclass; 140 device->oclass[NVDEV_ENGINE_MSVLD ] = &nve0_msvld_oclass;
141 device->oclass[NVDEV_ENGINE_VP ] = &nve0_vp_oclass; 141 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nve0_mspdec_oclass;
142 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass; 142 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass;
143#endif 143#endif
144 break; 144 break;
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/nv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/nv50.c
index 13203f53c80d..4f100b261f28 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/device/nv50.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/nv50.c
@@ -51,6 +51,7 @@
51#include <engine/sec.h> 51#include <engine/sec.h>
52#include <engine/bsp.h> 52#include <engine/bsp.h>
53#include <engine/msvld.h> 53#include <engine/msvld.h>
54#include <engine/mspdec.h>
54#include <engine/msppp.h> 55#include <engine/msppp.h>
55#include <engine/ce.h> 56#include <engine/ce.h>
56#include <engine/disp.h> 57#include <engine/disp.h>
@@ -253,7 +254,7 @@ nv50_identify(struct nouveau_device *device)
253 device->oclass[NVDEV_ENGINE_FIFO ] = nv84_fifo_oclass; 254 device->oclass[NVDEV_ENGINE_FIFO ] = nv84_fifo_oclass;
254 device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; 255 device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass;
255 device->oclass[NVDEV_ENGINE_GR ] = &nv50_gr_oclass; 256 device->oclass[NVDEV_ENGINE_GR ] = &nv50_gr_oclass;
256 device->oclass[NVDEV_ENGINE_VP ] = &nv98_vp_oclass; 257 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nv98_mspdec_oclass;
257 device->oclass[NVDEV_ENGINE_SEC ] = &nv98_sec_oclass; 258 device->oclass[NVDEV_ENGINE_SEC ] = &nv98_sec_oclass;
258 device->oclass[NVDEV_ENGINE_MSVLD ] = &nv98_msvld_oclass; 259 device->oclass[NVDEV_ENGINE_MSVLD ] = &nv98_msvld_oclass;
259 device->oclass[NVDEV_ENGINE_MSPPP ] = &nv98_msppp_oclass; 260 device->oclass[NVDEV_ENGINE_MSPPP ] = &nv98_msppp_oclass;
@@ -311,7 +312,7 @@ nv50_identify(struct nouveau_device *device)
311 device->oclass[NVDEV_ENGINE_FIFO ] = nv84_fifo_oclass; 312 device->oclass[NVDEV_ENGINE_FIFO ] = nv84_fifo_oclass;
312 device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; 313 device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass;
313 device->oclass[NVDEV_ENGINE_GR ] = &nv50_gr_oclass; 314 device->oclass[NVDEV_ENGINE_GR ] = &nv50_gr_oclass;
314 device->oclass[NVDEV_ENGINE_VP ] = &nv98_vp_oclass; 315 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nv98_mspdec_oclass;
315 device->oclass[NVDEV_ENGINE_SEC ] = &nv98_sec_oclass; 316 device->oclass[NVDEV_ENGINE_SEC ] = &nv98_sec_oclass;
316 device->oclass[NVDEV_ENGINE_MSVLD ] = &nv98_msvld_oclass; 317 device->oclass[NVDEV_ENGINE_MSVLD ] = &nv98_msvld_oclass;
317 device->oclass[NVDEV_ENGINE_MSPPP ] = &nv98_msppp_oclass; 318 device->oclass[NVDEV_ENGINE_MSPPP ] = &nv98_msppp_oclass;
@@ -340,7 +341,7 @@ nv50_identify(struct nouveau_device *device)
340 device->oclass[NVDEV_ENGINE_FIFO ] = nv84_fifo_oclass; 341 device->oclass[NVDEV_ENGINE_FIFO ] = nv84_fifo_oclass;
341 device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; 342 device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass;
342 device->oclass[NVDEV_ENGINE_GR ] = &nv50_gr_oclass; 343 device->oclass[NVDEV_ENGINE_GR ] = &nv50_gr_oclass;
343 device->oclass[NVDEV_ENGINE_VP ] = &nv98_vp_oclass; 344 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nv98_mspdec_oclass;
344 device->oclass[NVDEV_ENGINE_SEC ] = &nv98_sec_oclass; 345 device->oclass[NVDEV_ENGINE_SEC ] = &nv98_sec_oclass;
345 device->oclass[NVDEV_ENGINE_MSVLD ] = &nv98_msvld_oclass; 346 device->oclass[NVDEV_ENGINE_MSVLD ] = &nv98_msvld_oclass;
346 device->oclass[NVDEV_ENGINE_MSPPP ] = &nv98_msppp_oclass; 347 device->oclass[NVDEV_ENGINE_MSPPP ] = &nv98_msppp_oclass;
@@ -371,7 +372,7 @@ nv50_identify(struct nouveau_device *device)
371 device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; 372 device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass;
372 device->oclass[NVDEV_ENGINE_GR ] = &nv50_gr_oclass; 373 device->oclass[NVDEV_ENGINE_GR ] = &nv50_gr_oclass;
373 device->oclass[NVDEV_ENGINE_MPEG ] = &nv84_mpeg_oclass; 374 device->oclass[NVDEV_ENGINE_MPEG ] = &nv84_mpeg_oclass;
374 device->oclass[NVDEV_ENGINE_VP ] = &nv98_vp_oclass; 375 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nv98_mspdec_oclass;
375 device->oclass[NVDEV_ENGINE_MSVLD ] = &nv98_msvld_oclass; 376 device->oclass[NVDEV_ENGINE_MSVLD ] = &nv98_msvld_oclass;
376 device->oclass[NVDEV_ENGINE_MSPPP ] = &nv98_msppp_oclass; 377 device->oclass[NVDEV_ENGINE_MSPPP ] = &nv98_msppp_oclass;
377 device->oclass[NVDEV_ENGINE_CE0 ] = &nva3_ce_oclass; 378 device->oclass[NVDEV_ENGINE_CE0 ] = &nva3_ce_oclass;
@@ -401,7 +402,7 @@ nv50_identify(struct nouveau_device *device)
401 device->oclass[NVDEV_ENGINE_FIFO ] = nv84_fifo_oclass; 402 device->oclass[NVDEV_ENGINE_FIFO ] = nv84_fifo_oclass;
402 device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; 403 device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass;
403 device->oclass[NVDEV_ENGINE_GR ] = &nv50_gr_oclass; 404 device->oclass[NVDEV_ENGINE_GR ] = &nv50_gr_oclass;
404 device->oclass[NVDEV_ENGINE_VP ] = &nv98_vp_oclass; 405 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nv98_mspdec_oclass;
405 device->oclass[NVDEV_ENGINE_MSVLD ] = &nv98_msvld_oclass; 406 device->oclass[NVDEV_ENGINE_MSVLD ] = &nv98_msvld_oclass;
406 device->oclass[NVDEV_ENGINE_MSPPP ] = &nv98_msppp_oclass; 407 device->oclass[NVDEV_ENGINE_MSPPP ] = &nv98_msppp_oclass;
407 device->oclass[NVDEV_ENGINE_CE0 ] = &nva3_ce_oclass; 408 device->oclass[NVDEV_ENGINE_CE0 ] = &nva3_ce_oclass;
@@ -431,7 +432,7 @@ nv50_identify(struct nouveau_device *device)
431 device->oclass[NVDEV_ENGINE_FIFO ] = nv84_fifo_oclass; 432 device->oclass[NVDEV_ENGINE_FIFO ] = nv84_fifo_oclass;
432 device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; 433 device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass;
433 device->oclass[NVDEV_ENGINE_GR ] = &nv50_gr_oclass; 434 device->oclass[NVDEV_ENGINE_GR ] = &nv50_gr_oclass;
434 device->oclass[NVDEV_ENGINE_VP ] = &nv98_vp_oclass; 435 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nv98_mspdec_oclass;
435 device->oclass[NVDEV_ENGINE_MSVLD ] = &nv98_msvld_oclass; 436 device->oclass[NVDEV_ENGINE_MSVLD ] = &nv98_msvld_oclass;
436 device->oclass[NVDEV_ENGINE_MSPPP ] = &nv98_msppp_oclass; 437 device->oclass[NVDEV_ENGINE_MSPPP ] = &nv98_msppp_oclass;
437 device->oclass[NVDEV_ENGINE_CE0 ] = &nva3_ce_oclass; 438 device->oclass[NVDEV_ENGINE_CE0 ] = &nva3_ce_oclass;
@@ -461,7 +462,7 @@ nv50_identify(struct nouveau_device *device)
461 device->oclass[NVDEV_ENGINE_FIFO ] = nv84_fifo_oclass; 462 device->oclass[NVDEV_ENGINE_FIFO ] = nv84_fifo_oclass;
462 device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass; 463 device->oclass[NVDEV_ENGINE_SW ] = nv50_sw_oclass;
463 device->oclass[NVDEV_ENGINE_GR ] = &nv50_gr_oclass; 464 device->oclass[NVDEV_ENGINE_GR ] = &nv50_gr_oclass;
464 device->oclass[NVDEV_ENGINE_VP ] = &nv98_vp_oclass; 465 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nv98_mspdec_oclass;
465 device->oclass[NVDEV_ENGINE_MSVLD ] = &nv98_msvld_oclass; 466 device->oclass[NVDEV_ENGINE_MSVLD ] = &nv98_msvld_oclass;
466 device->oclass[NVDEV_ENGINE_MSPPP ] = &nv98_msppp_oclass; 467 device->oclass[NVDEV_ENGINE_MSPPP ] = &nv98_msppp_oclass;
467 device->oclass[NVDEV_ENGINE_CE0 ] = &nva3_ce_oclass; 468 device->oclass[NVDEV_ENGINE_CE0 ] = &nva3_ce_oclass;
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/nvc0.c
index ae856f8bcc75..2a6fc7f6fd85 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/device/nvc0.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/nvc0.c
@@ -47,7 +47,7 @@
47#include <engine/fifo.h> 47#include <engine/fifo.h>
48#include <engine/sw.h> 48#include <engine/sw.h>
49#include <engine/gr.h> 49#include <engine/gr.h>
50#include <engine/vp.h> 50#include <engine/mspdec.h>
51#include <engine/bsp.h> 51#include <engine/bsp.h>
52#include <engine/msvld.h> 52#include <engine/msvld.h>
53#include <engine/msppp.h> 53#include <engine/msppp.h>
@@ -84,7 +84,7 @@ nvc0_identify(struct nouveau_device *device)
84 device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass; 84 device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass;
85 device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; 85 device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
86 device->oclass[NVDEV_ENGINE_GR ] = nvc0_gr_oclass; 86 device->oclass[NVDEV_ENGINE_GR ] = nvc0_gr_oclass;
87 device->oclass[NVDEV_ENGINE_VP ] = &nvc0_vp_oclass; 87 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nvc0_mspdec_oclass;
88 device->oclass[NVDEV_ENGINE_MSVLD ] = &nvc0_msvld_oclass; 88 device->oclass[NVDEV_ENGINE_MSVLD ] = &nvc0_msvld_oclass;
89 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass; 89 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass;
90 device->oclass[NVDEV_ENGINE_CE0 ] = &nvc0_ce0_oclass; 90 device->oclass[NVDEV_ENGINE_CE0 ] = &nvc0_ce0_oclass;
@@ -117,7 +117,7 @@ nvc0_identify(struct nouveau_device *device)
117 device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass; 117 device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass;
118 device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; 118 device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
119 device->oclass[NVDEV_ENGINE_GR ] = nvc4_gr_oclass; 119 device->oclass[NVDEV_ENGINE_GR ] = nvc4_gr_oclass;
120 device->oclass[NVDEV_ENGINE_VP ] = &nvc0_vp_oclass; 120 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nvc0_mspdec_oclass;
121 device->oclass[NVDEV_ENGINE_MSVLD ] = &nvc0_msvld_oclass; 121 device->oclass[NVDEV_ENGINE_MSVLD ] = &nvc0_msvld_oclass;
122 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass; 122 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass;
123 device->oclass[NVDEV_ENGINE_CE0 ] = &nvc0_ce0_oclass; 123 device->oclass[NVDEV_ENGINE_CE0 ] = &nvc0_ce0_oclass;
@@ -150,7 +150,7 @@ nvc0_identify(struct nouveau_device *device)
150 device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass; 150 device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass;
151 device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; 151 device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
152 device->oclass[NVDEV_ENGINE_GR ] = nvc4_gr_oclass; 152 device->oclass[NVDEV_ENGINE_GR ] = nvc4_gr_oclass;
153 device->oclass[NVDEV_ENGINE_VP ] = &nvc0_vp_oclass; 153 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nvc0_mspdec_oclass;
154 device->oclass[NVDEV_ENGINE_MSVLD ] = &nvc0_msvld_oclass; 154 device->oclass[NVDEV_ENGINE_MSVLD ] = &nvc0_msvld_oclass;
155 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass; 155 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass;
156 device->oclass[NVDEV_ENGINE_CE0 ] = &nvc0_ce0_oclass; 156 device->oclass[NVDEV_ENGINE_CE0 ] = &nvc0_ce0_oclass;
@@ -182,7 +182,7 @@ nvc0_identify(struct nouveau_device *device)
182 device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass; 182 device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass;
183 device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; 183 device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
184 device->oclass[NVDEV_ENGINE_GR ] = nvc4_gr_oclass; 184 device->oclass[NVDEV_ENGINE_GR ] = nvc4_gr_oclass;
185 device->oclass[NVDEV_ENGINE_VP ] = &nvc0_vp_oclass; 185 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nvc0_mspdec_oclass;
186 device->oclass[NVDEV_ENGINE_MSVLD ] = &nvc0_msvld_oclass; 186 device->oclass[NVDEV_ENGINE_MSVLD ] = &nvc0_msvld_oclass;
187 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass; 187 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass;
188 device->oclass[NVDEV_ENGINE_CE0 ] = &nvc0_ce0_oclass; 188 device->oclass[NVDEV_ENGINE_CE0 ] = &nvc0_ce0_oclass;
@@ -215,7 +215,7 @@ nvc0_identify(struct nouveau_device *device)
215 device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass; 215 device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass;
216 device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; 216 device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
217 device->oclass[NVDEV_ENGINE_GR ] = nvc4_gr_oclass; 217 device->oclass[NVDEV_ENGINE_GR ] = nvc4_gr_oclass;
218 device->oclass[NVDEV_ENGINE_VP ] = &nvc0_vp_oclass; 218 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nvc0_mspdec_oclass;
219 device->oclass[NVDEV_ENGINE_MSVLD ] = &nvc0_msvld_oclass; 219 device->oclass[NVDEV_ENGINE_MSVLD ] = &nvc0_msvld_oclass;
220 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass; 220 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass;
221 device->oclass[NVDEV_ENGINE_CE0 ] = &nvc0_ce0_oclass; 221 device->oclass[NVDEV_ENGINE_CE0 ] = &nvc0_ce0_oclass;
@@ -247,7 +247,7 @@ nvc0_identify(struct nouveau_device *device)
247 device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass; 247 device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass;
248 device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; 248 device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
249 device->oclass[NVDEV_ENGINE_GR ] = nvc1_gr_oclass; 249 device->oclass[NVDEV_ENGINE_GR ] = nvc1_gr_oclass;
250 device->oclass[NVDEV_ENGINE_VP ] = &nvc0_vp_oclass; 250 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nvc0_mspdec_oclass;
251 device->oclass[NVDEV_ENGINE_MSVLD ] = &nvc0_msvld_oclass; 251 device->oclass[NVDEV_ENGINE_MSVLD ] = &nvc0_msvld_oclass;
252 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass; 252 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass;
253 device->oclass[NVDEV_ENGINE_CE0 ] = &nvc0_ce0_oclass; 253 device->oclass[NVDEV_ENGINE_CE0 ] = &nvc0_ce0_oclass;
@@ -279,7 +279,7 @@ nvc0_identify(struct nouveau_device *device)
279 device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass; 279 device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass;
280 device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; 280 device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
281 device->oclass[NVDEV_ENGINE_GR ] = nvc8_gr_oclass; 281 device->oclass[NVDEV_ENGINE_GR ] = nvc8_gr_oclass;
282 device->oclass[NVDEV_ENGINE_VP ] = &nvc0_vp_oclass; 282 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nvc0_mspdec_oclass;
283 device->oclass[NVDEV_ENGINE_MSVLD ] = &nvc0_msvld_oclass; 283 device->oclass[NVDEV_ENGINE_MSVLD ] = &nvc0_msvld_oclass;
284 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass; 284 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass;
285 device->oclass[NVDEV_ENGINE_CE0 ] = &nvc0_ce0_oclass; 285 device->oclass[NVDEV_ENGINE_CE0 ] = &nvc0_ce0_oclass;
@@ -312,7 +312,7 @@ nvc0_identify(struct nouveau_device *device)
312 device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass; 312 device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass;
313 device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; 313 device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
314 device->oclass[NVDEV_ENGINE_GR ] = nvd9_gr_oclass; 314 device->oclass[NVDEV_ENGINE_GR ] = nvd9_gr_oclass;
315 device->oclass[NVDEV_ENGINE_VP ] = &nvc0_vp_oclass; 315 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nvc0_mspdec_oclass;
316 device->oclass[NVDEV_ENGINE_MSVLD ] = &nvc0_msvld_oclass; 316 device->oclass[NVDEV_ENGINE_MSVLD ] = &nvc0_msvld_oclass;
317 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass; 317 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass;
318 device->oclass[NVDEV_ENGINE_CE0 ] = &nvc0_ce0_oclass; 318 device->oclass[NVDEV_ENGINE_CE0 ] = &nvc0_ce0_oclass;
@@ -342,7 +342,7 @@ nvc0_identify(struct nouveau_device *device)
342 device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass; 342 device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass;
343 device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; 343 device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
344 device->oclass[NVDEV_ENGINE_GR ] = nvd7_gr_oclass; 344 device->oclass[NVDEV_ENGINE_GR ] = nvd7_gr_oclass;
345 device->oclass[NVDEV_ENGINE_VP ] = &nvc0_vp_oclass; 345 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nvc0_mspdec_oclass;
346 device->oclass[NVDEV_ENGINE_MSVLD ] = &nvc0_msvld_oclass; 346 device->oclass[NVDEV_ENGINE_MSVLD ] = &nvc0_msvld_oclass;
347 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass; 347 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass;
348 device->oclass[NVDEV_ENGINE_CE0 ] = &nvc0_ce0_oclass; 348 device->oclass[NVDEV_ENGINE_CE0 ] = &nvc0_ce0_oclass;
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/nve0.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/nve0.c
index 13934f2b9cbd..b2225ec499b1 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/device/nve0.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/nve0.c
@@ -51,7 +51,7 @@
51#include <engine/ce.h> 51#include <engine/ce.h>
52#include <engine/bsp.h> 52#include <engine/bsp.h>
53#include <engine/msvld.h> 53#include <engine/msvld.h>
54#include <engine/vp.h> 54#include <engine/mspdec.h>
55#include <engine/msppp.h> 55#include <engine/msppp.h>
56#include <engine/pm.h> 56#include <engine/pm.h>
57 57
@@ -89,7 +89,7 @@ nve0_identify(struct nouveau_device *device)
89 device->oclass[NVDEV_ENGINE_CE1 ] = &nve0_ce1_oclass; 89 device->oclass[NVDEV_ENGINE_CE1 ] = &nve0_ce1_oclass;
90 device->oclass[NVDEV_ENGINE_CE2 ] = &nve0_ce2_oclass; 90 device->oclass[NVDEV_ENGINE_CE2 ] = &nve0_ce2_oclass;
91 device->oclass[NVDEV_ENGINE_MSVLD ] = &nve0_msvld_oclass; 91 device->oclass[NVDEV_ENGINE_MSVLD ] = &nve0_msvld_oclass;
92 device->oclass[NVDEV_ENGINE_VP ] = &nve0_vp_oclass; 92 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nve0_mspdec_oclass;
93 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass; 93 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass;
94 device->oclass[NVDEV_ENGINE_PM ] = &nve0_pm_oclass; 94 device->oclass[NVDEV_ENGINE_PM ] = &nve0_pm_oclass;
95 break; 95 break;
@@ -123,7 +123,7 @@ nve0_identify(struct nouveau_device *device)
123 device->oclass[NVDEV_ENGINE_CE1 ] = &nve0_ce1_oclass; 123 device->oclass[NVDEV_ENGINE_CE1 ] = &nve0_ce1_oclass;
124 device->oclass[NVDEV_ENGINE_CE2 ] = &nve0_ce2_oclass; 124 device->oclass[NVDEV_ENGINE_CE2 ] = &nve0_ce2_oclass;
125 device->oclass[NVDEV_ENGINE_MSVLD ] = &nve0_msvld_oclass; 125 device->oclass[NVDEV_ENGINE_MSVLD ] = &nve0_msvld_oclass;
126 device->oclass[NVDEV_ENGINE_VP ] = &nve0_vp_oclass; 126 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nve0_mspdec_oclass;
127 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass; 127 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass;
128 device->oclass[NVDEV_ENGINE_PM ] = &nve0_pm_oclass; 128 device->oclass[NVDEV_ENGINE_PM ] = &nve0_pm_oclass;
129 break; 129 break;
@@ -157,7 +157,7 @@ nve0_identify(struct nouveau_device *device)
157 device->oclass[NVDEV_ENGINE_CE1 ] = &nve0_ce1_oclass; 157 device->oclass[NVDEV_ENGINE_CE1 ] = &nve0_ce1_oclass;
158 device->oclass[NVDEV_ENGINE_CE2 ] = &nve0_ce2_oclass; 158 device->oclass[NVDEV_ENGINE_CE2 ] = &nve0_ce2_oclass;
159 device->oclass[NVDEV_ENGINE_MSVLD ] = &nve0_msvld_oclass; 159 device->oclass[NVDEV_ENGINE_MSVLD ] = &nve0_msvld_oclass;
160 device->oclass[NVDEV_ENGINE_VP ] = &nve0_vp_oclass; 160 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nve0_mspdec_oclass;
161 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass; 161 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass;
162 device->oclass[NVDEV_ENGINE_PM ] = &nve0_pm_oclass; 162 device->oclass[NVDEV_ENGINE_PM ] = &nve0_pm_oclass;
163 break; 163 break;
@@ -213,7 +213,7 @@ nve0_identify(struct nouveau_device *device)
213 device->oclass[NVDEV_ENGINE_CE1 ] = &nve0_ce1_oclass; 213 device->oclass[NVDEV_ENGINE_CE1 ] = &nve0_ce1_oclass;
214 device->oclass[NVDEV_ENGINE_CE2 ] = &nve0_ce2_oclass; 214 device->oclass[NVDEV_ENGINE_CE2 ] = &nve0_ce2_oclass;
215 device->oclass[NVDEV_ENGINE_MSVLD ] = &nve0_msvld_oclass; 215 device->oclass[NVDEV_ENGINE_MSVLD ] = &nve0_msvld_oclass;
216 device->oclass[NVDEV_ENGINE_VP ] = &nve0_vp_oclass; 216 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nve0_mspdec_oclass;
217 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass; 217 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass;
218 device->oclass[NVDEV_ENGINE_PM ] = &nvf0_pm_oclass; 218 device->oclass[NVDEV_ENGINE_PM ] = &nvf0_pm_oclass;
219 break; 219 break;
@@ -247,7 +247,7 @@ nve0_identify(struct nouveau_device *device)
247 device->oclass[NVDEV_ENGINE_CE1 ] = &nve0_ce1_oclass; 247 device->oclass[NVDEV_ENGINE_CE1 ] = &nve0_ce1_oclass;
248 device->oclass[NVDEV_ENGINE_CE2 ] = &nve0_ce2_oclass; 248 device->oclass[NVDEV_ENGINE_CE2 ] = &nve0_ce2_oclass;
249 device->oclass[NVDEV_ENGINE_MSVLD ] = &nve0_msvld_oclass; 249 device->oclass[NVDEV_ENGINE_MSVLD ] = &nve0_msvld_oclass;
250 device->oclass[NVDEV_ENGINE_VP ] = &nve0_vp_oclass; 250 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nve0_mspdec_oclass;
251 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass; 251 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass;
252 device->oclass[NVDEV_ENGINE_PM ] = &nvf0_pm_oclass; 252 device->oclass[NVDEV_ENGINE_PM ] = &nvf0_pm_oclass;
253 break; 253 break;
@@ -281,7 +281,7 @@ nve0_identify(struct nouveau_device *device)
281 device->oclass[NVDEV_ENGINE_CE1 ] = &nve0_ce1_oclass; 281 device->oclass[NVDEV_ENGINE_CE1 ] = &nve0_ce1_oclass;
282 device->oclass[NVDEV_ENGINE_CE2 ] = &nve0_ce2_oclass; 282 device->oclass[NVDEV_ENGINE_CE2 ] = &nve0_ce2_oclass;
283 device->oclass[NVDEV_ENGINE_MSVLD ] = &nve0_msvld_oclass; 283 device->oclass[NVDEV_ENGINE_MSVLD ] = &nve0_msvld_oclass;
284 device->oclass[NVDEV_ENGINE_VP ] = &nve0_vp_oclass; 284 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nve0_mspdec_oclass;
285 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass; 285 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass;
286 break; 286 break;
287 case 0x108: 287 case 0x108:
@@ -314,7 +314,7 @@ nve0_identify(struct nouveau_device *device)
314 device->oclass[NVDEV_ENGINE_CE1 ] = &nve0_ce1_oclass; 314 device->oclass[NVDEV_ENGINE_CE1 ] = &nve0_ce1_oclass;
315 device->oclass[NVDEV_ENGINE_CE2 ] = &nve0_ce2_oclass; 315 device->oclass[NVDEV_ENGINE_CE2 ] = &nve0_ce2_oclass;
316 device->oclass[NVDEV_ENGINE_MSVLD ] = &nve0_msvld_oclass; 316 device->oclass[NVDEV_ENGINE_MSVLD ] = &nve0_msvld_oclass;
317 device->oclass[NVDEV_ENGINE_VP ] = &nve0_vp_oclass; 317 device->oclass[NVDEV_ENGINE_MSPDEC ] = &nve0_mspdec_oclass;
318 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass; 318 device->oclass[NVDEV_ENGINE_MSPPP ] = &nvc0_msppp_oclass;
319 break; 319 break;
320 default: 320 default:
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv84.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv84.c
index 6abcd5c3e773..727358d8ac77 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv84.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv84.c
@@ -57,7 +57,8 @@ nv84_fifo_context_attach(struct nouveau_object *parent,
57 switch (nv_engidx(object->engine)) { 57 switch (nv_engidx(object->engine)) {
58 case NVDEV_ENGINE_SW : return 0; 58 case NVDEV_ENGINE_SW : return 0;
59 case NVDEV_ENGINE_GR : addr = 0x0020; break; 59 case NVDEV_ENGINE_GR : addr = 0x0020; break;
60 case NVDEV_ENGINE_VP : addr = 0x0040; break; 60 case NVDEV_ENGINE_VP :
61 case NVDEV_ENGINE_MSPDEC: addr = 0x0040; break;
61 case NVDEV_ENGINE_MSPPP : 62 case NVDEV_ENGINE_MSPPP :
62 case NVDEV_ENGINE_MPEG : addr = 0x0060; break; 63 case NVDEV_ENGINE_MPEG : addr = 0x0060; break;
63 case NVDEV_ENGINE_BSP : 64 case NVDEV_ENGINE_BSP :
@@ -95,7 +96,8 @@ nv84_fifo_context_detach(struct nouveau_object *parent, bool suspend,
95 switch (nv_engidx(object->engine)) { 96 switch (nv_engidx(object->engine)) {
96 case NVDEV_ENGINE_SW : return 0; 97 case NVDEV_ENGINE_SW : return 0;
97 case NVDEV_ENGINE_GR : engn = 0; addr = 0x0020; break; 98 case NVDEV_ENGINE_GR : engn = 0; addr = 0x0020; break;
98 case NVDEV_ENGINE_VP : engn = 3; addr = 0x0040; break; 99 case NVDEV_ENGINE_VP :
100 case NVDEV_ENGINE_MSPDEC: engn = 3; addr = 0x0040; break;
99 case NVDEV_ENGINE_MSPPP : 101 case NVDEV_ENGINE_MSPPP :
100 case NVDEV_ENGINE_MPEG : engn = 1; addr = 0x0060; break; 102 case NVDEV_ENGINE_MPEG : engn = 1; addr = 0x0060; break;
101 case NVDEV_ENGINE_BSP : 103 case NVDEV_ENGINE_BSP :
@@ -148,7 +150,8 @@ nv84_fifo_object_attach(struct nouveau_object *parent,
148 case NVDEV_ENGINE_MSPPP : context |= 0x00200000; break; 150 case NVDEV_ENGINE_MSPPP : context |= 0x00200000; break;
149 case NVDEV_ENGINE_ME : 151 case NVDEV_ENGINE_ME :
150 case NVDEV_ENGINE_CE0 : context |= 0x00300000; break; 152 case NVDEV_ENGINE_CE0 : context |= 0x00300000; break;
151 case NVDEV_ENGINE_VP : context |= 0x00400000; break; 153 case NVDEV_ENGINE_VP :
154 case NVDEV_ENGINE_MSPDEC: context |= 0x00400000; break;
152 case NVDEV_ENGINE_CIPHER: 155 case NVDEV_ENGINE_CIPHER:
153 case NVDEV_ENGINE_SEC : 156 case NVDEV_ENGINE_SEC :
154 case NVDEV_ENGINE_VIC : context |= 0x00500000; break; 157 case NVDEV_ENGINE_VIC : context |= 0x00500000; break;
@@ -195,6 +198,7 @@ nv84_fifo_chan_ctor_dma(struct nouveau_object *parent,
195 (1ULL << NVDEV_ENGINE_SEC) | 198 (1ULL << NVDEV_ENGINE_SEC) |
196 (1ULL << NVDEV_ENGINE_BSP) | 199 (1ULL << NVDEV_ENGINE_BSP) |
197 (1ULL << NVDEV_ENGINE_MSVLD) | 200 (1ULL << NVDEV_ENGINE_MSVLD) |
201 (1ULL << NVDEV_ENGINE_MSPDEC) |
198 (1ULL << NVDEV_ENGINE_MSPPP) | 202 (1ULL << NVDEV_ENGINE_MSPPP) |
199 (1ULL << NVDEV_ENGINE_CE0) | 203 (1ULL << NVDEV_ENGINE_CE0) |
200 (1ULL << NVDEV_ENGINE_VIC), &chan); 204 (1ULL << NVDEV_ENGINE_VIC), &chan);
@@ -270,6 +274,7 @@ nv84_fifo_chan_ctor_ind(struct nouveau_object *parent,
270 (1ULL << NVDEV_ENGINE_SEC) | 274 (1ULL << NVDEV_ENGINE_SEC) |
271 (1ULL << NVDEV_ENGINE_BSP) | 275 (1ULL << NVDEV_ENGINE_BSP) |
272 (1ULL << NVDEV_ENGINE_MSVLD) | 276 (1ULL << NVDEV_ENGINE_MSVLD) |
277 (1ULL << NVDEV_ENGINE_MSPDEC) |
273 (1ULL << NVDEV_ENGINE_MSPPP) | 278 (1ULL << NVDEV_ENGINE_MSPPP) |
274 (1ULL << NVDEV_ENGINE_CE0) | 279 (1ULL << NVDEV_ENGINE_CE0) |
275 (1ULL << NVDEV_ENGINE_VIC), &chan); 280 (1ULL << NVDEV_ENGINE_VIC), &chan);
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nvc0.c
index d86601c02368..6e05b0b706fa 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nvc0.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nvc0.c
@@ -120,13 +120,13 @@ nvc0_fifo_context_attach(struct nouveau_object *parent,
120 int ret; 120 int ret;
121 121
122 switch (nv_engidx(object->engine)) { 122 switch (nv_engidx(object->engine)) {
123 case NVDEV_ENGINE_SW : return 0; 123 case NVDEV_ENGINE_SW : return 0;
124 case NVDEV_ENGINE_GR : addr = 0x0210; break; 124 case NVDEV_ENGINE_GR : addr = 0x0210; break;
125 case NVDEV_ENGINE_CE0 : addr = 0x0230; break; 125 case NVDEV_ENGINE_CE0 : addr = 0x0230; break;
126 case NVDEV_ENGINE_CE1 : addr = 0x0240; break; 126 case NVDEV_ENGINE_CE1 : addr = 0x0240; break;
127 case NVDEV_ENGINE_MSVLD: addr = 0x0270; break; 127 case NVDEV_ENGINE_MSVLD : addr = 0x0270; break;
128 case NVDEV_ENGINE_VP : addr = 0x0250; break; 128 case NVDEV_ENGINE_MSPDEC: addr = 0x0250; break;
129 case NVDEV_ENGINE_MSPPP: addr = 0x0260; break; 129 case NVDEV_ENGINE_MSPPP : addr = 0x0260; break;
130 default: 130 default:
131 return -EINVAL; 131 return -EINVAL;
132 } 132 }
@@ -157,13 +157,13 @@ nvc0_fifo_context_detach(struct nouveau_object *parent, bool suspend,
157 u32 addr; 157 u32 addr;
158 158
159 switch (nv_engidx(object->engine)) { 159 switch (nv_engidx(object->engine)) {
160 case NVDEV_ENGINE_SW : return 0; 160 case NVDEV_ENGINE_SW : return 0;
161 case NVDEV_ENGINE_GR : addr = 0x0210; break; 161 case NVDEV_ENGINE_GR : addr = 0x0210; break;
162 case NVDEV_ENGINE_CE0 : addr = 0x0230; break; 162 case NVDEV_ENGINE_CE0 : addr = 0x0230; break;
163 case NVDEV_ENGINE_CE1 : addr = 0x0240; break; 163 case NVDEV_ENGINE_CE1 : addr = 0x0240; break;
164 case NVDEV_ENGINE_MSVLD: addr = 0x0270; break; 164 case NVDEV_ENGINE_MSVLD : addr = 0x0270; break;
165 case NVDEV_ENGINE_VP : addr = 0x0250; break; 165 case NVDEV_ENGINE_MSPDEC: addr = 0x0250; break;
166 case NVDEV_ENGINE_MSPPP: addr = 0x0260; break; 166 case NVDEV_ENGINE_MSPPP : addr = 0x0260; break;
167 default: 167 default:
168 return -EINVAL; 168 return -EINVAL;
169 } 169 }
@@ -215,7 +215,7 @@ nvc0_fifo_chan_ctor(struct nouveau_object *parent,
215 (1ULL << NVDEV_ENGINE_CE0) | 215 (1ULL << NVDEV_ENGINE_CE0) |
216 (1ULL << NVDEV_ENGINE_CE1) | 216 (1ULL << NVDEV_ENGINE_CE1) |
217 (1ULL << NVDEV_ENGINE_MSVLD) | 217 (1ULL << NVDEV_ENGINE_MSVLD) |
218 (1ULL << NVDEV_ENGINE_VP) | 218 (1ULL << NVDEV_ENGINE_MSPDEC) |
219 (1ULL << NVDEV_ENGINE_MSPPP), &chan); 219 (1ULL << NVDEV_ENGINE_MSPPP), &chan);
220 *pobject = nv_object(chan); 220 *pobject = nv_object(chan);
221 if (ret) 221 if (ret)
@@ -381,12 +381,12 @@ static inline int
381nvc0_fifo_engidx(struct nvc0_fifo_priv *priv, u32 engn) 381nvc0_fifo_engidx(struct nvc0_fifo_priv *priv, u32 engn)
382{ 382{
383 switch (engn) { 383 switch (engn) {
384 case NVDEV_ENGINE_GR : engn = 0; break; 384 case NVDEV_ENGINE_GR : engn = 0; break;
385 case NVDEV_ENGINE_MSVLD: engn = 1; break; 385 case NVDEV_ENGINE_MSVLD : engn = 1; break;
386 case NVDEV_ENGINE_MSPPP: engn = 2; break; 386 case NVDEV_ENGINE_MSPPP : engn = 2; break;
387 case NVDEV_ENGINE_VP : engn = 3; break; 387 case NVDEV_ENGINE_MSPDEC: engn = 3; break;
388 case NVDEV_ENGINE_CE0 : engn = 4; break; 388 case NVDEV_ENGINE_CE0 : engn = 4; break;
389 case NVDEV_ENGINE_CE1 : engn = 5; break; 389 case NVDEV_ENGINE_CE1 : engn = 5; break;
390 default: 390 default:
391 return -1; 391 return -1;
392 } 392 }
@@ -401,7 +401,7 @@ nvc0_fifo_engine(struct nvc0_fifo_priv *priv, u32 engn)
401 case 0: engn = NVDEV_ENGINE_GR; break; 401 case 0: engn = NVDEV_ENGINE_GR; break;
402 case 1: engn = NVDEV_ENGINE_MSVLD; break; 402 case 1: engn = NVDEV_ENGINE_MSVLD; break;
403 case 2: engn = NVDEV_ENGINE_MSPPP; break; 403 case 2: engn = NVDEV_ENGINE_MSPPP; break;
404 case 3: engn = NVDEV_ENGINE_VP; break; 404 case 3: engn = NVDEV_ENGINE_MSPDEC; break;
405 case 4: engn = NVDEV_ENGINE_CE0; break; 405 case 4: engn = NVDEV_ENGINE_CE0; break;
406 case 5: engn = NVDEV_ENGINE_CE1; break; 406 case 5: engn = NVDEV_ENGINE_CE1; break;
407 default: 407 default:
@@ -551,7 +551,7 @@ nvc0_fifo_fault_engine[] = {
551 { 0x10, "PMSVLD", NULL, NVDEV_ENGINE_MSVLD }, 551 { 0x10, "PMSVLD", NULL, NVDEV_ENGINE_MSVLD },
552 { 0x11, "PMSPPP", NULL, NVDEV_ENGINE_MSPPP }, 552 { 0x11, "PMSPPP", NULL, NVDEV_ENGINE_MSPPP },
553 { 0x13, "PCOUNTER" }, 553 { 0x13, "PCOUNTER" },
554 { 0x14, "PVP", NULL, NVDEV_ENGINE_VP }, 554 { 0x14, "PMSPDEC", NULL, NVDEV_ENGINE_MSPDEC },
555 { 0x15, "PCE0", NULL, NVDEV_ENGINE_CE0 }, 555 { 0x15, "PCE0", NULL, NVDEV_ENGINE_CE0 },
556 { 0x16, "PCE1", NULL, NVDEV_ENGINE_CE1 }, 556 { 0x16, "PCE1", NULL, NVDEV_ENGINE_CE1 },
557 { 0x17, "PDAEMON" }, 557 { 0x17, "PDAEMON" },
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nve0.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nve0.c
index ea31e2de3eab..f5965eb6b262 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nve0.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nve0.c
@@ -48,7 +48,7 @@ static const struct {
48} fifo_engine[] = { 48} fifo_engine[] = {
49 _(NVDEV_ENGINE_GR , (1ULL << NVDEV_ENGINE_SW) | 49 _(NVDEV_ENGINE_GR , (1ULL << NVDEV_ENGINE_SW) |
50 (1ULL << NVDEV_ENGINE_CE2)), 50 (1ULL << NVDEV_ENGINE_CE2)),
51 _(NVDEV_ENGINE_VP , 0), 51 _(NVDEV_ENGINE_MSPDEC , 0),
52 _(NVDEV_ENGINE_MSPPP , 0), 52 _(NVDEV_ENGINE_MSPPP , 0),
53 _(NVDEV_ENGINE_MSVLD , 0), 53 _(NVDEV_ENGINE_MSVLD , 0),
54 _(NVDEV_ENGINE_CE0 , 0), 54 _(NVDEV_ENGINE_CE0 , 0),
@@ -148,10 +148,10 @@ nve0_fifo_context_attach(struct nouveau_object *parent,
148 case NVDEV_ENGINE_CE2: 148 case NVDEV_ENGINE_CE2:
149 nv_engctx(ectx)->addr = nv_gpuobj(base)->addr >> 12; 149 nv_engctx(ectx)->addr = nv_gpuobj(base)->addr >> 12;
150 return 0; 150 return 0;
151 case NVDEV_ENGINE_GR : addr = 0x0210; break; 151 case NVDEV_ENGINE_GR : addr = 0x0210; break;
152 case NVDEV_ENGINE_MSVLD: addr = 0x0270; break; 152 case NVDEV_ENGINE_MSVLD : addr = 0x0270; break;
153 case NVDEV_ENGINE_VP : addr = 0x0250; break; 153 case NVDEV_ENGINE_MSPDEC: addr = 0x0250; break;
154 case NVDEV_ENGINE_MSPPP: addr = 0x0260; break; 154 case NVDEV_ENGINE_MSPPP : addr = 0x0260; break;
155 default: 155 default:
156 return -EINVAL; 156 return -EINVAL;
157 } 157 }
@@ -182,14 +182,14 @@ nve0_fifo_context_detach(struct nouveau_object *parent, bool suspend,
182 u32 addr; 182 u32 addr;
183 183
184 switch (nv_engidx(object->engine)) { 184 switch (nv_engidx(object->engine)) {
185 case NVDEV_ENGINE_SW : return 0; 185 case NVDEV_ENGINE_SW : return 0;
186 case NVDEV_ENGINE_CE0 : 186 case NVDEV_ENGINE_CE0 :
187 case NVDEV_ENGINE_CE1 : 187 case NVDEV_ENGINE_CE1 :
188 case NVDEV_ENGINE_CE2 : addr = 0x0000; break; 188 case NVDEV_ENGINE_CE2 : addr = 0x0000; break;
189 case NVDEV_ENGINE_GR : addr = 0x0210; break; 189 case NVDEV_ENGINE_GR : addr = 0x0210; break;
190 case NVDEV_ENGINE_MSVLD: addr = 0x0270; break; 190 case NVDEV_ENGINE_MSVLD : addr = 0x0270; break;
191 case NVDEV_ENGINE_VP : addr = 0x0250; break; 191 case NVDEV_ENGINE_MSPDEC: addr = 0x0250; break;
192 case NVDEV_ENGINE_MSPPP: addr = 0x0260; break; 192 case NVDEV_ENGINE_MSPPP : addr = 0x0260; break;
193 default: 193 default:
194 return -EINVAL; 194 return -EINVAL;
195 } 195 }
@@ -414,14 +414,14 @@ static inline int
414nve0_fifo_engidx(struct nve0_fifo_priv *priv, u32 engn) 414nve0_fifo_engidx(struct nve0_fifo_priv *priv, u32 engn)
415{ 415{
416 switch (engn) { 416 switch (engn) {
417 case NVDEV_ENGINE_GR : 417 case NVDEV_ENGINE_GR :
418 case NVDEV_ENGINE_CE2 : engn = 0; break; 418 case NVDEV_ENGINE_CE2 : engn = 0; break;
419 case NVDEV_ENGINE_MSVLD: engn = 1; break; 419 case NVDEV_ENGINE_MSVLD : engn = 1; break;
420 case NVDEV_ENGINE_MSPPP: engn = 2; break; 420 case NVDEV_ENGINE_MSPPP : engn = 2; break;
421 case NVDEV_ENGINE_VP : engn = 3; break; 421 case NVDEV_ENGINE_MSPDEC: engn = 3; break;
422 case NVDEV_ENGINE_CE0 : engn = 4; break; 422 case NVDEV_ENGINE_CE0 : engn = 4; break;
423 case NVDEV_ENGINE_CE1 : engn = 5; break; 423 case NVDEV_ENGINE_CE1 : engn = 5; break;
424 case NVDEV_ENGINE_MSENC: engn = 6; break; 424 case NVDEV_ENGINE_MSENC : engn = 6; break;
425 default: 425 default:
426 return -1; 426 return -1;
427 } 427 }
@@ -622,7 +622,7 @@ nve0_fifo_fault_engine[] = {
622 { 0x10, "MSVLD", NULL, NVDEV_ENGINE_MSVLD }, 622 { 0x10, "MSVLD", NULL, NVDEV_ENGINE_MSVLD },
623 { 0x11, "MSPPP", NULL, NVDEV_ENGINE_MSPPP }, 623 { 0x11, "MSPPP", NULL, NVDEV_ENGINE_MSPPP },
624 { 0x13, "PERF" }, 624 { 0x13, "PERF" },
625 { 0x14, "MSPDEC", NULL, NVDEV_ENGINE_VP }, 625 { 0x14, "MSPDEC", NULL, NVDEV_ENGINE_MSPDEC },
626 { 0x15, "CE0", NULL, NVDEV_ENGINE_CE0 }, 626 { 0x15, "CE0", NULL, NVDEV_ENGINE_CE0 },
627 { 0x16, "CE1", NULL, NVDEV_ENGINE_CE1 }, 627 { 0x16, "CE1", NULL, NVDEV_ENGINE_CE1 },
628 { 0x17, "PMU" }, 628 { 0x17, "PMU" },
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/mspdec/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/mspdec/Kbuild
new file mode 100644
index 000000000000..c05281cbd9b8
--- /dev/null
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/mspdec/Kbuild
@@ -0,0 +1,3 @@
1nvkm-y += nvkm/engine/mspdec/nv98.o
2nvkm-y += nvkm/engine/mspdec/nvc0.o
3nvkm-y += nvkm/engine/mspdec/nve0.o
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/vp/nv98.c b/drivers/gpu/drm/nouveau/nvkm/engine/mspdec/nv98.c
index fc9ae0ff1ef5..d47df06bb223 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/vp/nv98.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/mspdec/nv98.c
@@ -23,30 +23,30 @@
23 */ 23 */
24 24
25#include <engine/falcon.h> 25#include <engine/falcon.h>
26#include <engine/vp.h> 26#include <engine/mspdec.h>
27 27
28struct nv98_vp_priv { 28struct nv98_mspdec_priv {
29 struct nouveau_falcon base; 29 struct nouveau_falcon base;
30}; 30};
31 31
32/******************************************************************************* 32/*******************************************************************************
33 * VP object classes 33 * MSPDEC object classes
34 ******************************************************************************/ 34 ******************************************************************************/
35 35
36static struct nouveau_oclass 36static struct nouveau_oclass
37nv98_vp_sclass[] = { 37nv98_mspdec_sclass[] = {
38 { 0x88b2, &nouveau_object_ofuncs }, 38 { 0x88b2, &nouveau_object_ofuncs },
39 { 0x85b2, &nouveau_object_ofuncs }, 39 { 0x85b2, &nouveau_object_ofuncs },
40 {}, 40 {},
41}; 41};
42 42
43/******************************************************************************* 43/*******************************************************************************
44 * PVP context 44 * PMSPDEC context
45 ******************************************************************************/ 45 ******************************************************************************/
46 46
47static struct nouveau_oclass 47static struct nouveau_oclass
48nv98_vp_cclass = { 48nv98_mspdec_cclass = {
49 .handle = NV_ENGCTX(VP, 0x98), 49 .handle = NV_ENGCTX(MSPDEC, 0x98),
50 .ofuncs = &(struct nouveau_ofuncs) { 50 .ofuncs = &(struct nouveau_ofuncs) {
51 .ctor = _nouveau_falcon_context_ctor, 51 .ctor = _nouveau_falcon_context_ctor,
52 .dtor = _nouveau_falcon_context_dtor, 52 .dtor = _nouveau_falcon_context_dtor,
@@ -58,13 +58,13 @@ nv98_vp_cclass = {
58}; 58};
59 59
60/******************************************************************************* 60/*******************************************************************************
61 * PVP engine/subdev functions 61 * PMSPDEC engine/subdev functions
62 ******************************************************************************/ 62 ******************************************************************************/
63 63
64static int 64static int
65nv98_vp_init(struct nouveau_object *object) 65nv98_mspdec_init(struct nouveau_object *object)
66{ 66{
67 struct nv98_vp_priv *priv = (void *)object; 67 struct nv98_mspdec_priv *priv = (void *)object;
68 int ret; 68 int ret;
69 69
70 ret = nouveau_falcon_init(&priv->base); 70 ret = nouveau_falcon_init(&priv->base);
@@ -77,32 +77,32 @@ nv98_vp_init(struct nouveau_object *object)
77} 77}
78 78
79static int 79static int
80nv98_vp_ctor(struct nouveau_object *parent, struct nouveau_object *engine, 80nv98_mspdec_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
81 struct nouveau_oclass *oclass, void *data, u32 size, 81 struct nouveau_oclass *oclass, void *data, u32 size,
82 struct nouveau_object **pobject) 82 struct nouveau_object **pobject)
83{ 83{
84 struct nv98_vp_priv *priv; 84 struct nv98_mspdec_priv *priv;
85 int ret; 85 int ret;
86 86
87 ret = nouveau_falcon_create(parent, engine, oclass, 0x085000, true, 87 ret = nouveau_falcon_create(parent, engine, oclass, 0x085000, true,
88 "PVP", "vp", &priv); 88 "PMSPDEC", "mspdec", &priv);
89 *pobject = nv_object(priv); 89 *pobject = nv_object(priv);
90 if (ret) 90 if (ret)
91 return ret; 91 return ret;
92 92
93 nv_subdev(priv)->unit = 0x01020000; 93 nv_subdev(priv)->unit = 0x01020000;
94 nv_engine(priv)->cclass = &nv98_vp_cclass; 94 nv_engine(priv)->cclass = &nv98_mspdec_cclass;
95 nv_engine(priv)->sclass = nv98_vp_sclass; 95 nv_engine(priv)->sclass = nv98_mspdec_sclass;
96 return 0; 96 return 0;
97} 97}
98 98
99struct nouveau_oclass 99struct nouveau_oclass
100nv98_vp_oclass = { 100nv98_mspdec_oclass = {
101 .handle = NV_ENGINE(VP, 0x98), 101 .handle = NV_ENGINE(MSPDEC, 0x98),
102 .ofuncs = &(struct nouveau_ofuncs) { 102 .ofuncs = &(struct nouveau_ofuncs) {
103 .ctor = nv98_vp_ctor, 103 .ctor = nv98_mspdec_ctor,
104 .dtor = _nouveau_falcon_dtor, 104 .dtor = _nouveau_falcon_dtor,
105 .init = nv98_vp_init, 105 .init = nv98_mspdec_init,
106 .fini = _nouveau_falcon_fini, 106 .fini = _nouveau_falcon_fini,
107 .rd32 = _nouveau_falcon_rd32, 107 .rd32 = _nouveau_falcon_rd32,
108 .wr32 = _nouveau_falcon_wr32, 108 .wr32 = _nouveau_falcon_wr32,
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/vp/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/engine/mspdec/nvc0.c
index ac1f62aace72..c622010a6722 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/vp/nvc0.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/mspdec/nvc0.c
@@ -23,29 +23,29 @@
23 */ 23 */
24 24
25#include <engine/falcon.h> 25#include <engine/falcon.h>
26#include <engine/vp.h> 26#include <engine/mspdec.h>
27 27
28struct nvc0_vp_priv { 28struct nvc0_mspdec_priv {
29 struct nouveau_falcon base; 29 struct nouveau_falcon base;
30}; 30};
31 31
32/******************************************************************************* 32/*******************************************************************************
33 * VP object classes 33 * MSPDEC object classes
34 ******************************************************************************/ 34 ******************************************************************************/
35 35
36static struct nouveau_oclass 36static struct nouveau_oclass
37nvc0_vp_sclass[] = { 37nvc0_mspdec_sclass[] = {
38 { 0x90b2, &nouveau_object_ofuncs }, 38 { 0x90b2, &nouveau_object_ofuncs },
39 {}, 39 {},
40}; 40};
41 41
42/******************************************************************************* 42/*******************************************************************************
43 * PVP context 43 * PMSPDEC context
44 ******************************************************************************/ 44 ******************************************************************************/
45 45
46static struct nouveau_oclass 46static struct nouveau_oclass
47nvc0_vp_cclass = { 47nvc0_mspdec_cclass = {
48 .handle = NV_ENGCTX(VP, 0xc0), 48 .handle = NV_ENGCTX(MSPDEC, 0xc0),
49 .ofuncs = &(struct nouveau_ofuncs) { 49 .ofuncs = &(struct nouveau_ofuncs) {
50 .ctor = _nouveau_falcon_context_ctor, 50 .ctor = _nouveau_falcon_context_ctor,
51 .dtor = _nouveau_falcon_context_dtor, 51 .dtor = _nouveau_falcon_context_dtor,
@@ -57,13 +57,13 @@ nvc0_vp_cclass = {
57}; 57};
58 58
59/******************************************************************************* 59/*******************************************************************************
60 * PVP engine/subdev functions 60 * PMSPDEC engine/subdev functions
61 ******************************************************************************/ 61 ******************************************************************************/
62 62
63static int 63static int
64nvc0_vp_init(struct nouveau_object *object) 64nvc0_mspdec_init(struct nouveau_object *object)
65{ 65{
66 struct nvc0_vp_priv *priv = (void *)object; 66 struct nvc0_mspdec_priv *priv = (void *)object;
67 int ret; 67 int ret;
68 68
69 ret = nouveau_falcon_init(&priv->base); 69 ret = nouveau_falcon_init(&priv->base);
@@ -76,33 +76,33 @@ nvc0_vp_init(struct nouveau_object *object)
76} 76}
77 77
78static int 78static int
79nvc0_vp_ctor(struct nouveau_object *parent, struct nouveau_object *engine, 79nvc0_mspdec_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
80 struct nouveau_oclass *oclass, void *data, u32 size, 80 struct nouveau_oclass *oclass, void *data, u32 size,
81 struct nouveau_object **pobject) 81 struct nouveau_object **pobject)
82{ 82{
83 struct nvc0_vp_priv *priv; 83 struct nvc0_mspdec_priv *priv;
84 int ret; 84 int ret;
85 85
86 ret = nouveau_falcon_create(parent, engine, oclass, 0x085000, true, 86 ret = nouveau_falcon_create(parent, engine, oclass, 0x085000, true,
87 "PVP", "vp", &priv); 87 "PMSPDEC", "mspdec", &priv);
88 *pobject = nv_object(priv); 88 *pobject = nv_object(priv);
89 if (ret) 89 if (ret)
90 return ret; 90 return ret;
91 91
92 nv_subdev(priv)->unit = 0x00020000; 92 nv_subdev(priv)->unit = 0x00020000;
93 nv_subdev(priv)->intr = nouveau_falcon_intr; 93 nv_subdev(priv)->intr = nouveau_falcon_intr;
94 nv_engine(priv)->cclass = &nvc0_vp_cclass; 94 nv_engine(priv)->cclass = &nvc0_mspdec_cclass;
95 nv_engine(priv)->sclass = nvc0_vp_sclass; 95 nv_engine(priv)->sclass = nvc0_mspdec_sclass;
96 return 0; 96 return 0;
97} 97}
98 98
99struct nouveau_oclass 99struct nouveau_oclass
100nvc0_vp_oclass = { 100nvc0_mspdec_oclass = {
101 .handle = NV_ENGINE(VP, 0xc0), 101 .handle = NV_ENGINE(MSPDEC, 0xc0),
102 .ofuncs = &(struct nouveau_ofuncs) { 102 .ofuncs = &(struct nouveau_ofuncs) {
103 .ctor = nvc0_vp_ctor, 103 .ctor = nvc0_mspdec_ctor,
104 .dtor = _nouveau_falcon_dtor, 104 .dtor = _nouveau_falcon_dtor,
105 .init = nvc0_vp_init, 105 .init = nvc0_mspdec_init,
106 .fini = _nouveau_falcon_fini, 106 .fini = _nouveau_falcon_fini,
107 .rd32 = _nouveau_falcon_rd32, 107 .rd32 = _nouveau_falcon_rd32,
108 .wr32 = _nouveau_falcon_wr32, 108 .wr32 = _nouveau_falcon_wr32,
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/vp/nve0.c b/drivers/gpu/drm/nouveau/nvkm/engine/mspdec/nve0.c
index d4c3108479c9..84108b5728f9 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/vp/nve0.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/mspdec/nve0.c
@@ -23,29 +23,29 @@
23 */ 23 */
24 24
25#include <engine/falcon.h> 25#include <engine/falcon.h>
26#include <engine/vp.h> 26#include <engine/mspdec.h>
27 27
28struct nve0_vp_priv { 28struct nve0_mspdec_priv {
29 struct nouveau_falcon base; 29 struct nouveau_falcon base;
30}; 30};
31 31
32/******************************************************************************* 32/*******************************************************************************
33 * VP object classes 33 * MSPDEC object classes
34 ******************************************************************************/ 34 ******************************************************************************/
35 35
36static struct nouveau_oclass 36static struct nouveau_oclass
37nve0_vp_sclass[] = { 37nve0_mspdec_sclass[] = {
38 { 0x95b2, &nouveau_object_ofuncs }, 38 { 0x95b2, &nouveau_object_ofuncs },
39 {}, 39 {},
40}; 40};
41 41
42/******************************************************************************* 42/*******************************************************************************
43 * PVP context 43 * PMSPDEC context
44 ******************************************************************************/ 44 ******************************************************************************/
45 45
46static struct nouveau_oclass 46static struct nouveau_oclass
47nve0_vp_cclass = { 47nve0_mspdec_cclass = {
48 .handle = NV_ENGCTX(VP, 0xe0), 48 .handle = NV_ENGCTX(MSPDEC, 0xe0),
49 .ofuncs = &(struct nouveau_ofuncs) { 49 .ofuncs = &(struct nouveau_ofuncs) {
50 .ctor = _nouveau_falcon_context_ctor, 50 .ctor = _nouveau_falcon_context_ctor,
51 .dtor = _nouveau_falcon_context_dtor, 51 .dtor = _nouveau_falcon_context_dtor,
@@ -57,13 +57,13 @@ nve0_vp_cclass = {
57}; 57};
58 58
59/******************************************************************************* 59/*******************************************************************************
60 * PVP engine/subdev functions 60 * PMSPDEC engine/subdev functions
61 ******************************************************************************/ 61 ******************************************************************************/
62 62
63static int 63static int
64nve0_vp_init(struct nouveau_object *object) 64nve0_mspdec_init(struct nouveau_object *object)
65{ 65{
66 struct nve0_vp_priv *priv = (void *)object; 66 struct nve0_mspdec_priv *priv = (void *)object;
67 int ret; 67 int ret;
68 68
69 ret = nouveau_falcon_init(&priv->base); 69 ret = nouveau_falcon_init(&priv->base);
@@ -76,33 +76,33 @@ nve0_vp_init(struct nouveau_object *object)
76} 76}
77 77
78static int 78static int
79nve0_vp_ctor(struct nouveau_object *parent, struct nouveau_object *engine, 79nve0_mspdec_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
80 struct nouveau_oclass *oclass, void *data, u32 size, 80 struct nouveau_oclass *oclass, void *data, u32 size,
81 struct nouveau_object **pobject) 81 struct nouveau_object **pobject)
82{ 82{
83 struct nve0_vp_priv *priv; 83 struct nve0_mspdec_priv *priv;
84 int ret; 84 int ret;
85 85
86 ret = nouveau_falcon_create(parent, engine, oclass, 0x085000, true, 86 ret = nouveau_falcon_create(parent, engine, oclass, 0x085000, true,
87 "PVP", "vp", &priv); 87 "PMSPDEC", "mspdec", &priv);
88 *pobject = nv_object(priv); 88 *pobject = nv_object(priv);
89 if (ret) 89 if (ret)
90 return ret; 90 return ret;
91 91
92 nv_subdev(priv)->unit = 0x00020000; 92 nv_subdev(priv)->unit = 0x00020000;
93 nv_subdev(priv)->intr = nouveau_falcon_intr; 93 nv_subdev(priv)->intr = nouveau_falcon_intr;
94 nv_engine(priv)->cclass = &nve0_vp_cclass; 94 nv_engine(priv)->cclass = &nve0_mspdec_cclass;
95 nv_engine(priv)->sclass = nve0_vp_sclass; 95 nv_engine(priv)->sclass = nve0_mspdec_sclass;
96 return 0; 96 return 0;
97} 97}
98 98
99struct nouveau_oclass 99struct nouveau_oclass
100nve0_vp_oclass = { 100nve0_mspdec_oclass = {
101 .handle = NV_ENGINE(VP, 0xe0), 101 .handle = NV_ENGINE(MSPDEC, 0xe0),
102 .ofuncs = &(struct nouveau_ofuncs) { 102 .ofuncs = &(struct nouveau_ofuncs) {
103 .ctor = nve0_vp_ctor, 103 .ctor = nve0_mspdec_ctor,
104 .dtor = _nouveau_falcon_dtor, 104 .dtor = _nouveau_falcon_dtor,
105 .init = nve0_vp_init, 105 .init = nve0_mspdec_init,
106 .fini = _nouveau_falcon_fini, 106 .fini = _nouveau_falcon_fini,
107 .rd32 = _nouveau_falcon_rd32, 107 .rd32 = _nouveau_falcon_rd32,
108 .wr32 = _nouveau_falcon_wr32, 108 .wr32 = _nouveau_falcon_wr32,
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/vp/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/vp/Kbuild
index 6c1d9d1ede94..e4bfb6eb3d21 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/vp/Kbuild
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/vp/Kbuild
@@ -1,4 +1 @@
1nvkm-y += nvkm/engine/vp/nv84.o nvkm-y += nvkm/engine/vp/nv84.o
2nvkm-y += nvkm/engine/vp/nv98.o
3nvkm-y += nvkm/engine/vp/nvc0.o
4nvkm-y += nvkm/engine/vp/nve0.o
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/Kbuild
index dbcea4930a1d..a1bb3e48739c 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/Kbuild
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/Kbuild
@@ -11,9 +11,9 @@ include $(src)/nvkm/subdev/ibus/Kbuild
11include $(src)/nvkm/subdev/instmem/Kbuild 11include $(src)/nvkm/subdev/instmem/Kbuild
12include $(src)/nvkm/subdev/ltc/Kbuild 12include $(src)/nvkm/subdev/ltc/Kbuild
13include $(src)/nvkm/subdev/mc/Kbuild 13include $(src)/nvkm/subdev/mc/Kbuild
14include $(src)/nvkm/subdev/mmu/Kbuild
14include $(src)/nvkm/subdev/mxm/Kbuild 15include $(src)/nvkm/subdev/mxm/Kbuild
15include $(src)/nvkm/subdev/pmu/Kbuild 16include $(src)/nvkm/subdev/pmu/Kbuild
16include $(src)/nvkm/subdev/therm/Kbuild 17include $(src)/nvkm/subdev/therm/Kbuild
17include $(src)/nvkm/subdev/timer/Kbuild 18include $(src)/nvkm/subdev/timer/Kbuild
18include $(src)/nvkm/subdev/mmu/Kbuild
19include $(src)/nvkm/subdev/volt/Kbuild 19include $(src)/nvkm/subdev/volt/Kbuild
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv98.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv98.c
index 1da2bedce00a..3a629e02622f 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv98.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv98.c
@@ -33,7 +33,7 @@ nv98_devinit_disable(struct nouveau_devinit *devinit)
33 u64 disable = 0ULL; 33 u64 disable = 0ULL;
34 34
35 if (!(r001540 & 0x40000000)) { 35 if (!(r001540 & 0x40000000)) {
36 disable |= (1ULL << NVDEV_ENGINE_VP); 36 disable |= (1ULL << NVDEV_ENGINE_MSPDEC);
37 disable |= (1ULL << NVDEV_ENGINE_MSVLD); 37 disable |= (1ULL << NVDEV_ENGINE_MSVLD);
38 disable |= (1ULL << NVDEV_ENGINE_MSPPP); 38 disable |= (1ULL << NVDEV_ENGINE_MSPPP);
39 } 39 }
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nva3.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nva3.c
index 8bc7668faede..830fdffa9644 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nva3.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nva3.c
@@ -67,7 +67,7 @@ nva3_devinit_disable(struct nouveau_devinit *devinit)
67 u64 disable = 0ULL; 67 u64 disable = 0ULL;
68 68
69 if (!(r001540 & 0x40000000)) { 69 if (!(r001540 & 0x40000000)) {
70 disable |= (1ULL << NVDEV_ENGINE_VP); 70 disable |= (1ULL << NVDEV_ENGINE_MSPDEC);
71 disable |= (1ULL << NVDEV_ENGINE_MSPPP); 71 disable |= (1ULL << NVDEV_ENGINE_MSPPP);
72 } 72 }
73 73
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nvaf.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nvaf.c
index fea3be514553..f70b9542ad03 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nvaf.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nvaf.c
@@ -33,7 +33,7 @@ nvaf_devinit_disable(struct nouveau_devinit *devinit)
33 u64 disable = 0; 33 u64 disable = 0;
34 34
35 if (!(r001540 & 0x40000000)) { 35 if (!(r001540 & 0x40000000)) {
36 disable |= (1ULL << NVDEV_ENGINE_VP); 36 disable |= (1ULL << NVDEV_ENGINE_MSPDEC);
37 disable |= (1ULL << NVDEV_ENGINE_MSPPP); 37 disable |= (1ULL << NVDEV_ENGINE_MSPPP);
38 } 38 }
39 39
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nvc0.c
index 4ad22a48ff3a..672aaf347efe 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nvc0.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nvc0.c
@@ -70,7 +70,7 @@ nvc0_devinit_disable(struct nouveau_devinit *devinit)
70 disable |= (1ULL << NVDEV_ENGINE_DISP); 70 disable |= (1ULL << NVDEV_ENGINE_DISP);
71 71
72 if (r022500 & 0x00000002) { 72 if (r022500 & 0x00000002) {
73 disable |= (1ULL << NVDEV_ENGINE_VP); 73 disable |= (1ULL << NVDEV_ENGINE_MSPDEC);
74 disable |= (1ULL << NVDEV_ENGINE_MSPPP); 74 disable |= (1ULL << NVDEV_ENGINE_MSPPP);
75 } 75 }
76 76
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv50.c
index 384d7eee830a..962273e3e008 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv50.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv50.c
@@ -194,6 +194,8 @@ nv50_fb_intr(struct nouveau_subdev *subdev)
194 engine = nouveau_engine(subdev, NVDEV_ENGINE_MSVLD); 194 engine = nouveau_engine(subdev, NVDEV_ENGINE_MSVLD);
195 if (!engine && en->data2 == NVDEV_ENGINE_CIPHER) 195 if (!engine && en->data2 == NVDEV_ENGINE_CIPHER)
196 engine = nouveau_engine(subdev, NVDEV_ENGINE_SEC); 196 engine = nouveau_engine(subdev, NVDEV_ENGINE_SEC);
197 if (!engine && en->data2 == NVDEV_ENGINE_VP)
198 engine = nouveau_engine(subdev, NVDEV_ENGINE_MSPDEC);
197 if (engine) { 199 if (engine) {
198 engctx = nouveau_engctx_get(engine, chan); 200 engctx = nouveau_engctx_get(engine, chan);
199 if (engctx) 201 if (engctx)
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv98.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv98.c
index 06fc28b5e890..49de0cf57359 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv98.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv98.c
@@ -32,7 +32,7 @@ nv98_mc_intr[] = {
32 { 0x00001000, NVDEV_ENGINE_GR }, 32 { 0x00001000, NVDEV_ENGINE_GR },
33 { 0x00004000, NVDEV_ENGINE_SEC }, /* NV84:NVA3 */ 33 { 0x00004000, NVDEV_ENGINE_SEC }, /* NV84:NVA3 */
34 { 0x00008000, NVDEV_ENGINE_MSVLD }, 34 { 0x00008000, NVDEV_ENGINE_MSVLD },
35 { 0x00020000, NVDEV_ENGINE_VP }, 35 { 0x00020000, NVDEV_ENGINE_MSPDEC },
36 { 0x00040000, NVDEV_SUBDEV_PMU }, /* NVA3:NVC0 */ 36 { 0x00040000, NVDEV_SUBDEV_PMU }, /* NVA3:NVC0 */
37 { 0x00080000, NVDEV_SUBDEV_THERM }, /* NVA3:NVC0 */ 37 { 0x00080000, NVDEV_SUBDEV_THERM }, /* NVA3:NVC0 */
38 { 0x00100000, NVDEV_SUBDEV_TIMER }, 38 { 0x00100000, NVDEV_SUBDEV_TIMER },
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mc/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mc/nvc0.c
index 76f440efa764..a52687a883f0 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/mc/nvc0.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mc/nvc0.c
@@ -36,7 +36,7 @@ nvc0_mc_intr[] = {
36 { 0x00002000, NVDEV_SUBDEV_FB }, 36 { 0x00002000, NVDEV_SUBDEV_FB },
37 { 0x00008000, NVDEV_ENGINE_MSVLD }, 37 { 0x00008000, NVDEV_ENGINE_MSVLD },
38 { 0x00040000, NVDEV_SUBDEV_THERM }, 38 { 0x00040000, NVDEV_SUBDEV_THERM },
39 { 0x00020000, NVDEV_ENGINE_VP }, 39 { 0x00020000, NVDEV_ENGINE_MSPDEC },
40 { 0x00100000, NVDEV_SUBDEV_TIMER }, 40 { 0x00100000, NVDEV_SUBDEV_TIMER },
41 { 0x00200000, NVDEV_SUBDEV_GPIO }, /* PMGR->GPIO */ 41 { 0x00200000, NVDEV_SUBDEV_GPIO }, /* PMGR->GPIO */
42 { 0x00200000, NVDEV_SUBDEV_I2C }, /* PMGR->I2C/AUX */ 42 { 0x00200000, NVDEV_SUBDEV_I2C }, /* PMGR->I2C/AUX */
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv50.c
index 4ac6eb99d55f..70e1a140e7a3 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv50.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv50.c
@@ -172,7 +172,8 @@ nv50_vm_flush(struct nouveau_vm *vm)
172 172
173 switch (i) { 173 switch (i) {
174 case NVDEV_ENGINE_GR : vme = 0x00; break; 174 case NVDEV_ENGINE_GR : vme = 0x00; break;
175 case NVDEV_ENGINE_VP : vme = 0x01; break; 175 case NVDEV_ENGINE_VP :
176 case NVDEV_ENGINE_MSPDEC: vme = 0x01; break;
176 case NVDEV_SUBDEV_BAR : vme = 0x06; break; 177 case NVDEV_SUBDEV_BAR : vme = 0x06; break;
177 case NVDEV_ENGINE_MSPPP : 178 case NVDEV_ENGINE_MSPPP :
178 case NVDEV_ENGINE_MPEG : vme = 0x08; break; 179 case NVDEV_ENGINE_MPEG : vme = 0x08; break;