Commit 7f53abdb authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/core: recognise GP100 chipset



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent cb7b5ea9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ struct nv_device_info_v0 {
#define NV_DEVICE_INFO_V0_FERMI                                            0x07
#define NV_DEVICE_INFO_V0_KEPLER                                           0x08
#define NV_DEVICE_INFO_V0_MAXWELL                                          0x09
#define NV_DEVICE_INFO_V0_PASCAL                                           0x0a
	__u8  family;
	__u8  pad06[2];
	__u64 ram_size;
+1 −0
Original line number Diff line number Diff line
@@ -106,6 +106,7 @@ struct nvkm_device {
		NV_C0    = 0xc0,
		NV_E0    = 0xe0,
		GM100    = 0x110,
		GP100    = 0x130,
	} card_type;
	u32 chipset;
	u8  chiprev;
+1 −0
Original line number Diff line number Diff line
@@ -100,6 +100,7 @@ nouveau_abi16_swclass(struct nouveau_drm *drm)
	case NV_DEVICE_INFO_V0_FERMI:
	case NV_DEVICE_INFO_V0_KEPLER:
	case NV_DEVICE_INFO_V0_MAXWELL:
	case NV_DEVICE_INFO_V0_PASCAL:
		return NVIF_CLASS_SW_GF100;
	}

+1 −0
Original line number Diff line number Diff line
@@ -164,6 +164,7 @@ nouveau_gart_manager_new(struct ttm_mem_type_manager *man,
	case NV_DEVICE_INFO_V0_FERMI:
	case NV_DEVICE_INFO_V0_KEPLER:
	case NV_DEVICE_INFO_V0_MAXWELL:
	case NV_DEVICE_INFO_V0_PASCAL:
		node->memtype = (nvbo->tile_flags & 0xff00) >> 8;
		break;
	default:
+7 −0
Original line number Diff line number Diff line
@@ -2148,6 +2148,11 @@ nv12b_chipset = {
	.sw = gf100_sw_new,
};

static const struct nvkm_device_chip
nv130_chipset = {
	.name = "GP100",
};

static int
nvkm_device_event_ctor(struct nvkm_object *object, void *data, u32 size,
		       struct nvkm_notify *notify)
@@ -2496,6 +2501,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func,
			case 0x100: device->card_type = NV_E0; break;
			case 0x110:
			case 0x120: device->card_type = GM100; break;
			case 0x130: device->card_type = GP100; break;
			default:
				break;
			}
@@ -2580,6 +2586,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func,
		case 0x124: device->chip = &nv124_chipset; break;
		case 0x126: device->chip = &nv126_chipset; break;
		case 0x12b: device->chip = &nv12b_chipset; break;
		case 0x130: device->chip = &nv130_chipset; break;
		default:
			nvdev_error(device, "unknown chipset (%08x)\n", boot0);
			goto done;
Loading