[PATCH] drm/amdgpu:Expose physical id of device in XGMI hive
Lazar, Lijo
lijo.lazar at amd.com
Thu Sep 21 09:14:16 UTC 2023
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"
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