]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/amdgpu: Remove volatile from RLC files
authorRodrigo Siqueira <siqueira@igalia.com>
Mon, 8 Sep 2025 23:15:37 +0000 (17:15 -0600)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 15 Sep 2025 20:51:09 +0000 (16:51 -0400)
The RLC uses volatile with some pointers that are not directly related
to any of the situations where volatile is advised to be used [1]. For
this reason, this commit removes all the volatile occurrences associated
with RLC.

1. https://docs.kernel.org/process/volatile-considered-harmful.html

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Rodrigo Siqueira <siqueira@igalia.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_rlc.c
drivers/gpu/drm/amd/amdgpu/amdgpu_rlc.h

index db5791e1a7cefbed9ef3ffaf438ba1c952ad3f7b..5aa830a02d80bc845753d07a81134df0a9375014 100644 (file)
@@ -89,7 +89,7 @@ void amdgpu_gfx_rlc_exit_safe_mode(struct amdgpu_device *adev, int xcc_id)
 int amdgpu_gfx_rlc_init_sr(struct amdgpu_device *adev, u32 dws)
 {
        const u32 *src_ptr;
-       volatile u32 *dst_ptr;
+       u32 *dst_ptr;
        u32 i;
        int r;
 
@@ -189,7 +189,7 @@ int amdgpu_gfx_rlc_init_cpt(struct amdgpu_device *adev)
 void amdgpu_gfx_rlc_setup_cp_table(struct amdgpu_device *adev)
 {
        const __le32 *fw_data;
-       volatile u32 *dst_ptr;
+       u32 *dst_ptr;
        int me, i, max_me;
        u32 bo_offset = 0;
        u32 table_offset, table_size;
index 0f2647d099b21f8245ee44e98b030e487ab52992..2ce310b319421f7d26d4d9b1f53b718c9d82c0a8 100644 (file)
@@ -275,7 +275,7 @@ struct amdgpu_rlc {
        /* for power gating */
        struct amdgpu_bo        *save_restore_obj;
        uint64_t                save_restore_gpu_addr;
-       volatile uint32_t       *sr_ptr;
+       uint32_t                *sr_ptr;
        const u32               *reg_list;
        u32                     reg_list_size;
        /* for clear state */
@@ -287,7 +287,7 @@ struct amdgpu_rlc {
        /* for cp tables */
        struct amdgpu_bo        *cp_table_obj;
        uint64_t                cp_table_gpu_addr;
-       volatile uint32_t       *cp_table_ptr;
+       uint32_t                *cp_table_ptr;
        u32                     cp_table_size;
 
        /* safe mode for updating CG/PG state */