[PATCH] drm/amdgpu:Expose physical id of device in XGMI hive

Kamal, Asad Asad.Kamal at amd.com
Thu Sep 21 09:24:03 UTC 2023


[AMD Official Use Only - General]

With clarification from Lijo, patch is,

Reviewed-by: Asad Kamal <asad.kamal at amd.com>

Thanks & Regards
Asad


-----Original Message-----
From: Lazar, Lijo <Lijo.Lazar at amd.com>
Sent: Thursday, September 21, 2023 2:44 PM
To: Kamal, Asad <Asad.Kamal at amd.com>; Gadre, Mangesh <Mangesh.Gadre at amd.com>; amd-gfx at lists.freedesktop.org; Zhang, Hawking <Hawking.Zhang at amd.com>; Ma, Le <Le.Ma at amd.com>; Zhang, Morris <Shiwu.Zhang at amd.com>
Subject: Re: [PATCH] drm/amdgpu:Expose physical id of device in XGMI hive



On 9/21/2023 12:34 PM, Kamal, Asad wrote:
> [AMD Official Use Only - General]
>
> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of
> Mangesh Gadre
> Sent: Thursday, September 21, 2023 10:06 AM
> To: amd-gfx at lists.freedesktop.org; Zhang, Hawking
> <Hawking.Zhang at amd.com>; Lazar, Lijo <Lijo.Lazar at amd.com>; Ma, Le
> <Le.Ma at amd.com>; Zhang, Morris <Shiwu.Zhang at amd.com>
> Cc: Gadre, Mangesh <Mangesh.Gadre at amd.com>; Lazar, Lijo
> <Lijo.Lazar at amd.com>
> Subject: [PATCH] drm/amdgpu:Expose physical id of device in XGMI hive
>
> This identifies the physical ordering of devices in the hive
>
> Signed-off-by: Mangesh Gadre <Mangesh.Gadre at amd.com>
> Reviewed-by: Lijo Lazar <lijo.lazar at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 20 ++++++++++++++++++++
>   1 file changed, 20 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> index 061534e845a7..4cf38164d72c 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> @@ -325,6 +325,17 @@ static ssize_t amdgpu_xgmi_show_device_id(struct
> device *dev,
>
>   }
>
> +static ssize_t amdgpu_xgmi_show_physical_id(struct device *dev,
> +                                    struct device_attribute *attr,
> +                                    char *buf) {
> +       struct drm_device *ddev = dev_get_drvdata(dev);
> +       struct amdgpu_device *adev = drm_to_adev(ddev);
> +
> +       return sysfs_emit(buf, "%llu\n",
> + adev->gmc.xgmi.physical_node_id);
> +
> +}
> +
>   static ssize_t amdgpu_xgmi_show_num_hops(struct device *dev,
>                                          struct device_attribute *attr,
>                                          char *buf) @@ -390,6 +401,7
> @@ static ssize_t amdgpu_xgmi_show_error(struct device *dev,
>
>
>   static DEVICE_ATTR(xgmi_device_id, S_IRUGO,
> amdgpu_xgmi_show_device_id, NULL);
> +static DEVICE_ATTR(xgmi_physical_id, 0444,
> +amdgpu_xgmi_show_physical_id, NULL);
> [Kamal, Asad]  Can we use S_IRUGO in place of hard code value 0444?
>
This is the recommended way by checkpatch. S_IR* will result in "Symbolic permissions are not preferred. Consider using octal permissions"
[Kamal, Asad] Ok.

Thanks,
Lijo

> Regards
> Asad
>   static DEVICE_ATTR(xgmi_error, S_IRUGO, amdgpu_xgmi_show_error, NULL);  static DEVICE_ATTR(xgmi_num_hops, S_IRUGO, amdgpu_xgmi_show_num_hops, NULL);  static DEVICE_ATTR(xgmi_num_links, S_IRUGO, amdgpu_xgmi_show_num_links, NULL); @@ -407,6 +419,12 @@ static int amdgpu_xgmi_sysfs_add_dev_info(struct amdgpu_device *adev,
>                  return ret;
>          }
>
> +       ret = device_create_file(adev->dev, &dev_attr_xgmi_physical_id);
> +       if (ret) {
> +               dev_err(adev->dev, "XGMI: Failed to create device file xgmi_physical_id\n");
> +               return ret;
> +       }
> +
>          /* Create xgmi error file */
>          ret = device_create_file(adev->dev, &dev_attr_xgmi_error);
>          if (ret)
> @@ -448,6 +466,7 @@ static int amdgpu_xgmi_sysfs_add_dev_info(struct
> amdgpu_device *adev,
>
>   remove_file:
>          device_remove_file(adev->dev, &dev_attr_xgmi_device_id);
> +       device_remove_file(adev->dev, &dev_attr_xgmi_physical_id);
>          device_remove_file(adev->dev, &dev_attr_xgmi_error);
>          device_remove_file(adev->dev, &dev_attr_xgmi_num_hops);
>          device_remove_file(adev->dev, &dev_attr_xgmi_num_links); @@ -463,6 +482,7 @@ static void amdgpu_xgmi_sysfs_rem_dev_info(struct amdgpu_device *adev,
>          memset(node, 0, sizeof(node));
>
>          device_remove_file(adev->dev, &dev_attr_xgmi_device_id);
> +       device_remove_file(adev->dev, &dev_attr_xgmi_physical_id);
>          device_remove_file(adev->dev, &dev_attr_xgmi_error);
>          device_remove_file(adev->dev, &dev_attr_xgmi_num_hops);
>          device_remove_file(adev->dev, &dev_attr_xgmi_num_links);
> --
> 2.34.1
>


More information about the amd-gfx mailing list