[AMD Official Use Only - AMD Internal Distribution Only]

Just a typo in patch description

Add a wrapper functions->function


Series is

Reviewed-by: Asad Kamal <[email protected]>

Thanks & Regards
Asad

-----Original Message-----
From: Lazar, Lijo <[email protected]>
Sent: Friday, March 27, 2026 1:22 PM
To: [email protected]
Cc: Zhang, Hawking <[email protected]>; Deucher, Alexander 
<[email protected]>; Kamal, Asad <[email protected]>
Subject: [PATCH 1/3] drm/amd/pm: Add smu vram copy function

Add a wrapper functions for copying data/to from vram. This additionally checks 
for any RAS fatal error. Copy cannot be trusted if any RAS fatal error happened 
as VRAM becomes inaccessible.

Signed-off-by: Lijo Lazar <[email protected]>
---
 drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c | 12 ++++++++++++  
drivers/gpu/drm/amd/pm/swsmu/smu_cmn.h |  3 +++
 2 files changed, 15 insertions(+)

diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c 
b/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c
index 7bd8c435466a..006ef585a377 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c
@@ -1104,6 +1104,18 @@ int smu_cmn_update_table(struct smu_context *smu,
        return 0;
 }

+int smu_cmn_vram_cpy(struct smu_context *smu, void *dst, const void *src,
+                    size_t len)
+{
+       memcpy(dst, src, len);
+
+       /* Don't trust the copy operation if RAS fatal error happened. */
+       if (amdgpu_ras_get_fed_status(smu->adev))
+               return -EHWPOISON;
+
+       return 0;
+}
+
 int smu_cmn_write_watermarks_table(struct smu_context *smu)  {
        void *watermarks_table = smu->smu_table.watermarks_table; diff --git 
a/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.h 
b/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.h
index b76e86df5da7..d129907535bd 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.h
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.h
@@ -174,6 +174,9 @@ int smu_cmn_update_table(struct smu_context *smu,
                         void *table_data,
                         bool drv2smu);

+int smu_cmn_vram_cpy(struct smu_context *smu, void *dst,
+                    const void *src, size_t len);
+
 int smu_cmn_write_watermarks_table(struct smu_context *smu);

 int smu_cmn_write_pptable(struct smu_context *smu);
--
2.49.0

Reply via email to