From 97e51ce33d6b841b5b0e34a7529fe2d5bafbfecf Mon Sep 17 00:00:00 2001 From: Felix Kuehling Date: Mon, 25 Apr 2016 14:27:44 -0400 Subject: [PATCH] Add gfx70x support Change-Id: I400adb62b5225ef3a42da279d067fb0a62907089 --- src/queues.c | 24 +++++++++++++++++++++++- src/topology.c | 13 +++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/src/queues.c b/src/queues.c index 0867548e7d..505d8dbd0f 100644 --- a/src/queues.c +++ b/src/queues.c @@ -39,13 +39,15 @@ enum asic_family_type { CHIP_KAVERI = 0, + CHIP_HAWAII, CHIP_CARRIZO, CHIP_TONGA, CHIP_FIJI }; #define IS_VI(chip) ((chip) >= CHIP_CARRIZO && (chip) <= CHIP_FIJI) -#define IS_DGPU(chip) ((chip) >= CHIP_TONGA && (chip) <= CHIP_FIJI) +#define IS_DGPU(chip) (((chip) >= CHIP_TONGA && (chip) <= CHIP_FIJI) || \ + (chip) == CHIP_HAWAII) struct device_info { @@ -62,6 +64,13 @@ struct device_info kaveri_device_info = { .eop_buffer_size = 0, }; +struct device_info hawaii_device_info = { + .asic_family = CHIP_HAWAII, + .ctx_save_restore_size = 0, + .ctl_stack_size = 0, + .eop_buffer_size = 0, +}; + struct device_info carrizo_device_info = { .asic_family = CHIP_CARRIZO, .ctx_save_restore_size = PAGE_ALIGN_UP(2756608 + 4096), @@ -90,6 +99,7 @@ struct device_id struct device_info *dev_info; }; +/* TODO: unify this with the device list in topology.c */ struct device_id supported_devices[] = { { 0x1304, &kaveri_device_info }, /* Kaveri */ { 0x1305, &kaveri_device_info }, /* Kaveri */ @@ -113,6 +123,18 @@ struct device_id supported_devices[] = { { 0x131B, &kaveri_device_info }, /* Kaveri */ { 0x131C, &kaveri_device_info }, /* Kaveri */ { 0x131D, &kaveri_device_info }, /* Kaveri */ + { 0x67A0, &hawaii_device_info }, /* Hawaii */ + { 0x67A1, &hawaii_device_info }, /* Hawaii */ + { 0x67A2, &hawaii_device_info }, /* Hawaii */ + { 0x67A8, &hawaii_device_info }, /* Hawaii */ + { 0x67A9, &hawaii_device_info }, /* Hawaii */ + { 0x67AA, &hawaii_device_info }, /* Hawaii */ + { 0x67B0, &hawaii_device_info }, /* Hawaii */ + { 0x67B1, &hawaii_device_info }, /* Hawaii */ + { 0x67B8, &hawaii_device_info }, /* Hawaii */ + { 0x67B9, &hawaii_device_info }, /* Hawaii */ + { 0x67BA, &hawaii_device_info }, /* Hawaii */ + { 0x67BE, &hawaii_device_info }, /* Hawaii */ { 0x9870, &carrizo_device_info }, /* Carrizo */ { 0x9874, &carrizo_device_info }, /* Carrizo */ { 0x9875, &carrizo_device_info }, /* Carrizo */ diff --git a/src/topology.c b/src/topology.c index a1f53599bb..a9a75869a8 100644 --- a/src/topology.c +++ b/src/topology.c @@ -106,6 +106,19 @@ static struct hsa_gfxip_table { { 0x131B, 7, 0, 0, 0, "Spectre" }, { 0x131C, 7, 0, 0, 0, "Spectre" }, { 0x131D, 7, 0, 0, 0, "Spectre" }, + /* Hawaii Family */ + { 0x67A0, 7, 0, 0, 1, "Hawaii" }, + { 0x67A1, 7, 0, 0, 1, "Hawaii" }, + { 0x67A2, 7, 0, 0, 1, "Hawaii" }, + { 0x67A8, 7, 0, 0, 1, "Hawaii" }, + { 0x67A9, 7, 0, 0, 1, "Hawaii" }, + { 0x67AA, 7, 0, 0, 1, "Hawaii" }, + { 0x67B0, 7, 0, 0, 1, "Hawaii" }, + { 0x67B1, 7, 0, 0, 1, "Hawaii" }, + { 0x67B8, 7, 0, 0, 1, "Hawaii" }, + { 0x67B9, 7, 0, 0, 1, "Hawaii" }, + { 0x67BA, 7, 0, 0, 1, "Hawaii" }, + { 0x67BE, 7, 0, 0, 1, "Hawaii" }, /* Carrizo Family */ { 0x9870, 8, 0, 1, 0, "Carrizo" }, { 0x9874, 8, 0, 1, 0, "Carrizo" },