diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2016-12-08 19:24:14 -0500 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2016-12-12 20:40:08 -0500 |
commit | 1fe487d7d2858265e23f10fa6b4565112f9a17fe (patch) | |
tree | a1a32315e21d7791ff9ec19608286c6c847853c6 | |
parent | 10dcab3e7f477bffee88d518aad57d06777cfdf4 (diff) |
drm/nouveau/core: recognise GP106 chipset
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 30 |
1 files changed, 30 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 2cbcffe78c3e..cceda959b47c 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | |||
@@ -2241,6 +2241,35 @@ nv134_chipset = { | |||
2241 | .fifo = gp100_fifo_new, | 2241 | .fifo = gp100_fifo_new, |
2242 | }; | 2242 | }; |
2243 | 2243 | ||
2244 | static const struct nvkm_device_chip | ||
2245 | nv136_chipset = { | ||
2246 | .name = "GP106", | ||
2247 | .bar = gf100_bar_new, | ||
2248 | .bios = nvkm_bios_new, | ||
2249 | .bus = gf100_bus_new, | ||
2250 | .devinit = gm200_devinit_new, | ||
2251 | .fb = gp102_fb_new, | ||
2252 | .fuse = gm107_fuse_new, | ||
2253 | .gpio = gk104_gpio_new, | ||
2254 | .i2c = gm200_i2c_new, | ||
2255 | .ibus = gm200_ibus_new, | ||
2256 | .imem = nv50_instmem_new, | ||
2257 | .ltc = gp100_ltc_new, | ||
2258 | .mc = gp100_mc_new, | ||
2259 | .mmu = gf100_mmu_new, | ||
2260 | .pci = gp100_pci_new, | ||
2261 | .pmu = gp102_pmu_new, | ||
2262 | .timer = gk20a_timer_new, | ||
2263 | .top = gk104_top_new, | ||
2264 | .ce[0] = gp102_ce_new, | ||
2265 | .ce[1] = gp102_ce_new, | ||
2266 | .ce[2] = gp102_ce_new, | ||
2267 | .ce[3] = gp102_ce_new, | ||
2268 | .disp = gp102_disp_new, | ||
2269 | .dma = gf119_dma_new, | ||
2270 | .fifo = gp100_fifo_new, | ||
2271 | }; | ||
2272 | |||
2244 | static int | 2273 | static int |
2245 | nvkm_device_event_ctor(struct nvkm_object *object, void *data, u32 size, | 2274 | nvkm_device_event_ctor(struct nvkm_object *object, void *data, u32 size, |
2246 | struct nvkm_notify *notify) | 2275 | struct nvkm_notify *notify) |
@@ -2677,6 +2706,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, | |||
2677 | case 0x130: device->chip = &nv130_chipset; break; | 2706 | case 0x130: device->chip = &nv130_chipset; break; |
2678 | case 0x132: device->chip = &nv132_chipset; break; | 2707 | case 0x132: device->chip = &nv132_chipset; break; |
2679 | case 0x134: device->chip = &nv134_chipset; break; | 2708 | case 0x134: device->chip = &nv134_chipset; break; |
2709 | case 0x136: device->chip = &nv136_chipset; break; | ||
2680 | default: | 2710 | default: |
2681 | nvdev_error(device, "unknown chipset (%08x)\n", boot0); | 2711 | nvdev_error(device, "unknown chipset (%08x)\n", boot0); |
2682 | goto done; | 2712 | goto done; |