drm/amdgpu: Remove volatile references from VCN
authorRodrigo Siqueira <siqueira@igalia.com>
Mon, 8 Sep 2025 23:15:40 +0000 (17:15 -0600)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 15 Sep 2025 20:51:25 +0000 (16:51 -0400)
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_vcn.c
drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c
drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c
drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c
drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c
drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c
drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c
drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c

index c2f6936..5ae7cc0 100644 (file)
@@ -1157,7 +1157,7 @@ static ssize_t amdgpu_debugfs_vcn_fwlog_read(struct file *f, char __user *buf,
 {
        struct amdgpu_vcn_inst *vcn;
        void *log_buf;
-       volatile struct amdgpu_vcn_fwlog *plog;
+       struct amdgpu_vcn_fwlog *plog;
        unsigned int read_pos, write_pos, available, i, read_bytes = 0;
        unsigned int read_num[2] = {0};
 
@@ -1170,7 +1170,7 @@ static ssize_t amdgpu_debugfs_vcn_fwlog_read(struct file *f, char __user *buf,
 
        log_buf = vcn->fw_shared.cpu_addr + vcn->fw_shared.mem_size;
 
-       plog = (volatile struct amdgpu_vcn_fwlog *)log_buf;
+       plog = (struct amdgpu_vcn_fwlog *)log_buf;
        read_pos = plog->rptr;
        write_pos = plog->wptr;
 
@@ -1237,11 +1237,11 @@ void amdgpu_debugfs_vcn_fwlog_init(struct amdgpu_device *adev, uint8_t i,
 void amdgpu_vcn_fwlog_init(struct amdgpu_vcn_inst *vcn)
 {
 #if defined(CONFIG_DEBUG_FS)
-       volatile uint32_t *flag = vcn->fw_shared.cpu_addr;
+       uint32_t *flag = vcn->fw_shared.cpu_addr;
        void *fw_log_cpu_addr = vcn->fw_shared.cpu_addr + vcn->fw_shared.mem_size;
        uint64_t fw_log_gpu_addr = vcn->fw_shared.gpu_addr + vcn->fw_shared.mem_size;
-       volatile struct amdgpu_vcn_fwlog *log_buf = fw_log_cpu_addr;
-       volatile struct amdgpu_fw_shared_fw_logging *fw_log = vcn->fw_shared.cpu_addr
+       struct amdgpu_vcn_fwlog *log_buf = fw_log_cpu_addr;
+       struct amdgpu_fw_shared_fw_logging *fw_log = vcn->fw_shared.cpu_addr
                                                         + vcn->fw_shared.log_offset;
        *flag |= cpu_to_le32(AMDGPU_VCN_FW_LOGGING_FLAG);
        fw_log->is_enabled = 1;
index 3c1c844..a316797 100644 (file)
@@ -193,7 +193,7 @@ static int vcn_v1_0_sw_init(struct amdgpu_ip_block *ip_block)
        adev->vcn.inst[0].pause_dpg_mode = vcn_v1_0_pause_dpg_mode;
 
        if (amdgpu_vcnfw_log) {
-               volatile struct amdgpu_fw_shared *fw_shared = adev->vcn.inst->fw_shared.cpu_addr;
+               struct amdgpu_fw_shared *fw_shared = adev->vcn.inst->fw_shared.cpu_addr;
 
                fw_shared->present_flag_0 = 0;
                amdgpu_vcn_fwlog_init(adev->vcn.inst);
index c4e2659..8897dcc 100644 (file)
@@ -137,7 +137,7 @@ static int vcn_v2_0_sw_init(struct amdgpu_ip_block *ip_block)
        struct amdgpu_ring *ring;
        int i, r;
        struct amdgpu_device *adev = ip_block->adev;
-       volatile struct amdgpu_fw_shared *fw_shared;
+       struct amdgpu_fw_shared *fw_shared;
 
        /* VCN DEC TRAP */
        r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_VCN,
@@ -252,7 +252,7 @@ static int vcn_v2_0_sw_fini(struct amdgpu_ip_block *ip_block)
 {
        int r, idx;
        struct amdgpu_device *adev = ip_block->adev;
-       volatile struct amdgpu_fw_shared *fw_shared = adev->vcn.inst->fw_shared.cpu_addr;
+       struct amdgpu_fw_shared *fw_shared = adev->vcn.inst->fw_shared.cpu_addr;
 
        if (drm_dev_enter(adev_to_drm(adev), &idx)) {
                fw_shared->present_flag_0 = 0;
@@ -853,7 +853,7 @@ static void vcn_v2_0_enable_static_power_gating(struct amdgpu_vcn_inst *vinst)
 static int vcn_v2_0_start_dpg_mode(struct amdgpu_vcn_inst *vinst, bool indirect)
 {
        struct amdgpu_device *adev = vinst->adev;
-       volatile struct amdgpu_fw_shared *fw_shared = adev->vcn.inst->fw_shared.cpu_addr;
+       struct amdgpu_fw_shared *fw_shared = adev->vcn.inst->fw_shared.cpu_addr;
        struct amdgpu_ring *ring = &adev->vcn.inst->ring_dec;
        uint32_t rb_bufsz, tmp;
        int ret;
@@ -1001,7 +1001,7 @@ static int vcn_v2_0_start_dpg_mode(struct amdgpu_vcn_inst *vinst, bool indirect)
 static int vcn_v2_0_start(struct amdgpu_vcn_inst *vinst)
 {
        struct amdgpu_device *adev = vinst->adev;
-       volatile struct amdgpu_fw_shared *fw_shared = adev->vcn.inst->fw_shared.cpu_addr;
+       struct amdgpu_fw_shared *fw_shared = adev->vcn.inst->fw_shared.cpu_addr;
        struct amdgpu_ring *ring = &adev->vcn.inst->ring_dec;
        uint32_t rb_bufsz, tmp;
        uint32_t lmi_swap_cntl;
@@ -1308,7 +1308,7 @@ static int vcn_v2_0_pause_dpg_mode(struct amdgpu_vcn_inst *vinst,
                                UVD_POWER_STATUS__UVD_POWER_STATUS_MASK);
 
                        if (!ret_code) {
-                               volatile struct amdgpu_fw_shared *fw_shared = adev->vcn.inst->fw_shared.cpu_addr;
+                               struct amdgpu_fw_shared *fw_shared = adev->vcn.inst->fw_shared.cpu_addr;
                                /* pause DPG */
                                reg_data |= UVD_DPG_PAUSE__NJ_PAUSE_DPG_REQ_MASK;
                                WREG32_SOC15(UVD, 0, mmUVD_DPG_PAUSE, reg_data);
index 0505f09..cebee45 100644 (file)
@@ -277,7 +277,7 @@ static int vcn_v2_5_sw_init(struct amdgpu_ip_block *ip_block)
        struct amdgpu_device *adev = ip_block->adev;
 
        for (j = 0; j < adev->vcn.num_vcn_inst; j++) {
-               volatile struct amdgpu_fw_shared *fw_shared;
+               struct amdgpu_fw_shared *fw_shared;
 
                if (adev->vcn.harvest_config & (1 << j))
                        continue;
@@ -420,7 +420,7 @@ static int vcn_v2_5_sw_fini(struct amdgpu_ip_block *ip_block)
 {
        int i, r, idx;
        struct amdgpu_device *adev = ip_block->adev;
-       volatile struct amdgpu_fw_shared *fw_shared;
+       struct amdgpu_fw_shared *fw_shared;
 
        if (drm_dev_enter(adev_to_drm(adev), &idx)) {
                for (i = 0; i < adev->vcn.num_vcn_inst; i++) {
@@ -998,7 +998,7 @@ static int vcn_v2_5_start_dpg_mode(struct amdgpu_vcn_inst *vinst, bool indirect)
 {
        struct amdgpu_device *adev = vinst->adev;
        int inst_idx = vinst->inst;
-       volatile struct amdgpu_fw_shared *fw_shared = adev->vcn.inst[inst_idx].fw_shared.cpu_addr;
+       struct amdgpu_fw_shared *fw_shared = adev->vcn.inst[inst_idx].fw_shared.cpu_addr;
        struct amdgpu_ring *ring;
        uint32_t rb_bufsz, tmp;
        int ret;
@@ -1155,7 +1155,7 @@ static int vcn_v2_5_start(struct amdgpu_vcn_inst *vinst)
 {
        struct amdgpu_device *adev = vinst->adev;
        int i = vinst->inst;
-       volatile struct amdgpu_fw_shared *fw_shared =
+       struct amdgpu_fw_shared *fw_shared =
                adev->vcn.inst[i].fw_shared.cpu_addr;
        struct amdgpu_ring *ring;
        uint32_t rb_bufsz, tmp;
@@ -1667,7 +1667,7 @@ static int vcn_v2_5_pause_dpg_mode(struct amdgpu_vcn_inst *vinst,
                                UVD_POWER_STATUS__UVD_POWER_STATUS_MASK);
 
                        if (!ret_code) {
-                               volatile struct amdgpu_fw_shared *fw_shared = adev->vcn.inst[inst_idx].fw_shared.cpu_addr;
+                               struct amdgpu_fw_shared *fw_shared = adev->vcn.inst[inst_idx].fw_shared.cpu_addr;
 
                                /* pause DPG */
                                reg_data |= UVD_DPG_PAUSE__NJ_PAUSE_DPG_REQ_MASK;
index 77a8373..d9cf8f0 100644 (file)
@@ -191,7 +191,7 @@ static int vcn_v3_0_sw_init(struct amdgpu_ip_block *ip_block)
        }
 
        for (i = 0; i < adev->vcn.num_vcn_inst; i++) {
-               volatile struct amdgpu_fw_shared *fw_shared;
+               struct amdgpu_fw_shared *fw_shared;
 
                if (adev->vcn.harvest_config & (1 << i))
                        continue;
@@ -327,7 +327,7 @@ static int vcn_v3_0_sw_fini(struct amdgpu_ip_block *ip_block)
 
        if (drm_dev_enter(adev_to_drm(adev), &idx)) {
                for (i = 0; i < adev->vcn.num_vcn_inst; i++) {
-                       volatile struct amdgpu_fw_shared *fw_shared;
+                       struct amdgpu_fw_shared *fw_shared;
 
                        if (adev->vcn.harvest_config & (1 << i))
                                continue;
@@ -1029,7 +1029,7 @@ static int vcn_v3_0_start_dpg_mode(struct amdgpu_vcn_inst *vinst, bool indirect)
 {
        struct amdgpu_device *adev = vinst->adev;
        int inst_idx = vinst->inst;
-       volatile struct amdgpu_fw_shared *fw_shared = adev->vcn.inst[inst_idx].fw_shared.cpu_addr;
+       struct amdgpu_fw_shared *fw_shared = adev->vcn.inst[inst_idx].fw_shared.cpu_addr;
        struct amdgpu_ring *ring;
        uint32_t rb_bufsz, tmp;
        int ret;
@@ -1194,7 +1194,7 @@ static int vcn_v3_0_start(struct amdgpu_vcn_inst *vinst)
 {
        struct amdgpu_device *adev = vinst->adev;
        int i = vinst->inst;
-       volatile struct amdgpu_fw_shared *fw_shared;
+       struct amdgpu_fw_shared *fw_shared;
        struct amdgpu_ring *ring;
        uint32_t rb_bufsz, tmp;
        int j, k, r;
@@ -1715,7 +1715,7 @@ static int vcn_v3_0_pause_dpg_mode(struct amdgpu_vcn_inst *vinst,
 {
        struct amdgpu_device *adev = vinst->adev;
        int inst_idx = vinst->inst;
-       volatile struct amdgpu_fw_shared *fw_shared;
+       struct amdgpu_fw_shared *fw_shared;
        struct amdgpu_ring *ring;
        uint32_t reg_data = 0;
        int ret_code;
@@ -1834,7 +1834,7 @@ static uint64_t vcn_v3_0_dec_ring_get_wptr(struct amdgpu_ring *ring)
 static void vcn_v3_0_dec_ring_set_wptr(struct amdgpu_ring *ring)
 {
        struct amdgpu_device *adev = ring->adev;
-       volatile struct amdgpu_fw_shared *fw_shared;
+       struct amdgpu_fw_shared *fw_shared;
 
        if (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG) {
                /*whenever update RBC_RB_WPTR, we save the wptr in shared rb.wptr and scratch2 */
index 870c563..8d3f18b 100644 (file)
@@ -148,7 +148,7 @@ static int vcn_v4_0_early_init(struct amdgpu_ip_block *ip_block)
 
 static int vcn_v4_0_fw_shared_init(struct amdgpu_device *adev, int inst_idx)
 {
-       volatile struct amdgpu_vcn4_fw_shared *fw_shared;
+       struct amdgpu_vcn4_fw_shared *fw_shared;
 
        fw_shared = adev->vcn.inst[inst_idx].fw_shared.cpu_addr;
        fw_shared->present_flag_0 = cpu_to_le32(AMDGPU_FW_SHARED_FLAG_0_UNIFIED_QUEUE);
@@ -278,7 +278,7 @@ static int vcn_v4_0_sw_fini(struct amdgpu_ip_block *ip_block)
 
        if (drm_dev_enter(adev_to_drm(adev), &idx)) {
                for (i = 0; i < adev->vcn.num_vcn_inst; i++) {
-                       volatile struct amdgpu_vcn4_fw_shared *fw_shared;
+                       struct amdgpu_vcn4_fw_shared *fw_shared;
 
                        if (adev->vcn.harvest_config & (1 << i))
                                continue;
@@ -997,7 +997,7 @@ static int vcn_v4_0_start_dpg_mode(struct amdgpu_vcn_inst *vinst, bool indirect)
 {
        struct amdgpu_device *adev = vinst->adev;
        int inst_idx = vinst->inst;
-       volatile struct amdgpu_vcn4_fw_shared *fw_shared = adev->vcn.inst[inst_idx].fw_shared.cpu_addr;
+       struct amdgpu_vcn4_fw_shared *fw_shared = adev->vcn.inst[inst_idx].fw_shared.cpu_addr;
        struct amdgpu_ring *ring;
        uint32_t tmp;
        int ret;
@@ -1137,7 +1137,7 @@ static int vcn_v4_0_start(struct amdgpu_vcn_inst *vinst)
 {
        struct amdgpu_device *adev = vinst->adev;
        int i = vinst->inst;
-       volatile struct amdgpu_vcn4_fw_shared *fw_shared;
+       struct amdgpu_vcn4_fw_shared *fw_shared;
        struct amdgpu_ring *ring;
        uint32_t tmp;
        int j, k, r;
@@ -1354,8 +1354,8 @@ static int vcn_v4_0_start_sriov(struct amdgpu_device *adev)
        struct mmsch_v4_0_cmd_end end = { {0} };
        struct mmsch_v4_0_init_header header;
 
-       volatile struct amdgpu_vcn4_fw_shared *fw_shared;
-       volatile struct amdgpu_fw_shared_rb_setup *rb_setup;
+       struct amdgpu_vcn4_fw_shared *fw_shared;
+       struct amdgpu_fw_shared_rb_setup *rb_setup;
 
        direct_wt.cmd_header.command_type =
                MMSCH_COMMAND__DIRECT_REG_WRITE;
@@ -1606,7 +1606,7 @@ static int vcn_v4_0_stop(struct amdgpu_vcn_inst *vinst)
 {
        struct amdgpu_device *adev = vinst->adev;
        int i = vinst->inst;
-       volatile struct amdgpu_vcn4_fw_shared *fw_shared;
+       struct amdgpu_vcn4_fw_shared *fw_shared;
        uint32_t tmp;
        int r = 0;
 
index 5fbd755..eacf4e9 100644 (file)
@@ -263,7 +263,7 @@ static int vcn_v4_0_3_sw_fini(struct amdgpu_ip_block *ip_block)
 
        if (drm_dev_enter(&adev->ddev, &idx)) {
                for (i = 0; i < adev->vcn.num_vcn_inst; i++) {
-                       volatile struct amdgpu_vcn4_fw_shared *fw_shared;
+                       struct amdgpu_vcn4_fw_shared *fw_shared;
 
                        fw_shared = adev->vcn.inst[i].fw_shared.cpu_addr;
                        fw_shared->present_flag_0 = 0;
@@ -845,7 +845,7 @@ static int vcn_v4_0_3_start_dpg_mode(struct amdgpu_vcn_inst *vinst,
 {
        struct amdgpu_device *adev = vinst->adev;
        int inst_idx = vinst->inst;
-       volatile struct amdgpu_vcn4_fw_shared *fw_shared =
+       struct amdgpu_vcn4_fw_shared *fw_shared =
                                                adev->vcn.inst[inst_idx].fw_shared.cpu_addr;
        struct amdgpu_ring *ring;
        int vcn_inst, ret;
@@ -1012,8 +1012,8 @@ static int vcn_v4_0_3_start_sriov(struct amdgpu_device *adev)
        struct mmsch_v4_0_cmd_end end = { {0} };
        struct mmsch_v4_0_3_init_header header;
 
-       volatile struct amdgpu_vcn4_fw_shared *fw_shared;
-       volatile struct amdgpu_fw_shared_rb_setup *rb_setup;
+       struct amdgpu_vcn4_fw_shared *fw_shared;
+       struct amdgpu_fw_shared_rb_setup *rb_setup;
 
        direct_wt.cmd_header.command_type =
                MMSCH_COMMAND__DIRECT_REG_WRITE;
@@ -1187,7 +1187,7 @@ static int vcn_v4_0_3_start(struct amdgpu_vcn_inst *vinst)
 {
        struct amdgpu_device *adev = vinst->adev;
        int i = vinst->inst;
-       volatile struct amdgpu_vcn4_fw_shared *fw_shared;
+       struct amdgpu_vcn4_fw_shared *fw_shared;
        struct amdgpu_ring *ring;
        int j, k, r, vcn_inst;
        uint32_t tmp;
@@ -1397,7 +1397,7 @@ static int vcn_v4_0_3_stop(struct amdgpu_vcn_inst *vinst)
 {
        struct amdgpu_device *adev = vinst->adev;
        int i = vinst->inst;
-       volatile struct amdgpu_vcn4_fw_shared *fw_shared;
+       struct amdgpu_vcn4_fw_shared *fw_shared;
        int r = 0, vcn_inst;
        uint32_t tmp;
 
index 732d4a7..b107ee8 100644 (file)
@@ -149,7 +149,7 @@ static int vcn_v4_0_5_sw_init(struct amdgpu_ip_block *ip_block)
        int i, r;
 
        for (i = 0; i < adev->vcn.num_vcn_inst; i++) {
-               volatile struct amdgpu_vcn4_fw_shared *fw_shared;
+               struct amdgpu_vcn4_fw_shared *fw_shared;
 
                if (adev->vcn.harvest_config & (1 << i))
                        continue;
@@ -249,7 +249,7 @@ static int vcn_v4_0_5_sw_fini(struct amdgpu_ip_block *ip_block)
 
        if (drm_dev_enter(adev_to_drm(adev), &idx)) {
                for (i = 0; i < adev->vcn.num_vcn_inst; i++) {
-                       volatile struct amdgpu_vcn4_fw_shared *fw_shared;
+                       struct amdgpu_vcn4_fw_shared *fw_shared;
 
                        if (adev->vcn.harvest_config & (1 << i))
                                continue;
@@ -910,7 +910,7 @@ static int vcn_v4_0_5_start_dpg_mode(struct amdgpu_vcn_inst *vinst,
 {
        struct amdgpu_device *adev = vinst->adev;
        int inst_idx = vinst->inst;
-       volatile struct amdgpu_vcn4_fw_shared *fw_shared = adev->vcn.inst[inst_idx].fw_shared.cpu_addr;
+       struct amdgpu_vcn4_fw_shared *fw_shared = adev->vcn.inst[inst_idx].fw_shared.cpu_addr;
        struct amdgpu_ring *ring;
        uint32_t tmp;
        int ret;
@@ -1047,7 +1047,7 @@ static int vcn_v4_0_5_start(struct amdgpu_vcn_inst *vinst)
 {
        struct amdgpu_device *adev = vinst->adev;
        int i = vinst->inst;
-       volatile struct amdgpu_vcn4_fw_shared *fw_shared;
+       struct amdgpu_vcn4_fw_shared *fw_shared;
        struct amdgpu_ring *ring;
        uint32_t tmp;
        int j, k, r;
@@ -1266,7 +1266,7 @@ static int vcn_v4_0_5_stop(struct amdgpu_vcn_inst *vinst)
 {
        struct amdgpu_device *adev = vinst->adev;
        int i = vinst->inst;
-       volatile struct amdgpu_vcn4_fw_shared *fw_shared;
+       struct amdgpu_vcn4_fw_shared *fw_shared;
        uint32_t tmp;
        int r = 0;
 
index 680df5d..0202df5 100644 (file)
@@ -129,7 +129,7 @@ static int vcn_v5_0_0_sw_init(struct amdgpu_ip_block *ip_block)
        int i, r;
 
        for (i = 0; i < adev->vcn.num_vcn_inst; i++) {
-               volatile struct amdgpu_vcn5_fw_shared *fw_shared;
+               struct amdgpu_vcn5_fw_shared *fw_shared;
 
                if (adev->vcn.harvest_config & (1 << i))
                        continue;
@@ -211,7 +211,7 @@ static int vcn_v5_0_0_sw_fini(struct amdgpu_ip_block *ip_block)
 
        if (drm_dev_enter(adev_to_drm(adev), &idx)) {
                for (i = 0; i < adev->vcn.num_vcn_inst; i++) {
-                       volatile struct amdgpu_vcn5_fw_shared *fw_shared;
+                       struct amdgpu_vcn5_fw_shared *fw_shared;
 
                        if (adev->vcn.harvest_config & (1 << i))
                                continue;
@@ -692,7 +692,7 @@ static int vcn_v5_0_0_start_dpg_mode(struct amdgpu_vcn_inst *vinst,
 {
        struct amdgpu_device *adev = vinst->adev;
        int inst_idx = vinst->inst;
-       volatile struct amdgpu_vcn5_fw_shared *fw_shared = adev->vcn.inst[inst_idx].fw_shared.cpu_addr;
+       struct amdgpu_vcn5_fw_shared *fw_shared = adev->vcn.inst[inst_idx].fw_shared.cpu_addr;
        struct amdgpu_ring *ring;
        uint32_t tmp;
        int ret;
@@ -802,7 +802,7 @@ static int vcn_v5_0_0_start(struct amdgpu_vcn_inst *vinst)
 {
        struct amdgpu_device *adev = vinst->adev;
        int i = vinst->inst;
-       volatile struct amdgpu_vcn5_fw_shared *fw_shared;
+       struct amdgpu_vcn5_fw_shared *fw_shared;
        struct amdgpu_ring *ring;
        uint32_t tmp;
        int j, k, r;
@@ -995,7 +995,7 @@ static int vcn_v5_0_0_stop(struct amdgpu_vcn_inst *vinst)
 {
        struct amdgpu_device *adev = vinst->adev;
        int i = vinst->inst;
-       volatile struct amdgpu_vcn5_fw_shared *fw_shared;
+       struct amdgpu_vcn5_fw_shared *fw_shared;
        uint32_t tmp;
        int r = 0;
 
index 09e2e28..9c281ba 100644 (file)
@@ -226,7 +226,7 @@ static int vcn_v5_0_1_sw_fini(struct amdgpu_ip_block *ip_block)
 
        if (drm_dev_enter(adev_to_drm(adev), &idx)) {
                for (i = 0; i < adev->vcn.num_vcn_inst; i++) {
-                       volatile struct amdgpu_vcn5_fw_shared *fw_shared;
+                       struct amdgpu_vcn5_fw_shared *fw_shared;
 
                        fw_shared = adev->vcn.inst[i].fw_shared.cpu_addr;
                        fw_shared->present_flag_0 = 0;
@@ -640,7 +640,7 @@ static int vcn_v5_0_1_start_dpg_mode(struct amdgpu_vcn_inst *vinst,
 {
        struct amdgpu_device *adev = vinst->adev;
        int inst_idx = vinst->inst;
-       volatile struct amdgpu_vcn5_fw_shared *fw_shared =
+       struct amdgpu_vcn5_fw_shared *fw_shared =
                adev->vcn.inst[inst_idx].fw_shared.cpu_addr;
        struct amdgpu_ring *ring;
        struct dpg_pause_state state = {.fw_based = VCN_DPG_STATE__PAUSE};
@@ -776,8 +776,8 @@ static int vcn_v5_0_1_start_sriov(struct amdgpu_device *adev)
        struct mmsch_v5_0_cmd_end end = { {0} };
        struct mmsch_v5_0_init_header header;
 
-       volatile struct amdgpu_vcn5_fw_shared *fw_shared;
-       volatile struct amdgpu_fw_shared_rb_setup *rb_setup;
+       struct amdgpu_vcn5_fw_shared *fw_shared;
+       struct amdgpu_fw_shared_rb_setup *rb_setup;
 
        direct_wt.cmd_header.command_type =
                MMSCH_COMMAND__DIRECT_REG_WRITE;
@@ -951,7 +951,7 @@ static int vcn_v5_0_1_start(struct amdgpu_vcn_inst *vinst)
 {
        struct amdgpu_device *adev = vinst->adev;
        int i = vinst->inst;
-       volatile struct amdgpu_vcn5_fw_shared *fw_shared;
+       struct amdgpu_vcn5_fw_shared *fw_shared;
        struct amdgpu_ring *ring;
        uint32_t tmp;
        int j, k, r, vcn_inst;
@@ -1143,7 +1143,7 @@ static int vcn_v5_0_1_stop(struct amdgpu_vcn_inst *vinst)
 {
        struct amdgpu_device *adev = vinst->adev;
        int i = vinst->inst;
-       volatile struct amdgpu_vcn5_fw_shared *fw_shared;
+       struct amdgpu_vcn5_fw_shared *fw_shared;
        uint32_t tmp;
        int r = 0, vcn_inst;