diff options
author | Ilia Mirkin <imirkin@alum.mit.edu> | 2013-06-27 00:04:20 -0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2013-06-30 23:50:48 -0400 |
commit | 0d4a1450c95801c21ba4db109303fbad62378b91 (patch) | |
tree | 0405c723f4a71a8e5383b65b48f5ed55697c7ed1 | |
parent | a0fd4ec8f1ac1d966d33d1a18205b72830f9b24f (diff) |
drm/nouveau/vdec: fork vp3 implementations from vp2
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r-- | drivers/gpu/drm/nouveau/Makefile | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/core/engine/bsp/nv98.c | 93 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/core/engine/device/nv50.c | 28 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/core/engine/vp/nv98.c | 93 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/core/include/engine/bsp.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/core/include/engine/vp.h | 1 |
6 files changed, 204 insertions, 14 deletions
diff --git a/drivers/gpu/drm/nouveau/Makefile b/drivers/gpu/drm/nouveau/Makefile index 5a2695f2759a..78f9aa24f1fd 100644 --- a/drivers/gpu/drm/nouveau/Makefile +++ b/drivers/gpu/drm/nouveau/Makefile | |||
@@ -148,6 +148,7 @@ nouveau-y += core/engine/dmaobj/nv50.o | |||
148 | nouveau-y += core/engine/dmaobj/nvc0.o | 148 | nouveau-y += core/engine/dmaobj/nvc0.o |
149 | nouveau-y += core/engine/dmaobj/nvd0.o | 149 | nouveau-y += core/engine/dmaobj/nvd0.o |
150 | nouveau-y += core/engine/bsp/nv84.o | 150 | nouveau-y += core/engine/bsp/nv84.o |
151 | nouveau-y += core/engine/bsp/nv98.o | ||
151 | nouveau-y += core/engine/bsp/nvc0.o | 152 | nouveau-y += core/engine/bsp/nvc0.o |
152 | nouveau-y += core/engine/bsp/nve0.o | 153 | nouveau-y += core/engine/bsp/nve0.o |
153 | nouveau-y += core/engine/copy/nva3.o | 154 | nouveau-y += core/engine/copy/nva3.o |
@@ -222,6 +223,7 @@ nouveau-y += core/engine/software/nv10.o | |||
222 | nouveau-y += core/engine/software/nv50.o | 223 | nouveau-y += core/engine/software/nv50.o |
223 | nouveau-y += core/engine/software/nvc0.o | 224 | nouveau-y += core/engine/software/nvc0.o |
224 | nouveau-y += core/engine/vp/nv84.o | 225 | nouveau-y += core/engine/vp/nv84.o |
226 | nouveau-y += core/engine/vp/nv98.o | ||
225 | nouveau-y += core/engine/vp/nvc0.o | 227 | nouveau-y += core/engine/vp/nvc0.o |
226 | nouveau-y += core/engine/vp/nve0.o | 228 | nouveau-y += core/engine/vp/nve0.o |
227 | 229 | ||
diff --git a/drivers/gpu/drm/nouveau/core/engine/bsp/nv98.c b/drivers/gpu/drm/nouveau/core/engine/bsp/nv98.c new file mode 100644 index 000000000000..8bf92b0e6d82 --- /dev/null +++ b/drivers/gpu/drm/nouveau/core/engine/bsp/nv98.c | |||
@@ -0,0 +1,93 @@ | |||
1 | /* | ||
2 | * Copyright 2012 Red Hat Inc. | ||
3 | * | ||
4 | * Permission is hereby granted, free of charge, to any person obtaining a | ||
5 | * copy of this software and associated documentation files (the "Software"), | ||
6 | * to deal in the Software without restriction, including without limitation | ||
7 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
8 | * and/or sell copies of the Software, and to permit persons to whom the | ||
9 | * Software is furnished to do so, subject to the following conditions: | ||
10 | * | ||
11 | * The above copyright notice and this permission notice shall be included in | ||
12 | * all copies or substantial portions of the Software. | ||
13 | * | ||
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
17 | * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR | ||
18 | * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | ||
19 | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
20 | * OTHER DEALINGS IN THE SOFTWARE. | ||
21 | * | ||
22 | * Authors: Ben Skeggs | ||
23 | */ | ||
24 | |||
25 | #include <core/engctx.h> | ||
26 | #include <core/class.h> | ||
27 | |||
28 | #include <engine/bsp.h> | ||
29 | |||
30 | struct nv98_bsp_priv { | ||
31 | struct nouveau_engine base; | ||
32 | }; | ||
33 | |||
34 | /******************************************************************************* | ||
35 | * BSP object classes | ||
36 | ******************************************************************************/ | ||
37 | |||
38 | static struct nouveau_oclass | ||
39 | nv98_bsp_sclass[] = { | ||
40 | {}, | ||
41 | }; | ||
42 | |||
43 | /******************************************************************************* | ||
44 | * BSP context | ||
45 | ******************************************************************************/ | ||
46 | |||
47 | static struct nouveau_oclass | ||
48 | nv98_bsp_cclass = { | ||
49 | .handle = NV_ENGCTX(BSP, 0x98), | ||
50 | .ofuncs = &(struct nouveau_ofuncs) { | ||
51 | .ctor = _nouveau_engctx_ctor, | ||
52 | .dtor = _nouveau_engctx_dtor, | ||
53 | .init = _nouveau_engctx_init, | ||
54 | .fini = _nouveau_engctx_fini, | ||
55 | .rd32 = _nouveau_engctx_rd32, | ||
56 | .wr32 = _nouveau_engctx_wr32, | ||
57 | }, | ||
58 | }; | ||
59 | |||
60 | /******************************************************************************* | ||
61 | * BSP engine/subdev functions | ||
62 | ******************************************************************************/ | ||
63 | |||
64 | static int | ||
65 | nv98_bsp_ctor(struct nouveau_object *parent, struct nouveau_object *engine, | ||
66 | struct nouveau_oclass *oclass, void *data, u32 size, | ||
67 | struct nouveau_object **pobject) | ||
68 | { | ||
69 | struct nv98_bsp_priv *priv; | ||
70 | int ret; | ||
71 | |||
72 | ret = nouveau_engine_create(parent, engine, oclass, true, | ||
73 | "PBSP", "bsp", &priv); | ||
74 | *pobject = nv_object(priv); | ||
75 | if (ret) | ||
76 | return ret; | ||
77 | |||
78 | nv_subdev(priv)->unit = 0x04008000; | ||
79 | nv_engine(priv)->cclass = &nv98_bsp_cclass; | ||
80 | nv_engine(priv)->sclass = nv98_bsp_sclass; | ||
81 | return 0; | ||
82 | } | ||
83 | |||
84 | struct nouveau_oclass | ||
85 | nv98_bsp_oclass = { | ||
86 | .handle = NV_ENGINE(BSP, 0x98), | ||
87 | .ofuncs = &(struct nouveau_ofuncs) { | ||
88 | .ctor = nv98_bsp_ctor, | ||
89 | .dtor = _nouveau_engine_dtor, | ||
90 | .init = _nouveau_engine_init, | ||
91 | .fini = _nouveau_engine_fini, | ||
92 | }, | ||
93 | }; | ||
diff --git a/drivers/gpu/drm/nouveau/core/engine/device/nv50.c b/drivers/gpu/drm/nouveau/core/engine/device/nv50.c index 5c1db3e1f0f2..ffc18b80c5d9 100644 --- a/drivers/gpu/drm/nouveau/core/engine/device/nv50.c +++ b/drivers/gpu/drm/nouveau/core/engine/device/nv50.c | |||
@@ -227,9 +227,9 @@ nv50_identify(struct nouveau_device *device) | |||
227 | device->oclass[NVDEV_ENGINE_FIFO ] = &nv84_fifo_oclass; | 227 | device->oclass[NVDEV_ENGINE_FIFO ] = &nv84_fifo_oclass; |
228 | device->oclass[NVDEV_ENGINE_SW ] = &nv50_software_oclass; | 228 | device->oclass[NVDEV_ENGINE_SW ] = &nv50_software_oclass; |
229 | device->oclass[NVDEV_ENGINE_GR ] = &nv50_graph_oclass; | 229 | device->oclass[NVDEV_ENGINE_GR ] = &nv50_graph_oclass; |
230 | device->oclass[NVDEV_ENGINE_VP ] = &nv84_vp_oclass; | 230 | device->oclass[NVDEV_ENGINE_VP ] = &nv98_vp_oclass; |
231 | device->oclass[NVDEV_ENGINE_CRYPT ] = &nv98_crypt_oclass; | 231 | device->oclass[NVDEV_ENGINE_CRYPT ] = &nv98_crypt_oclass; |
232 | device->oclass[NVDEV_ENGINE_BSP ] = &nv84_bsp_oclass; | 232 | device->oclass[NVDEV_ENGINE_BSP ] = &nv98_bsp_oclass; |
233 | device->oclass[NVDEV_ENGINE_PPP ] = &nv98_ppp_oclass; | 233 | device->oclass[NVDEV_ENGINE_PPP ] = &nv98_ppp_oclass; |
234 | device->oclass[NVDEV_ENGINE_DISP ] = &nv94_disp_oclass; | 234 | device->oclass[NVDEV_ENGINE_DISP ] = &nv94_disp_oclass; |
235 | break; | 235 | break; |
@@ -279,9 +279,9 @@ nv50_identify(struct nouveau_device *device) | |||
279 | device->oclass[NVDEV_ENGINE_FIFO ] = &nv84_fifo_oclass; | 279 | device->oclass[NVDEV_ENGINE_FIFO ] = &nv84_fifo_oclass; |
280 | device->oclass[NVDEV_ENGINE_SW ] = &nv50_software_oclass; | 280 | device->oclass[NVDEV_ENGINE_SW ] = &nv50_software_oclass; |
281 | device->oclass[NVDEV_ENGINE_GR ] = &nv50_graph_oclass; | 281 | device->oclass[NVDEV_ENGINE_GR ] = &nv50_graph_oclass; |
282 | device->oclass[NVDEV_ENGINE_VP ] = &nv84_vp_oclass; | 282 | device->oclass[NVDEV_ENGINE_VP ] = &nv98_vp_oclass; |
283 | device->oclass[NVDEV_ENGINE_CRYPT ] = &nv98_crypt_oclass; | 283 | device->oclass[NVDEV_ENGINE_CRYPT ] = &nv98_crypt_oclass; |
284 | device->oclass[NVDEV_ENGINE_BSP ] = &nv84_bsp_oclass; | 284 | device->oclass[NVDEV_ENGINE_BSP ] = &nv98_bsp_oclass; |
285 | device->oclass[NVDEV_ENGINE_PPP ] = &nv98_ppp_oclass; | 285 | device->oclass[NVDEV_ENGINE_PPP ] = &nv98_ppp_oclass; |
286 | device->oclass[NVDEV_ENGINE_DISP ] = &nv94_disp_oclass; | 286 | device->oclass[NVDEV_ENGINE_DISP ] = &nv94_disp_oclass; |
287 | break; | 287 | break; |
@@ -305,9 +305,9 @@ nv50_identify(struct nouveau_device *device) | |||
305 | device->oclass[NVDEV_ENGINE_FIFO ] = &nv84_fifo_oclass; | 305 | device->oclass[NVDEV_ENGINE_FIFO ] = &nv84_fifo_oclass; |
306 | device->oclass[NVDEV_ENGINE_SW ] = &nv50_software_oclass; | 306 | device->oclass[NVDEV_ENGINE_SW ] = &nv50_software_oclass; |
307 | device->oclass[NVDEV_ENGINE_GR ] = &nv50_graph_oclass; | 307 | device->oclass[NVDEV_ENGINE_GR ] = &nv50_graph_oclass; |
308 | device->oclass[NVDEV_ENGINE_VP ] = &nv84_vp_oclass; | 308 | device->oclass[NVDEV_ENGINE_VP ] = &nv98_vp_oclass; |
309 | device->oclass[NVDEV_ENGINE_CRYPT ] = &nv98_crypt_oclass; | 309 | device->oclass[NVDEV_ENGINE_CRYPT ] = &nv98_crypt_oclass; |
310 | device->oclass[NVDEV_ENGINE_BSP ] = &nv84_bsp_oclass; | 310 | device->oclass[NVDEV_ENGINE_BSP ] = &nv98_bsp_oclass; |
311 | device->oclass[NVDEV_ENGINE_PPP ] = &nv98_ppp_oclass; | 311 | device->oclass[NVDEV_ENGINE_PPP ] = &nv98_ppp_oclass; |
312 | device->oclass[NVDEV_ENGINE_DISP ] = &nv94_disp_oclass; | 312 | device->oclass[NVDEV_ENGINE_DISP ] = &nv94_disp_oclass; |
313 | break; | 313 | break; |
@@ -332,8 +332,8 @@ nv50_identify(struct nouveau_device *device) | |||
332 | device->oclass[NVDEV_ENGINE_SW ] = &nv50_software_oclass; | 332 | device->oclass[NVDEV_ENGINE_SW ] = &nv50_software_oclass; |
333 | device->oclass[NVDEV_ENGINE_GR ] = &nv50_graph_oclass; | 333 | device->oclass[NVDEV_ENGINE_GR ] = &nv50_graph_oclass; |
334 | device->oclass[NVDEV_ENGINE_MPEG ] = &nv84_mpeg_oclass; | 334 | device->oclass[NVDEV_ENGINE_MPEG ] = &nv84_mpeg_oclass; |
335 | device->oclass[NVDEV_ENGINE_VP ] = &nv84_vp_oclass; | 335 | device->oclass[NVDEV_ENGINE_VP ] = &nv98_vp_oclass; |
336 | device->oclass[NVDEV_ENGINE_BSP ] = &nv84_bsp_oclass; | 336 | device->oclass[NVDEV_ENGINE_BSP ] = &nv98_bsp_oclass; |
337 | device->oclass[NVDEV_ENGINE_PPP ] = &nv98_ppp_oclass; | 337 | device->oclass[NVDEV_ENGINE_PPP ] = &nv98_ppp_oclass; |
338 | device->oclass[NVDEV_ENGINE_COPY0 ] = &nva3_copy_oclass; | 338 | device->oclass[NVDEV_ENGINE_COPY0 ] = &nva3_copy_oclass; |
339 | device->oclass[NVDEV_ENGINE_DISP ] = &nva3_disp_oclass; | 339 | device->oclass[NVDEV_ENGINE_DISP ] = &nva3_disp_oclass; |
@@ -358,8 +358,8 @@ nv50_identify(struct nouveau_device *device) | |||
358 | device->oclass[NVDEV_ENGINE_FIFO ] = &nv84_fifo_oclass; | 358 | device->oclass[NVDEV_ENGINE_FIFO ] = &nv84_fifo_oclass; |
359 | device->oclass[NVDEV_ENGINE_SW ] = &nv50_software_oclass; | 359 | device->oclass[NVDEV_ENGINE_SW ] = &nv50_software_oclass; |
360 | device->oclass[NVDEV_ENGINE_GR ] = &nv50_graph_oclass; | 360 | device->oclass[NVDEV_ENGINE_GR ] = &nv50_graph_oclass; |
361 | device->oclass[NVDEV_ENGINE_VP ] = &nv84_vp_oclass; | 361 | device->oclass[NVDEV_ENGINE_VP ] = &nv98_vp_oclass; |
362 | device->oclass[NVDEV_ENGINE_BSP ] = &nv84_bsp_oclass; | 362 | device->oclass[NVDEV_ENGINE_BSP ] = &nv98_bsp_oclass; |
363 | device->oclass[NVDEV_ENGINE_PPP ] = &nv98_ppp_oclass; | 363 | device->oclass[NVDEV_ENGINE_PPP ] = &nv98_ppp_oclass; |
364 | device->oclass[NVDEV_ENGINE_COPY0 ] = &nva3_copy_oclass; | 364 | device->oclass[NVDEV_ENGINE_COPY0 ] = &nva3_copy_oclass; |
365 | device->oclass[NVDEV_ENGINE_DISP ] = &nva3_disp_oclass; | 365 | device->oclass[NVDEV_ENGINE_DISP ] = &nva3_disp_oclass; |
@@ -384,8 +384,8 @@ nv50_identify(struct nouveau_device *device) | |||
384 | device->oclass[NVDEV_ENGINE_FIFO ] = &nv84_fifo_oclass; | 384 | device->oclass[NVDEV_ENGINE_FIFO ] = &nv84_fifo_oclass; |
385 | device->oclass[NVDEV_ENGINE_SW ] = &nv50_software_oclass; | 385 | device->oclass[NVDEV_ENGINE_SW ] = &nv50_software_oclass; |
386 | device->oclass[NVDEV_ENGINE_GR ] = &nv50_graph_oclass; | 386 | device->oclass[NVDEV_ENGINE_GR ] = &nv50_graph_oclass; |
387 | device->oclass[NVDEV_ENGINE_VP ] = &nv84_vp_oclass; | 387 | device->oclass[NVDEV_ENGINE_VP ] = &nv98_vp_oclass; |
388 | device->oclass[NVDEV_ENGINE_BSP ] = &nv84_bsp_oclass; | 388 | device->oclass[NVDEV_ENGINE_BSP ] = &nv98_bsp_oclass; |
389 | device->oclass[NVDEV_ENGINE_PPP ] = &nv98_ppp_oclass; | 389 | device->oclass[NVDEV_ENGINE_PPP ] = &nv98_ppp_oclass; |
390 | device->oclass[NVDEV_ENGINE_COPY0 ] = &nva3_copy_oclass; | 390 | device->oclass[NVDEV_ENGINE_COPY0 ] = &nva3_copy_oclass; |
391 | device->oclass[NVDEV_ENGINE_DISP ] = &nva3_disp_oclass; | 391 | device->oclass[NVDEV_ENGINE_DISP ] = &nva3_disp_oclass; |
@@ -410,8 +410,8 @@ nv50_identify(struct nouveau_device *device) | |||
410 | device->oclass[NVDEV_ENGINE_FIFO ] = &nv84_fifo_oclass; | 410 | device->oclass[NVDEV_ENGINE_FIFO ] = &nv84_fifo_oclass; |
411 | device->oclass[NVDEV_ENGINE_SW ] = &nv50_software_oclass; | 411 | device->oclass[NVDEV_ENGINE_SW ] = &nv50_software_oclass; |
412 | device->oclass[NVDEV_ENGINE_GR ] = &nv50_graph_oclass; | 412 | device->oclass[NVDEV_ENGINE_GR ] = &nv50_graph_oclass; |
413 | device->oclass[NVDEV_ENGINE_VP ] = &nv84_vp_oclass; | 413 | device->oclass[NVDEV_ENGINE_VP ] = &nv98_vp_oclass; |
414 | device->oclass[NVDEV_ENGINE_BSP ] = &nv84_bsp_oclass; | 414 | device->oclass[NVDEV_ENGINE_BSP ] = &nv98_bsp_oclass; |
415 | device->oclass[NVDEV_ENGINE_PPP ] = &nv98_ppp_oclass; | 415 | device->oclass[NVDEV_ENGINE_PPP ] = &nv98_ppp_oclass; |
416 | device->oclass[NVDEV_ENGINE_COPY0 ] = &nva3_copy_oclass; | 416 | device->oclass[NVDEV_ENGINE_COPY0 ] = &nva3_copy_oclass; |
417 | device->oclass[NVDEV_ENGINE_DISP ] = &nva3_disp_oclass; | 417 | device->oclass[NVDEV_ENGINE_DISP ] = &nva3_disp_oclass; |
diff --git a/drivers/gpu/drm/nouveau/core/engine/vp/nv98.c b/drivers/gpu/drm/nouveau/core/engine/vp/nv98.c new file mode 100644 index 000000000000..8a8236bc84de --- /dev/null +++ b/drivers/gpu/drm/nouveau/core/engine/vp/nv98.c | |||
@@ -0,0 +1,93 @@ | |||
1 | /* | ||
2 | * Copyright 2012 Red Hat Inc. | ||
3 | * | ||
4 | * Permission is hereby granted, free of charge, to any person obtaining a | ||
5 | * copy of this software and associated documentation files (the "Software"), | ||
6 | * to deal in the Software without restriction, including without limitation | ||
7 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
8 | * and/or sell copies of the Software, and to permit persons to whom the | ||
9 | * Software is furnished to do so, subject to the following conditions: | ||
10 | * | ||
11 | * The above copyright notice and this permission notice shall be included in | ||
12 | * all copies or substantial portions of the Software. | ||
13 | * | ||
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
17 | * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR | ||
18 | * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | ||
19 | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
20 | * OTHER DEALINGS IN THE SOFTWARE. | ||
21 | * | ||
22 | * Authors: Ben Skeggs | ||
23 | */ | ||
24 | |||
25 | #include <core/engctx.h> | ||
26 | #include <core/class.h> | ||
27 | |||
28 | #include <engine/vp.h> | ||
29 | |||
30 | struct nv98_vp_priv { | ||
31 | struct nouveau_engine base; | ||
32 | }; | ||
33 | |||
34 | /******************************************************************************* | ||
35 | * VP object classes | ||
36 | ******************************************************************************/ | ||
37 | |||
38 | static struct nouveau_oclass | ||
39 | nv98_vp_sclass[] = { | ||
40 | {}, | ||
41 | }; | ||
42 | |||
43 | /******************************************************************************* | ||
44 | * PVP context | ||
45 | ******************************************************************************/ | ||
46 | |||
47 | static struct nouveau_oclass | ||
48 | nv98_vp_cclass = { | ||
49 | .handle = NV_ENGCTX(VP, 0x98), | ||
50 | .ofuncs = &(struct nouveau_ofuncs) { | ||
51 | .ctor = _nouveau_engctx_ctor, | ||
52 | .dtor = _nouveau_engctx_dtor, | ||
53 | .init = _nouveau_engctx_init, | ||
54 | .fini = _nouveau_engctx_fini, | ||
55 | .rd32 = _nouveau_engctx_rd32, | ||
56 | .wr32 = _nouveau_engctx_wr32, | ||
57 | }, | ||
58 | }; | ||
59 | |||
60 | /******************************************************************************* | ||
61 | * PVP engine/subdev functions | ||
62 | ******************************************************************************/ | ||
63 | |||
64 | static int | ||
65 | nv98_vp_ctor(struct nouveau_object *parent, struct nouveau_object *engine, | ||
66 | struct nouveau_oclass *oclass, void *data, u32 size, | ||
67 | struct nouveau_object **pobject) | ||
68 | { | ||
69 | struct nv98_vp_priv *priv; | ||
70 | int ret; | ||
71 | |||
72 | ret = nouveau_engine_create(parent, engine, oclass, true, | ||
73 | "PVP", "vp", &priv); | ||
74 | *pobject = nv_object(priv); | ||
75 | if (ret) | ||
76 | return ret; | ||
77 | |||
78 | nv_subdev(priv)->unit = 0x01020000; | ||
79 | nv_engine(priv)->cclass = &nv98_vp_cclass; | ||
80 | nv_engine(priv)->sclass = nv98_vp_sclass; | ||
81 | return 0; | ||
82 | } | ||
83 | |||
84 | struct nouveau_oclass | ||
85 | nv98_vp_oclass = { | ||
86 | .handle = NV_ENGINE(VP, 0x98), | ||
87 | .ofuncs = &(struct nouveau_ofuncs) { | ||
88 | .ctor = nv98_vp_ctor, | ||
89 | .dtor = _nouveau_engine_dtor, | ||
90 | .init = _nouveau_engine_init, | ||
91 | .fini = _nouveau_engine_fini, | ||
92 | }, | ||
93 | }; | ||
diff --git a/drivers/gpu/drm/nouveau/core/include/engine/bsp.h b/drivers/gpu/drm/nouveau/core/include/engine/bsp.h index 13ccdf54dfad..67662e2c4547 100644 --- a/drivers/gpu/drm/nouveau/core/include/engine/bsp.h +++ b/drivers/gpu/drm/nouveau/core/include/engine/bsp.h | |||
@@ -2,6 +2,7 @@ | |||
2 | #define __NOUVEAU_BSP_H__ | 2 | #define __NOUVEAU_BSP_H__ |
3 | 3 | ||
4 | extern struct nouveau_oclass nv84_bsp_oclass; | 4 | extern struct nouveau_oclass nv84_bsp_oclass; |
5 | extern struct nouveau_oclass nv98_bsp_oclass; | ||
5 | extern struct nouveau_oclass nvc0_bsp_oclass; | 6 | extern struct nouveau_oclass nvc0_bsp_oclass; |
6 | extern struct nouveau_oclass nve0_bsp_oclass; | 7 | extern struct nouveau_oclass nve0_bsp_oclass; |
7 | 8 | ||
diff --git a/drivers/gpu/drm/nouveau/core/include/engine/vp.h b/drivers/gpu/drm/nouveau/core/include/engine/vp.h index d7b287b115bf..39baebec7fbb 100644 --- a/drivers/gpu/drm/nouveau/core/include/engine/vp.h +++ b/drivers/gpu/drm/nouveau/core/include/engine/vp.h | |||
@@ -2,6 +2,7 @@ | |||
2 | #define __NOUVEAU_VP_H__ | 2 | #define __NOUVEAU_VP_H__ |
3 | 3 | ||
4 | extern struct nouveau_oclass nv84_vp_oclass; | 4 | extern struct nouveau_oclass nv84_vp_oclass; |
5 | extern struct nouveau_oclass nv98_vp_oclass; | ||
5 | extern struct nouveau_oclass nvc0_vp_oclass; | 6 | extern struct nouveau_oclass nvc0_vp_oclass; |
6 | extern struct nouveau_oclass nve0_vp_oclass; | 7 | extern struct nouveau_oclass nve0_vp_oclass; |
7 | 8 | ||