From 23db2c658d8bfb22d892bc8b86fb2f5691b6099d Mon Sep 17 00:00:00 2001 From: Yong Zhao Date: Thu, 4 Oct 2018 18:28:18 -0400 Subject: [PATCH] libhsakmt: Add gfx908 support Change-Id: Icced5ca4c68eb6cc3978e0d8e836d0ccfc8c980d Signed-off-by: Yong Zhao --- src/libhsakmt.h | 3 ++- src/pmc_table.c | 1 + src/queues.c | 7 +++++++ src/topology.c | 4 ++++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/libhsakmt.h b/src/libhsakmt.h index da419f3029..98ebadd6e8 100644 --- a/src/libhsakmt.h +++ b/src/libhsakmt.h @@ -102,7 +102,8 @@ enum asic_family_type { CHIP_VEGA12, CHIP_VEGA20, CHIP_RAVEN, - CHIP_NAVI10 + CHIP_ARCTURUS, + CHIP_NAVI10, }; #define IS_SOC15(chip) ((chip) >= CHIP_VEGA10) diff --git a/src/pmc_table.c b/src/pmc_table.c index 0459d67240..dd4c69b618 100644 --- a/src/pmc_table.c +++ b/src/pmc_table.c @@ -1750,6 +1750,7 @@ HSAKMT_STATUS get_block_properties(uint32_t node_id, case CHIP_VEGA12: case CHIP_VEGA20: case CHIP_RAVEN: + case CHIP_ARCTURUS: *block = vega_blocks[block_id]; break; default: diff --git a/src/queues.c b/src/queues.c index d8fbc7f786..be3df8f733 100644 --- a/src/queues.c +++ b/src/queues.c @@ -129,6 +129,12 @@ const struct device_info vega20_device_info = { .doorbell_size = DOORBELL_SIZE_GFX9, }; +const struct device_info arcturus_device_info = { + .asic_family = CHIP_ARCTURUS, + .eop_buffer_size = 4096, + .doorbell_size = DOORBELL_SIZE_GFX9, +}; + const struct device_info navi10_device_info = { .asic_family = CHIP_NAVI10, .eop_buffer_size = 4096, @@ -149,6 +155,7 @@ static const struct device_info *dev_lookup_table[] = { [CHIP_VEGA12] = &vega12_device_info, [CHIP_VEGA20] = &vega20_device_info, [CHIP_RAVEN] = &raven_device_info, + [CHIP_ARCTURUS] = &arcturus_device_info, [CHIP_NAVI10] = &navi10_device_info, }; diff --git a/src/topology.c b/src/topology.c index fb4ad66f66..da95c01dfa 100644 --- a/src/topology.c +++ b/src/topology.c @@ -220,6 +220,10 @@ static struct hsa_gfxip_table { { 0x66A4, 9, 0, 6, 1, "Vega20", CHIP_VEGA20 }, { 0x66A7, 9, 0, 6, 1, "Vega20", CHIP_VEGA20 }, { 0x66AF, 9, 0, 6, 1, "Vega20", CHIP_VEGA20 }, + /* Arcturus */ + { 0x7388, 9, 0, 8, 1, "Arcturus", CHIP_ARCTURUS }, + { 0x738C, 9, 0, 8, 1, "Arcturus", CHIP_ARCTURUS }, + { 0x738E, 9, 0, 8, 1, "Arcturus", CHIP_ARCTURUS }, /* Navi10 */ { 0x7310, 10, 1, 0, 1, "Navi10", CHIP_NAVI10 }, { 0x7312, 10, 1, 0, 1, "Navi10", CHIP_NAVI10 },