diff --git a/src/libhsakmt.h b/src/libhsakmt.h index 91e6c21e72..da419f3029 100644 --- a/src/libhsakmt.h +++ b/src/libhsakmt.h @@ -101,7 +101,8 @@ enum asic_family_type { CHIP_VEGA10, CHIP_VEGA12, CHIP_VEGA20, - CHIP_RAVEN + CHIP_RAVEN, + CHIP_NAVI10 }; #define IS_SOC15(chip) ((chip) >= CHIP_VEGA10) diff --git a/src/queues.c b/src/queues.c index f967805c22..d8fbc7f786 100644 --- a/src/queues.c +++ b/src/queues.c @@ -129,6 +129,11 @@ const struct device_info vega20_device_info = { .doorbell_size = DOORBELL_SIZE_GFX9, }; +const struct device_info navi10_device_info = { + .asic_family = CHIP_NAVI10, + .eop_buffer_size = 4096, + .doorbell_size = DOORBELL_SIZE_GFX9, +}; static const struct device_info *dev_lookup_table[] = { [CHIP_KAVERI] = &kaveri_device_info, @@ -143,7 +148,8 @@ static const struct device_info *dev_lookup_table[] = { [CHIP_VEGA10] = &vega10_device_info, [CHIP_VEGA12] = &vega12_device_info, [CHIP_VEGA20] = &vega20_device_info, - [CHIP_RAVEN] = &raven_device_info + [CHIP_RAVEN] = &raven_device_info, + [CHIP_NAVI10] = &navi10_device_info, }; struct queue { diff --git a/src/topology.c b/src/topology.c index 6fde6e588b..fb4ad66f66 100644 --- a/src/topology.c +++ b/src/topology.c @@ -220,6 +220,12 @@ 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 }, + /* Navi10 */ + { 0x7310, 10, 1, 0, 1, "Navi10", CHIP_NAVI10 }, + { 0x7312, 10, 1, 0, 1, "Navi10", CHIP_NAVI10 }, + { 0x7318, 10, 1, 0, 1, "Navi10", CHIP_NAVI10 }, + { 0x731A, 10, 1, 0, 1, "Navi10", CHIP_NAVI10 }, + { 0x731F, 10, 1, 0, 1, "Navi10", CHIP_NAVI10 }, }; enum cache_type {