Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c1f856bb authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/core: recognise gv100



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 890c85f3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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;
+1 −0
Original line number Diff line number Diff line
@@ -113,6 +113,7 @@ struct nvkm_device {
		NV_E0    = 0xe0,
		GM100    = 0x110,
		GP100    = 0x130,
		GV100    = 0x140,
	} card_type;
	u32 chipset;
	u8  chiprev;
+1 −0
Original line number Diff line number Diff line
@@ -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;
	}

+7 −0
Original line number Diff line number Diff line
@@ -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;
+1 −0
Original line number Diff line number Diff line
@@ -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;