diff --git a/src/nouveau/winsys/nouveau_device.c b/src/nouveau/winsys/nouveau_device.c index 32117ea97ca..5d8bbda6489 100644 --- a/src/nouveau/winsys/nouveau_device.c +++ b/src/nouveau/winsys/nouveau_device.c @@ -19,58 +19,58 @@ static uint8_t sm_for_chipset(uint16_t chipset) { if (chipset >= 0x190) - return 0x89; + return 89; // GH100 is older than AD10X, but is SM90 else if (chipset >= 0x180) - return 0x90; + return 90; else if (chipset == 0x17b) - return 0x87; + return 87; else if (chipset >= 0x172) - return 0x86; + return 86; else if (chipset >= 0x170) - return 0x80; + return 80; else if (chipset >= 0x160) - return 0x75; + return 75; else if (chipset >= 0x14b) - return 0x72; + return 72; else if (chipset >= 0x140) - return 0x70; + return 70; else if (chipset >= 0x13b) - return 0x62; + return 62; else if (chipset >= 0x132) - return 0x61; + return 61; else if (chipset >= 0x130) - return 0x60; + return 60; else if (chipset >= 0x12b) - return 0x53; + return 53; else if (chipset >= 0x120) - return 0x52; + return 52; else if (chipset >= 0x110) - return 0x50; - // TODO: 0x37 + return 50; + // TODO: 37 else if (chipset >= 0x0f0) - return 0x35; + return 35; else if (chipset >= 0x0ea) - return 0x32; + return 32; else if (chipset >= 0x0e0) - return 0x30; + return 30; // GF110 is SM20 else if (chipset == 0x0c8) - return 0x20; + return 20; else if (chipset >= 0x0c1) - return 0x21; + return 21; else if (chipset >= 0x0c0) - return 0x20; + return 20; else if (chipset >= 0x0a3) - return 0x12; + return 12; // GT200 is SM13 else if (chipset >= 0x0a0) - return 0x13; + return 13; else if (chipset >= 0x080) - return 0x11; + return 11; // this has to be == because 0x63 is older than 0x50 and has no compute else if (chipset == 0x050) - return 0x10; + return 10; // no compute return 0x00; } @@ -246,7 +246,7 @@ nouveau_ws_device_new(drmDevicePtr drm_device) device->fd = fd; device->vendor_id = 0x10de; - device->cm = sm_for_chipset(device->chipset); + device->sm = sm_for_chipset(device->chipset); device->is_integrated = device->vram_size == 0; if (device->vram_size == 0) diff --git a/src/nouveau/winsys/nouveau_device.h b/src/nouveau/winsys/nouveau_device.h index b07da5d9a06..9935c4a8c6e 100644 --- a/src/nouveau/winsys/nouveau_device.h +++ b/src/nouveau/winsys/nouveau_device.h @@ -43,7 +43,7 @@ struct nouveau_ws_device { char *device_name; /* maps to CUDAs Compute capability version */ - uint8_t cm; + uint8_t sm; uint64_t vram_size; uint64_t gart_size;