mirror of https://gitee.com/openkylin/linux.git
drm/nouveau/core: recognise gv100
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
890c85f3ee
commit
c1f856bb99
|
@ -31,6 +31,7 @@ struct nv_device_info_v0 {
|
|||
#define NV_DEVICE_INFO_V0_KEPLER 0x08
|
||||
#define NV_DEVICE_INFO_V0_MAXWELL 0x09
|
||||
#define NV_DEVICE_INFO_V0_PASCAL 0x0a
|
||||
#define NV_DEVICE_INFO_V0_VOLTA 0x0b
|
||||
__u8 family;
|
||||
__u8 pad06[2];
|
||||
__u64 ram_size;
|
||||
|
|
|
@ -113,6 +113,7 @@ struct nvkm_device {
|
|||
NV_E0 = 0xe0,
|
||||
GM100 = 0x110,
|
||||
GP100 = 0x130,
|
||||
GV100 = 0x140,
|
||||
} card_type;
|
||||
u32 chipset;
|
||||
u8 chiprev;
|
||||
|
|
|
@ -103,6 +103,7 @@ nouveau_abi16_swclass(struct nouveau_drm *drm)
|
|||
case NV_DEVICE_INFO_V0_KEPLER:
|
||||
case NV_DEVICE_INFO_V0_MAXWELL:
|
||||
case NV_DEVICE_INFO_V0_PASCAL:
|
||||
case NV_DEVICE_INFO_V0_VOLTA:
|
||||
return NVIF_CLASS_SW_GF100;
|
||||
}
|
||||
|
||||
|
|
|
@ -2394,6 +2394,11 @@ nv13b_chipset = {
|
|||
.sw = gf100_sw_new,
|
||||
};
|
||||
|
||||
static const struct nvkm_device_chip
|
||||
nv140_chipset = {
|
||||
.name = "GV100",
|
||||
};
|
||||
|
||||
static int
|
||||
nvkm_device_event_ctor(struct nvkm_object *object, void *data, u32 size,
|
||||
struct nvkm_notify *notify)
|
||||
|
@ -2750,6 +2755,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func,
|
|||
case 0x110:
|
||||
case 0x120: device->card_type = GM100; break;
|
||||
case 0x130: device->card_type = GP100; break;
|
||||
case 0x140: device->card_type = GV100; break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -2841,6 +2847,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func,
|
|||
case 0x137: device->chip = &nv137_chipset; break;
|
||||
case 0x138: device->chip = &nv138_chipset; break;
|
||||
case 0x13b: device->chip = &nv13b_chipset; break;
|
||||
case 0x140: device->chip = &nv140_chipset; break;
|
||||
default:
|
||||
nvdev_error(device, "unknown chipset (%08x)\n", boot0);
|
||||
goto done;
|
||||
|
|
|
@ -174,6 +174,7 @@ nvkm_udevice_info(struct nvkm_udevice *udev, void *data, u32 size)
|
|||
case NV_E0: args->v0.family = NV_DEVICE_INFO_V0_KEPLER; break;
|
||||
case GM100: args->v0.family = NV_DEVICE_INFO_V0_MAXWELL; break;
|
||||
case GP100: args->v0.family = NV_DEVICE_INFO_V0_PASCAL; break;
|
||||
case GV100: args->v0.family = NV_DEVICE_INFO_V0_VOLTA; break;
|
||||
default:
|
||||
args->v0.family = 0;
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue