aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2016-11-15 23:53:08 -0500
committerBen Skeggs <bskeggs@redhat.com>2016-11-16 18:50:38 -0500
commite50fcff15fe120ef2103a9e18af6644235c2b14d (patch)
tree09f9c9be4665542ba26483417f48cbed6386a3e4
parent2a32b9b1866a2ee9f01fbf2a48d99012f0120739 (diff)
drm/nouveau/disp/gp102: fix cursor/overlay immediate channel indices
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild2
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.h2
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/disp/cursgp102.c37
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/disp/oimmgp102.c37
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgp104.c4
5 files changed, 80 insertions, 2 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild
index 77a52b54a31e..70f0344c508c 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild
@@ -95,9 +95,11 @@ nvkm-y += nvkm/engine/disp/cursg84.o
95nvkm-y += nvkm/engine/disp/cursgt215.o 95nvkm-y += nvkm/engine/disp/cursgt215.o
96nvkm-y += nvkm/engine/disp/cursgf119.o 96nvkm-y += nvkm/engine/disp/cursgf119.o
97nvkm-y += nvkm/engine/disp/cursgk104.o 97nvkm-y += nvkm/engine/disp/cursgk104.o
98nvkm-y += nvkm/engine/disp/cursgp102.o
98 99
99nvkm-y += nvkm/engine/disp/oimmnv50.o 100nvkm-y += nvkm/engine/disp/oimmnv50.o
100nvkm-y += nvkm/engine/disp/oimmg84.o 101nvkm-y += nvkm/engine/disp/oimmg84.o
101nvkm-y += nvkm/engine/disp/oimmgt215.o 102nvkm-y += nvkm/engine/disp/oimmgt215.o
102nvkm-y += nvkm/engine/disp/oimmgf119.o 103nvkm-y += nvkm/engine/disp/oimmgf119.o
103nvkm-y += nvkm/engine/disp/oimmgk104.o 104nvkm-y += nvkm/engine/disp/oimmgk104.o
105nvkm-y += nvkm/engine/disp/oimmgp102.o
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.h b/drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.h
index 1897e5b674a8..737b38f6fbd2 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.h
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.h
@@ -121,6 +121,8 @@ extern const struct nv50_disp_pioc_oclass gf119_disp_curs_oclass;
121extern const struct nv50_disp_pioc_oclass gk104_disp_oimm_oclass; 121extern const struct nv50_disp_pioc_oclass gk104_disp_oimm_oclass;
122extern const struct nv50_disp_pioc_oclass gk104_disp_curs_oclass; 122extern const struct nv50_disp_pioc_oclass gk104_disp_curs_oclass;
123 123
124extern const struct nv50_disp_pioc_oclass gp102_disp_oimm_oclass;
125extern const struct nv50_disp_pioc_oclass gp102_disp_curs_oclass;
124 126
125int nv50_disp_curs_new(const struct nv50_disp_chan_func *, 127int nv50_disp_curs_new(const struct nv50_disp_chan_func *,
126 const struct nv50_disp_chan_mthd *, 128 const struct nv50_disp_chan_mthd *,
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/cursgp102.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/cursgp102.c
new file mode 100644
index 000000000000..e958210d8105
--- /dev/null
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/cursgp102.c
@@ -0,0 +1,37 @@
1/*
2 * Copyright 2016 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 <bskeggs@redhat.com>
23 */
24#include "channv50.h"
25#include "rootnv50.h"
26
27#include <nvif/class.h>
28
29const struct nv50_disp_pioc_oclass
30gp102_disp_curs_oclass = {
31 .base.oclass = GK104_DISP_CURSOR,
32 .base.minver = 0,
33 .base.maxver = 0,
34 .ctor = nv50_disp_curs_new,
35 .func = &gf119_disp_pioc_func,
36 .chid = { 13, 17 },
37};
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/oimmgp102.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/oimmgp102.c
new file mode 100644
index 000000000000..abf82365c671
--- /dev/null
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/oimmgp102.c
@@ -0,0 +1,37 @@
1/*
2 * Copyright 2016 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 <bskeggs@redhat.com>
23 */
24#include "channv50.h"
25#include "rootnv50.h"
26
27#include <nvif/class.h>
28
29const struct nv50_disp_pioc_oclass
30gp102_disp_oimm_oclass = {
31 .base.oclass = GK104_DISP_OVERLAY,
32 .base.minver = 0,
33 .base.maxver = 0,
34 .ctor = nv50_disp_oimm_new,
35 .func = &gf119_disp_pioc_func,
36 .chid = { 9, 13 },
37};
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgp104.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgp104.c
index 8443e04dc626..b053b291cd94 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgp104.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgp104.c
@@ -36,8 +36,8 @@ gp104_disp_root = {
36 &gp104_disp_ovly_oclass, 36 &gp104_disp_ovly_oclass,
37 }, 37 },
38 .pioc = { 38 .pioc = {
39 &gk104_disp_oimm_oclass, 39 &gp102_disp_oimm_oclass,
40 &gk104_disp_curs_oclass, 40 &gp102_disp_curs_oclass,
41 }, 41 },
42}; 42};
43 43