aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2016-11-07 02:38:43 -0500
committerBen Skeggs <bskeggs@redhat.com>2016-11-16 18:50:35 -0500
commit17ff521d6920c7c31994b4800329e3eb5d1dcd2a (patch)
treeaa58d1d862690494fba555366b4ad7094de6ab84
parent9e38b13ea5f9b0a513e4a31f8cc964d267e3d4bd (diff)
drm/nouveau/core: initial support for GP102
From visual inspection of traces, what we currently implement appears to be identical to GP104. Seems to work well enough too. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/device/base.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
index bd22526edb0b..e3a936aa0f81 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
@@ -2183,6 +2183,34 @@ nv130_chipset = {
2183}; 2183};
2184 2184
2185static const struct nvkm_device_chip 2185static const struct nvkm_device_chip
2186nv132_chipset = {
2187 .name = "GP102",
2188 .bar = gf100_bar_new,
2189 .bios = nvkm_bios_new,
2190 .bus = gf100_bus_new,
2191 .devinit = gm200_devinit_new,
2192 .fb = gp104_fb_new,
2193 .fuse = gm107_fuse_new,
2194 .gpio = gk104_gpio_new,
2195 .i2c = gm200_i2c_new,
2196 .ibus = gm200_ibus_new,
2197 .imem = nv50_instmem_new,
2198 .ltc = gp100_ltc_new,
2199 .mc = gp100_mc_new,
2200 .mmu = gf100_mmu_new,
2201 .pci = gp100_pci_new,
2202 .timer = gk20a_timer_new,
2203 .top = gk104_top_new,
2204 .ce[0] = gp104_ce_new,
2205 .ce[1] = gp104_ce_new,
2206 .ce[2] = gp104_ce_new,
2207 .ce[3] = gp104_ce_new,
2208 .disp = gp104_disp_new,
2209 .dma = gf119_dma_new,
2210 .fifo = gp100_fifo_new,
2211};
2212
2213static const struct nvkm_device_chip
2186nv134_chipset = { 2214nv134_chipset = {
2187 .name = "GP104", 2215 .name = "GP104",
2188 .bar = gf100_bar_new, 2216 .bar = gf100_bar_new,
@@ -2644,6 +2672,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func,
2644 case 0x126: device->chip = &nv126_chipset; break; 2672 case 0x126: device->chip = &nv126_chipset; break;
2645 case 0x12b: device->chip = &nv12b_chipset; break; 2673 case 0x12b: device->chip = &nv12b_chipset; break;
2646 case 0x130: device->chip = &nv130_chipset; break; 2674 case 0x130: device->chip = &nv130_chipset; break;
2675 case 0x132: device->chip = &nv132_chipset; break;
2647 case 0x134: device->chip = &nv134_chipset; break; 2676 case 0x134: device->chip = &nv134_chipset; break;
2648 default: 2677 default:
2649 nvdev_error(device, "unknown chipset (%08x)\n", boot0); 2678 nvdev_error(device, "unknown chipset (%08x)\n", boot0);