diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2016-11-07 02:38:43 -0500 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2016-11-16 18:50:35 -0500 |
commit | 17ff521d6920c7c31994b4800329e3eb5d1dcd2a (patch) | |
tree | aa58d1d862690494fba555366b4ad7094de6ab84 | |
parent | 9e38b13ea5f9b0a513e4a31f8cc964d267e3d4bd (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.c | 29 |
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 | ||
2185 | static const struct nvkm_device_chip | 2185 | static const struct nvkm_device_chip |
2186 | nv132_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 | |||
2213 | static const struct nvkm_device_chip | ||
2186 | nv134_chipset = { | 2214 | nv134_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); |