drm/nouveau/core: recognise TU104
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
cb55cd0c66
commit
344d9c8f35
@ -32,6 +32,7 @@ struct nv_device_info_v0 {
|
|||||||
#define NV_DEVICE_INFO_V0_MAXWELL 0x09
|
#define NV_DEVICE_INFO_V0_MAXWELL 0x09
|
||||||
#define NV_DEVICE_INFO_V0_PASCAL 0x0a
|
#define NV_DEVICE_INFO_V0_PASCAL 0x0a
|
||||||
#define NV_DEVICE_INFO_V0_VOLTA 0x0b
|
#define NV_DEVICE_INFO_V0_VOLTA 0x0b
|
||||||
|
#define NV_DEVICE_INFO_V0_TURING 0x0c
|
||||||
__u8 family;
|
__u8 family;
|
||||||
__u8 pad06[2];
|
__u8 pad06[2];
|
||||||
__u64 ram_size;
|
__u64 ram_size;
|
||||||
|
@ -117,6 +117,7 @@ struct nvkm_device {
|
|||||||
GM100 = 0x110,
|
GM100 = 0x110,
|
||||||
GP100 = 0x130,
|
GP100 = 0x130,
|
||||||
GV100 = 0x140,
|
GV100 = 0x140,
|
||||||
|
TU100 = 0x160,
|
||||||
} card_type;
|
} card_type;
|
||||||
u32 chipset;
|
u32 chipset;
|
||||||
u8 chiprev;
|
u8 chiprev;
|
||||||
|
@ -2434,6 +2434,11 @@ nv140_chipset = {
|
|||||||
.sec2 = gp102_sec2_new,
|
.sec2 = gp102_sec2_new,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct nvkm_device_chip
|
||||||
|
nv164_chipset = {
|
||||||
|
.name = "TU104",
|
||||||
|
};
|
||||||
|
|
||||||
static int
|
static int
|
||||||
nvkm_device_event_ctor(struct nvkm_object *object, void *data, u32 size,
|
nvkm_device_event_ctor(struct nvkm_object *object, void *data, u32 size,
|
||||||
struct nvkm_notify *notify)
|
struct nvkm_notify *notify)
|
||||||
@ -2792,6 +2797,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func,
|
|||||||
case 0x120: device->card_type = GM100; break;
|
case 0x120: device->card_type = GM100; break;
|
||||||
case 0x130: device->card_type = GP100; break;
|
case 0x130: device->card_type = GP100; break;
|
||||||
case 0x140: device->card_type = GV100; break;
|
case 0x140: device->card_type = GV100; break;
|
||||||
|
case 0x160: device->card_type = TU100; break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -2884,6 +2890,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func,
|
|||||||
case 0x138: device->chip = &nv138_chipset; break;
|
case 0x138: device->chip = &nv138_chipset; break;
|
||||||
case 0x13b: device->chip = &nv13b_chipset; break;
|
case 0x13b: device->chip = &nv13b_chipset; break;
|
||||||
case 0x140: device->chip = &nv140_chipset; break;
|
case 0x140: device->chip = &nv140_chipset; break;
|
||||||
|
case 0x164: device->chip = &nv164_chipset; break;
|
||||||
default:
|
default:
|
||||||
nvdev_error(device, "unknown chipset (%08x)\n", boot0);
|
nvdev_error(device, "unknown chipset (%08x)\n", boot0);
|
||||||
goto done;
|
goto done;
|
||||||
|
@ -175,6 +175,7 @@ nvkm_udevice_info(struct nvkm_udevice *udev, void *data, u32 size)
|
|||||||
case GM100: args->v0.family = NV_DEVICE_INFO_V0_MAXWELL; break;
|
case GM100: args->v0.family = NV_DEVICE_INFO_V0_MAXWELL; break;
|
||||||
case GP100: args->v0.family = NV_DEVICE_INFO_V0_PASCAL; break;
|
case GP100: args->v0.family = NV_DEVICE_INFO_V0_PASCAL; break;
|
||||||
case GV100: args->v0.family = NV_DEVICE_INFO_V0_VOLTA; break;
|
case GV100: args->v0.family = NV_DEVICE_INFO_V0_VOLTA; break;
|
||||||
|
case TU100: args->v0.family = NV_DEVICE_INFO_V0_TURING; break;
|
||||||
default:
|
default:
|
||||||
args->v0.family = 0;
|
args->v0.family = 0;
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user