3232#include "gc/gc_10_1_0_sh_mask.h"
3333#include "amdgpu_amdkfd.h"
3434
35- static inline struct v10_compute_mqd * get_mqd (void * mqd )
35+ static inline volatile struct v10_compute_mqd * get_mqd (void * mqd )
3636{
37- return (struct v10_compute_mqd * )mqd ;
37+ return (volatile struct v10_compute_mqd * )mqd ;
3838}
3939
40- static inline struct v10_sdma_mqd * get_sdma_mqd (void * mqd )
40+ static inline volatile struct v10_sdma_mqd * get_sdma_mqd (void * mqd )
4141{
42- return (struct v10_sdma_mqd * )mqd ;
42+ return (volatile struct v10_sdma_mqd * )mqd ;
4343}
4444
4545static void update_cu_mask (struct mqd_manager * mm , void * mqd ,
4646 struct mqd_update_info * minfo )
4747{
48- struct v10_compute_mqd * m ;
48+ volatile struct v10_compute_mqd * m ;
4949 uint32_t se_mask [4 ] = {0 }; /* 4 is the max # of SEs */
5050
5151 if (!minfo || !minfo -> cu_mask .ptr )
@@ -67,7 +67,7 @@ static void update_cu_mask(struct mqd_manager *mm, void *mqd,
6767 m -> compute_static_thread_mgmt_se3 );
6868}
6969
70- static void set_priority (struct v10_compute_mqd * m , struct queue_properties * q )
70+ static void set_priority (volatile struct v10_compute_mqd * m , struct queue_properties * q )
7171{
7272 m -> cp_hqd_pipe_priority = pipe_priority_map [q -> priority ];
7373 m -> cp_hqd_queue_priority = q -> priority ;
@@ -90,7 +90,7 @@ static void init_mqd(struct mqd_manager *mm, void **mqd,
9090 struct queue_properties * q )
9191{
9292 uint64_t addr ;
93- struct v10_compute_mqd * m ;
93+ volatile struct v10_compute_mqd * m ;
9494
9595 m = (struct v10_compute_mqd * ) mqd_mem_obj -> cpu_ptr ;
9696 addr = mqd_mem_obj -> gpu_addr ;
@@ -165,7 +165,7 @@ static void update_mqd(struct mqd_manager *mm, void *mqd,
165165 struct queue_properties * q ,
166166 struct mqd_update_info * minfo )
167167{
168- struct v10_compute_mqd * m ;
168+ volatile struct v10_compute_mqd * m ;
169169
170170 m = get_mqd (mqd );
171171
@@ -239,7 +239,7 @@ static int get_wave_state(struct mqd_manager *mm, void *mqd,
239239 u32 * ctl_stack_used_size ,
240240 u32 * save_area_used_size )
241241{
242- struct v10_compute_mqd * m ;
242+ volatile struct v10_compute_mqd * m ;
243243 struct kfd_context_save_area_header header ;
244244
245245 m = get_mqd (mqd );
@@ -273,7 +273,7 @@ static int get_wave_state(struct mqd_manager *mm, void *mqd,
273273
274274static void checkpoint_mqd (struct mqd_manager * mm , void * mqd , void * mqd_dst , void * ctl_stack_dst )
275275{
276- struct v10_compute_mqd * m ;
276+ volatile struct v10_compute_mqd * m ;
277277
278278 m = get_mqd (mqd );
279279
@@ -287,7 +287,7 @@ static void restore_mqd(struct mqd_manager *mm, void **mqd,
287287 const void * ctl_stack_src , const u32 ctl_stack_size )
288288{
289289 uint64_t addr ;
290- struct v10_compute_mqd * m ;
290+ volatile struct v10_compute_mqd * m ;
291291
292292 m = (struct v10_compute_mqd * ) mqd_mem_obj -> cpu_ptr ;
293293 addr = mqd_mem_obj -> gpu_addr ;
@@ -311,7 +311,7 @@ static void init_mqd_hiq(struct mqd_manager *mm, void **mqd,
311311 struct kfd_mem_obj * mqd_mem_obj , uint64_t * gart_addr ,
312312 struct queue_properties * q )
313313{
314- struct v10_compute_mqd * m ;
314+ volatile struct v10_compute_mqd * m ;
315315
316316 init_mqd (mm , mqd , mqd_mem_obj , gart_addr , q );
317317
@@ -345,7 +345,7 @@ static void init_mqd_sdma(struct mqd_manager *mm, void **mqd,
345345 struct kfd_mem_obj * mqd_mem_obj , uint64_t * gart_addr ,
346346 struct queue_properties * q )
347347{
348- struct v10_sdma_mqd * m ;
348+ volatile struct v10_sdma_mqd * m ;
349349
350350 m = (struct v10_sdma_mqd * ) mqd_mem_obj -> cpu_ptr ;
351351
@@ -364,7 +364,7 @@ static void update_mqd_sdma(struct mqd_manager *mm, void *mqd,
364364 struct queue_properties * q ,
365365 struct mqd_update_info * minfo )
366366{
367- struct v10_sdma_mqd * m ;
367+ volatile struct v10_sdma_mqd * m ;
368368
369369 m = get_sdma_mqd (mqd );
370370 m -> sdmax_rlcx_rb_cntl = (ffs (q -> queue_size / sizeof (unsigned int )) - 1 )
@@ -392,7 +392,7 @@ static void checkpoint_mqd_sdma(struct mqd_manager *mm,
392392 void * mqd_dst ,
393393 void * ctl_stack_dst )
394394{
395- struct v10_sdma_mqd * m ;
395+ volatile struct v10_sdma_mqd * m ;
396396
397397 m = get_sdma_mqd (mqd );
398398
@@ -407,7 +407,7 @@ static void restore_mqd_sdma(struct mqd_manager *mm, void **mqd,
407407 const u32 ctl_stack_size )
408408{
409409 uint64_t addr ;
410- struct v10_sdma_mqd * m ;
410+ volatile struct v10_sdma_mqd * m ;
411411
412412 m = (struct v10_sdma_mqd * ) mqd_mem_obj -> cpu_ptr ;
413413 addr = mqd_mem_obj -> gpu_addr ;
0 commit comments