aboutsummaryrefslogtreecommitdiffstats
path: root/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5714-drm-amdkfd-Only-add-bi-directional-iolink-on-GPU-wit.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5714-drm-amdkfd-Only-add-bi-directional-iolink-on-GPU-wit.patch')
-rw-r--r--meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5714-drm-amdkfd-Only-add-bi-directional-iolink-on-GPU-wit.patch94
1 files changed, 0 insertions, 94 deletions
diff --git a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5714-drm-amdkfd-Only-add-bi-directional-iolink-on-GPU-wit.patch b/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5714-drm-amdkfd-Only-add-bi-directional-iolink-on-GPU-wit.patch
deleted file mode 100644
index 994f9ebe..00000000
--- a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5714-drm-amdkfd-Only-add-bi-directional-iolink-on-GPU-wit.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 20620531eab1dd6d8a0f7f6314745121f42e1b5c Mon Sep 17 00:00:00 2001
-From: shaoyunl <Shaoyun.Liu@amd.com>
-Date: Fri, 7 Sep 2018 12:00:07 -0400
-Subject: [PATCH 5714/5725] drm/amdkfd: Only add bi-directional iolink on GPU
- with XGMI or largebar
-
-Change-Id: Ibb6a89ed878fffccb9a8bb4032b07a10ee298a99
-Signed-off-by: shaoyunl <Shaoyun.Liu@amd.com>
-Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
----
- drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 15 +++++++++------
- drivers/gpu/drm/amd/amdkfd/kfd_crat.h | 3 ++-
- drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 1 +
- 3 files changed, 12 insertions(+), 7 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
-index 1655e8b..ee753cb 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
-@@ -353,8 +353,8 @@ static int kfd_parse_subtype_iolink(struct crat_subtype_iolink *iolink,
- id_from = iolink->proximity_domain_from;
- id_to = iolink->proximity_domain_to;
-
-- pr_debug("Found IO link entry in CRAT table with id_from=%d\n",
-- id_from);
-+ pr_debug("Found IO link entry in CRAT table with id_from=%d, id_to %d\n",
-+ id_from, id_to);
- list_for_each_entry(dev, device_list, list) {
- if (id_from == dev->proximity_domain) {
- props = kfd_alloc_struct(props);
-@@ -391,12 +391,12 @@ static int kfd_parse_subtype_iolink(struct crat_subtype_iolink *iolink,
- /* CPU topology is created before GPUs are detected, so CPU->GPU
- * links are not built at that time. If a PCIe type is discovered, it
- * means a GPU is detected and we are adding GPU->CPU to the topology.
-- * At this time, also add the corresponded CPU->GPU link.
-+ * At this time, also add the corresponded CPU->GPU link if GPU
-+ * is large bar.
- * For xGMI, we only added the link with one direction in the crat
- * table, add corresponded reversed direction link now.
- */
-- if (props && (props->iolink_type == CRAT_IOLINK_TYPE_PCIEXPRESS ||
-- props->iolink_type == CRAT_IOLINK_TYPE_XGMI)) {
-+ if (props && (iolink->flags & CRAT_IOLINK_FLAGS_BI_DIRECTIONAL)) {
- to_dev = kfd_topology_device_by_proximity_domain(id_to);
- if (!to_dev)
- return -ENODEV;
-@@ -1076,6 +1076,8 @@ static int kfd_fill_gpu_direct_io_link_to_cpu(int *avail_size,
- sub_type_hdr->type = CRAT_SUBTYPE_IOLINK_AFFINITY;
- sub_type_hdr->length = sizeof(struct crat_subtype_iolink);
- sub_type_hdr->flags |= CRAT_SUBTYPE_FLAGS_ENABLED;
-+ if (kfd_dev_is_large_bar(kdev))
-+ sub_type_hdr->flags |= CRAT_IOLINK_FLAGS_BI_DIRECTIONAL;
-
- /* Fill in IOLINK subtype.
- * TODO: Fill-in other fields of iolink subtype
-@@ -1107,7 +1109,8 @@ static int kfd_fill_gpu_xgmi_link_to_gpu(int *avail_size,
-
- sub_type_hdr->type = CRAT_SUBTYPE_IOLINK_AFFINITY;
- sub_type_hdr->length = sizeof(struct crat_subtype_iolink);
-- sub_type_hdr->flags |= CRAT_SUBTYPE_FLAGS_ENABLED;
-+ sub_type_hdr->flags |= CRAT_SUBTYPE_FLAGS_ENABLED |
-+ CRAT_IOLINK_FLAGS_BI_DIRECTIONAL;
-
- sub_type_hdr->io_interface_type = CRAT_IOLINK_TYPE_XGMI;
- sub_type_hdr->proximity_domain_from = proximity_domain_from;
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_crat.h b/drivers/gpu/drm/amd/amdkfd/kfd_crat.h
-index 1ef8823..cfdd02f 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_crat.h
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_crat.h
-@@ -232,7 +232,8 @@ struct crat_subtype_ccompute {
- #define CRAT_IOLINK_FLAGS_NO_ATOMICS_32_BIT (1 << 2)
- #define CRAT_IOLINK_FLAGS_NO_ATOMICS_64_BIT (1 << 3)
- #define CRAT_IOLINK_FLAGS_NO_PEER_TO_PEER_DMA (1 << 4)
--#define CRAT_IOLINK_FLAGS_RESERVED_MASK 0xffffffe0
-+#define CRAT_IOLINK_FLAGS_BI_DIRECTIONAL (1 << 31)
-+#define CRAT_IOLINK_FLAGS_RESERVED_MASK 0x7fffffe0
-
- /*
- * IO interface types
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
-index ca42b58..1f0d558 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
-@@ -834,6 +834,7 @@ struct amdkfd_ioctl_desc {
- unsigned int cmd_drv;
- const char *name;
- };
-+bool kfd_dev_is_large_bar(struct kfd_dev *dev);
-
- int kfd_process_create_wq(void);
- void kfd_process_destroy_wq(void);
---
-2.7.4
-