---
src/lib/asic/CMakeLists.txt | 3 +++
src/lib/asic/hawaii.c | 40 ++++++++++++++++++++++++++++++++++++++++
src/lib/asic/kabini.c | 40 ++++++++++++++++++++++++++++++++++++++++
src/lib/asic/mullins.c | 40 ++++++++++++++++++++++++++++++++++++++++
src/lib/discover_by_did.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
src/lib/discover_by_name.c | 3 +++
src/umr.h | 3 +++
7 files changed, 173 insertions(+)
create mode 100644 src/lib/asic/hawaii.c
create mode 100644 src/lib/asic/kabini.c
create mode 100644 src/lib/asic/mullins.c
diff --git a/src/lib/asic/CMakeLists.txt b/src/lib/asic/CMakeLists.txt
index 6cfec309b6a5..07e9ad8cca4f 100644
--- a/src/lib/asic/CMakeLists.txt
+++ b/src/lib/asic/CMakeLists.txt
@@ -6,7 +6,10 @@ add_library(asic OBJECT
carrizo.c
fiji.c
hainan.c
+ hawaii.c
+ kabini.c
kaveri.c
+ mullins.c
oland.c
pitcairn.c
polaris10.c
diff --git a/src/lib/asic/hawaii.c b/src/lib/asic/hawaii.c
new file mode 100644
index 000000000000..07cbcac31a07
--- /dev/null
+++ b/src/lib/asic/hawaii.c
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2017 Advanced Micro Devices, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Authors: Tom St Denis <tom.stde...@amd.com>
+ *
+ */
+#include "umr.h"
+
+struct umr_asic *umr_create_hawaii(struct umr_options *options)
+{
+ return
+ umr_create_asic_helper("hawaii", FAMILY_CIK,
+ umr_create_uvd42(options),
+ umr_create_vce2(options),
+ umr_create_gmc70(options),
+ umr_create_dce80(options),
+ umr_create_gfx72(options),
+ umr_create_smu700(options),
+ umr_create_oss20(options),
+ umr_create_bif41(options),
+ NULL);
+}
diff --git a/src/lib/asic/kabini.c b/src/lib/asic/kabini.c
new file mode 100644
index 000000000000..08c3eb4da684
--- /dev/null
+++ b/src/lib/asic/kabini.c
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2017 Advanced Micro Devices, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Authors: Tom St Denis <tom.stde...@amd.com>
+ *
+ */
+#include "umr.h"
+
+struct umr_asic *umr_create_kabini(struct umr_options *options)
+{
+ return
+ umr_create_asic_helper("kabini", FAMILY_CIK,
+ umr_create_uvd42(options),
+ umr_create_vce2(options),
+ umr_create_gmc70(options),
+ umr_create_dce80(options),
+ umr_create_gfx72(options),
+ umr_create_smu700(options),
+ umr_create_oss20(options),
+ umr_create_bif41(options),
+ NULL);
+}
diff --git a/src/lib/asic/mullins.c b/src/lib/asic/mullins.c
new file mode 100644
index 000000000000..cca883fdb0f0
--- /dev/null
+++ b/src/lib/asic/mullins.c
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2017 Advanced Micro Devices, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Authors: Tom St Denis <tom.stde...@amd.com>
+ *
+ */
+#include "umr.h"
+
+struct umr_asic *umr_create_mullins(struct umr_options *options)
+{
+ return
+ umr_create_asic_helper("mullins", FAMILY_CIK,
+ umr_create_uvd42(options),
+ umr_create_vce2(options),
+ umr_create_gmc70(options),
+ umr_create_dce80(options),
+ umr_create_gfx72(options),
+ umr_create_smu700(options),
+ umr_create_oss20(options),
+ umr_create_bif41(options),
+ NULL);
+}
diff --git a/src/lib/discover_by_did.c b/src/lib/discover_by_did.c
index 2afb118f6ca4..271e8adce35d 100644
--- a/src/lib/discover_by_did.c
+++ b/src/lib/discover_by_did.c
@@ -88,6 +88,18 @@ static const struct {
{ 0x679B, &umr_create_tahiti },
{ 0x679E, &umr_create_tahiti },
{ 0x679F, &umr_create_tahiti },
+ { 0x67A0, &umr_create_hawaii },
+ { 0x67A1, &umr_create_hawaii },
+ { 0x67A2, &umr_create_hawaii },
+ { 0x67A8, &umr_create_hawaii },
+ { 0x67A9, &umr_create_hawaii },
+ { 0x67AA, &umr_create_hawaii },
+ { 0x67B0, &umr_create_hawaii },
+ { 0x67B1, &umr_create_hawaii },
+ { 0x67B8, &umr_create_hawaii },
+ { 0x67B9, &umr_create_hawaii },
+ { 0x67BA, &umr_create_hawaii },
+ { 0x67BE, &umr_create_hawaii },
{ 0x67C0, &umr_create_polaris10 },
{ 0x67C1, &umr_create_polaris10 },
{ 0x67C2, &umr_create_polaris10 },
@@ -165,6 +177,38 @@ static const struct {
{ 0x698F, &umr_create_polaris12 },
{ 0x7300, &umr_create_fiji },
{ 0x730F, &umr_create_fiji },
+ { 0x9830, &umr_create_kabini },
+ { 0x9831, &umr_create_kabini },
+ { 0x9832, &umr_create_kabini },
+ { 0x9833, &umr_create_kabini },
+ { 0x9834, &umr_create_kabini },
+ { 0x9835, &umr_create_kabini },
+ { 0x9836, &umr_create_kabini },
+ { 0x9837, &umr_create_kabini },
+ { 0x9838, &umr_create_kabini },
+ { 0x9839, &umr_create_kabini },
+ { 0x983a, &umr_create_kabini },
+ { 0x983b, &umr_create_kabini },
+ { 0x983c, &umr_create_kabini },
+ { 0x983d, &umr_create_kabini },
+ { 0x983e, &umr_create_kabini },
+ { 0x983f, &umr_create_kabini },
+ { 0x9850, &umr_create_mullins },
+ { 0x9851, &umr_create_mullins },
+ { 0x9852, &umr_create_mullins },
+ { 0x9853, &umr_create_mullins },
+ { 0x9854, &umr_create_mullins },
+ { 0x9855, &umr_create_mullins },
+ { 0x9856, &umr_create_mullins },
+ { 0x9857, &umr_create_mullins },
+ { 0x9858, &umr_create_mullins },
+ { 0x9859, &umr_create_mullins },
+ { 0x985A, &umr_create_mullins },
+ { 0x985B, &umr_create_mullins },
+ { 0x985C, &umr_create_mullins },
+ { 0x985D, &umr_create_mullins },
+ { 0x985E, &umr_create_mullins },
+ { 0x985F, &umr_create_mullins },
{ 0x9870, &umr_create_carrizo },
{ 0x9874, &umr_create_carrizo },
{ 0x9875, &umr_create_carrizo },
diff --git a/src/lib/discover_by_name.c b/src/lib/discover_by_name.c
index 856948c38ca4..13836534cdbf 100644
--- a/src/lib/discover_by_name.c
+++ b/src/lib/discover_by_name.c
@@ -28,10 +28,13 @@ static const struct {
char *name;
struct umr_asic *(*create)(struct umr_options *option);
} devices[] = {
+ { "kabini", &umr_create_kabini },
{ "kaveri", &umr_create_kaveri },
+ { "mullins", &umr_create_mullins },
{ "oland", &umr_create_oland },
{ "bonaire", &umr_create_bonaire },
{ "hainan", &umr_create_hainan },
+ { "hawaii", &umr_create_hawaii },
{ "tahiti", &umr_create_tahiti },
{ "polaris10", &umr_create_polaris10 },
{ "polaris11", &umr_create_polaris11 },
diff --git a/src/umr.h b/src/umr.h
index 34e8809eb415..c30839d6e116 100644
--- a/src/umr.h
+++ b/src/umr.h
@@ -387,7 +387,10 @@ struct umr_asic *umr_create_bonaire(struct umr_options
*options);
struct umr_asic *umr_create_carrizo(struct umr_options *options);
struct umr_asic *umr_create_fiji(struct umr_options *options);
struct umr_asic *umr_create_hainan(struct umr_options *options);
+struct umr_asic *umr_create_hawaii(struct umr_options *options);
+struct umr_asic *umr_create_kabini(struct umr_options *options);
struct umr_asic *umr_create_kaveri(struct umr_options *options);
+struct umr_asic *umr_create_mullins(struct umr_options *options);
struct umr_asic *umr_create_oland(struct umr_options *options);
struct umr_asic *umr_create_pitcairn(struct umr_options *options);
struct umr_asic *umr_create_polaris10(struct umr_options *options);