All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/amdgpu: switch XGMI sysfs show helpers to sysfs_emit_at()
@ 2026-03-13  1:52 David Baum
  2026-03-13 14:04 ` Alex Deucher
  0 siblings, 1 reply; 2+ messages in thread
From: David Baum @ 2026-03-13  1:52 UTC (permalink / raw)
  To: alex.deucher, christian.koenig
  Cc: lijo.lazar, airlied, simona, amd-gfx, dri-devel, David Baum

The XGMI sysfs show helpers amdgpu_xgmi_show_num_hops() and
amdgpu_xgmi_show_num_links() currently populate the output buffer with
sprintf() and then call sysfs_emit(buf, "%s\n", buf) to append the final
newline.

Convert both helpers to use sysfs_emit_at() while tracking the current
offset. This keeps buffer construction in the sysfs helpers, avoids
feeding the output buffer back into the final formatted write, and
matches the style already used by
amdgpu_xgmi_show_connected_port_num().

Signed-off-by: David Baum <davidbaum461@gmail.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
index 11e56df1d91b..13fc7247fe23 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
@@ -469,12 +469,12 @@ static ssize_t amdgpu_xgmi_show_num_hops(struct device *dev,
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct amdgpu_device *adev = drm_to_adev(ddev);
 	struct psp_xgmi_topology_info *top = &adev->psp.xgmi_context.top_info;
-	int i;
+	int i, offset = 0;
 
 	for (i = 0; i < top->num_nodes; i++)
-		sprintf(buf + 3 * i, "%02x ", top->nodes[i].num_hops);
+		offset += sysfs_emit_at(buf, offset, "%02x ", top->nodes[i].num_hops);
 
-	return sysfs_emit(buf, "%s\n", buf);
+	return offset + sysfs_emit_at(buf, offset, "\n");
 }
 
 static ssize_t amdgpu_xgmi_show_num_links(struct device *dev,
@@ -484,12 +484,12 @@ static ssize_t amdgpu_xgmi_show_num_links(struct device *dev,
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct amdgpu_device *adev = drm_to_adev(ddev);
 	struct psp_xgmi_topology_info *top = &adev->psp.xgmi_context.top_info;
-	int i;
+	int i, offset = 0;
 
 	for (i = 0; i < top->num_nodes; i++)
-		sprintf(buf + 3 * i, "%02x ", top->nodes[i].num_links);
+		offset += sysfs_emit_at(buf, offset, "%02x ", top->nodes[i].num_links);
 
-	return sysfs_emit(buf, "%s\n", buf);
+	return offset + sysfs_emit_at(buf, offset, "\n");
 }
 
 static ssize_t amdgpu_xgmi_show_connected_port_num(struct device *dev,
-- 
2.50.1 (Apple Git-155)


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] drm/amdgpu: switch XGMI sysfs show helpers to sysfs_emit_at()
  2026-03-13  1:52 [PATCH] drm/amdgpu: switch XGMI sysfs show helpers to sysfs_emit_at() David Baum
@ 2026-03-13 14:04 ` Alex Deucher
  0 siblings, 0 replies; 2+ messages in thread
From: Alex Deucher @ 2026-03-13 14:04 UTC (permalink / raw)
  To: David Baum
  Cc: alex.deucher, christian.koenig, lijo.lazar, airlied, simona,
	amd-gfx, dri-devel

Applied.  Thanks!

Alex

On Fri, Mar 13, 2026 at 4:55 AM David Baum <davidbaum461@gmail.com> wrote:
>
> The XGMI sysfs show helpers amdgpu_xgmi_show_num_hops() and
> amdgpu_xgmi_show_num_links() currently populate the output buffer with
> sprintf() and then call sysfs_emit(buf, "%s\n", buf) to append the final
> newline.
>
> Convert both helpers to use sysfs_emit_at() while tracking the current
> offset. This keeps buffer construction in the sysfs helpers, avoids
> feeding the output buffer back into the final formatted write, and
> matches the style already used by
> amdgpu_xgmi_show_connected_port_num().
>
> Signed-off-by: David Baum <davidbaum461@gmail.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> index 11e56df1d91b..13fc7247fe23 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> @@ -469,12 +469,12 @@ static ssize_t amdgpu_xgmi_show_num_hops(struct device *dev,
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct amdgpu_device *adev = drm_to_adev(ddev);
>         struct psp_xgmi_topology_info *top = &adev->psp.xgmi_context.top_info;
> -       int i;
> +       int i, offset = 0;
>
>         for (i = 0; i < top->num_nodes; i++)
> -               sprintf(buf + 3 * i, "%02x ", top->nodes[i].num_hops);
> +               offset += sysfs_emit_at(buf, offset, "%02x ", top->nodes[i].num_hops);
>
> -       return sysfs_emit(buf, "%s\n", buf);
> +       return offset + sysfs_emit_at(buf, offset, "\n");
>  }
>
>  static ssize_t amdgpu_xgmi_show_num_links(struct device *dev,
> @@ -484,12 +484,12 @@ static ssize_t amdgpu_xgmi_show_num_links(struct device *dev,
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct amdgpu_device *adev = drm_to_adev(ddev);
>         struct psp_xgmi_topology_info *top = &adev->psp.xgmi_context.top_info;
> -       int i;
> +       int i, offset = 0;
>
>         for (i = 0; i < top->num_nodes; i++)
> -               sprintf(buf + 3 * i, "%02x ", top->nodes[i].num_links);
> +               offset += sysfs_emit_at(buf, offset, "%02x ", top->nodes[i].num_links);
>
> -       return sysfs_emit(buf, "%s\n", buf);
> +       return offset + sysfs_emit_at(buf, offset, "\n");
>  }
>
>  static ssize_t amdgpu_xgmi_show_connected_port_num(struct device *dev,
> --
> 2.50.1 (Apple Git-155)
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-03-13 14:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-13  1:52 [PATCH] drm/amdgpu: switch XGMI sysfs show helpers to sysfs_emit_at() David Baum
2026-03-13 14:04 ` Alex Deucher

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.