aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2016-12-08 19:24:14 -0500
committerBen Skeggs <bskeggs@redhat.com>2016-12-12 20:40:08 -0500
commit1fe487d7d2858265e23f10fa6b4565112f9a17fe (patch)
treea1a32315e21d7791ff9ec19608286c6c847853c6
parent10dcab3e7f477bffee88d518aad57d06777cfdf4 (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.c30
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
2244static const struct nvkm_device_chip
2245nv136_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
2244static int 2273static int
2245nvkm_device_event_ctor(struct nvkm_object *object, void *data, u32 size, 2274nvkm_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;