RE: [PATCH v2 1/4] drm/amdgpu: Move xgmi definitions to xgmi header

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[AMD Official Use Only - AMD Internal Distribution Only]

Series is

Reviewed-by: Hawking Zhang <Hawking.Zhang@xxxxxxx>

Regards,
Hawking
-----Original Message-----
From: Lazar, Lijo <Lijo.Lazar@xxxxxxx>
Sent: Monday, February 10, 2025 15:01
To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx
Cc: Zhang, Hawking <Hawking.Zhang@xxxxxxx>; Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Kim, Jonathan <Jonathan.Kim@xxxxxxx>
Subject: [PATCH v2 1/4] drm/amdgpu: Move xgmi definitions to xgmi header

Move definitions related to xgmi to amdgpu_xgmi header

Signed-off-by: Lijo Lazar <lijo.lazar@xxxxxxx>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h  | 23 +---------------  drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c |  8 ++++++  drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.h | 35 +++++++++++++++++-------
 3 files changed, 34 insertions(+), 32 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h
index 459a30fe239f..bd7fc123b8f9 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h
@@ -29,6 +29,7 @@
 #include <linux/types.h>

 #include "amdgpu_irq.h"
+#include "amdgpu_xgmi.h"
 #include "amdgpu_ras.h"

 /* VA hole for 48bit addresses on Vega10 */ @@ -174,28 +175,6 @@ struct amdgpu_gmc_funcs {
        bool (*need_reset_on_init)(struct amdgpu_device *adev);  };

-struct amdgpu_xgmi_ras {
-       struct amdgpu_ras_block_object ras_block;
-};
-
-struct amdgpu_xgmi {
-       /* from psp */
-       u64 node_id;
-       u64 hive_id;
-       /* fixed per family */
-       u64 node_segment_size;
-       /* physical node (0-3) */
-       unsigned physical_node_id;
-       /* number of nodes (0-4) */
-       unsigned num_physical_nodes;
-       /* gpu list in the same hive */
-       struct list_head head;
-       bool supported;
-       struct ras_common_if *ras_if;
-       bool connected_to_cpu;
-       struct amdgpu_xgmi_ras *ras;
-};
-
 struct amdgpu_mem_partition_info {
        union {
                struct {
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
index 74b4349e345a..03d909c7b14b 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
@@ -1671,3 +1671,11 @@ int amdgpu_xgmi_request_nps_change(struct amdgpu_device *adev,

        return r;
 }
+
+bool amdgpu_xgmi_same_hive(struct amdgpu_device *adev,
+                          struct amdgpu_device *bo_adev)
+{
+       return (amdgpu_use_xgmi_p2p && adev != bo_adev &&
+               adev->gmc.xgmi.hive_id &&
+               adev->gmc.xgmi.hive_id == bo_adev->gmc.xgmi.hive_id); }
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.h
index d1282b4c6348..044c4f6be44a 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.h
@@ -23,7 +23,6 @@
 #define __AMDGPU_XGMI_H__

 #include <drm/task_barrier.h>
-#include "amdgpu_psp.h"
 #include "amdgpu_ras.h"

 struct amdgpu_hive_info {
@@ -55,7 +54,29 @@ struct amdgpu_pcs_ras_field {
        uint32_t pcs_err_shift;
 };

-extern struct amdgpu_xgmi_ras  xgmi_ras;
+struct amdgpu_xgmi_ras {
+       struct amdgpu_ras_block_object ras_block; }; extern struct
+amdgpu_xgmi_ras xgmi_ras;
+
+struct amdgpu_xgmi {
+       /* from psp */
+       u64 node_id;
+       u64 hive_id;
+       /* fixed per family */
+       u64 node_segment_size;
+       /* physical node (0-3) */
+       unsigned physical_node_id;
+       /* number of nodes (0-4) */
+       unsigned num_physical_nodes;
+       /* gpu list in the same hive */
+       struct list_head head;
+       bool supported;
+       struct ras_common_if *ras_if;
+       bool connected_to_cpu;
+       struct amdgpu_xgmi_ras *ras;
+};
+
 struct amdgpu_hive_info *amdgpu_get_xgmi_hive(struct amdgpu_device *adev);  void amdgpu_put_xgmi_hive(struct amdgpu_hive_info *hive);  int amdgpu_xgmi_update_topology(struct amdgpu_hive_info *hive, struct amdgpu_device *adev); @@ -70,14 +91,8 @@ bool amdgpu_xgmi_get_is_sharing_enabled(struct amdgpu_device *adev,
                                        struct amdgpu_device *peer_adev);
 uint64_t amdgpu_xgmi_get_relative_phy_addr(struct amdgpu_device *adev,
                                           uint64_t addr);
-static inline bool amdgpu_xgmi_same_hive(struct amdgpu_device *adev,
-               struct amdgpu_device *bo_adev)
-{
-       return (amdgpu_use_xgmi_p2p &&
-               adev != bo_adev &&
-               adev->gmc.xgmi.hive_id &&
-               adev->gmc.xgmi.hive_id == bo_adev->gmc.xgmi.hive_id);
-}
+bool amdgpu_xgmi_same_hive(struct amdgpu_device *adev,
+                          struct amdgpu_device *bo_adev);
 int amdgpu_xgmi_ras_sw_init(struct amdgpu_device *adev);  int amdgpu_xgmi_reset_on_init(struct amdgpu_device *adev);

--
2.25.1





[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux