32
32
#include "gc/gc_10_1_0_sh_mask.h"
33
33
#include "amdgpu_amdkfd.h"
34
34
35
- static inline struct v10_compute_mqd * get_mqd (void * mqd )
35
+ static inline volatile struct v10_compute_mqd * get_mqd (void * mqd )
36
36
{
37
- return (struct v10_compute_mqd * )mqd ;
37
+ return (volatile struct v10_compute_mqd * )mqd ;
38
38
}
39
39
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 )
41
41
{
42
- return (struct v10_sdma_mqd * )mqd ;
42
+ return (volatile struct v10_sdma_mqd * )mqd ;
43
43
}
44
44
45
45
static void update_cu_mask (struct mqd_manager * mm , void * mqd ,
46
46
struct mqd_update_info * minfo )
47
47
{
48
- struct v10_compute_mqd * m ;
48
+ volatile struct v10_compute_mqd * m ;
49
49
uint32_t se_mask [4 ] = {0 }; /* 4 is the max # of SEs */
50
50
51
51
if (!minfo || !minfo -> cu_mask .ptr )
@@ -67,7 +67,7 @@ static void update_cu_mask(struct mqd_manager *mm, void *mqd,
67
67
m -> compute_static_thread_mgmt_se3 );
68
68
}
69
69
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 )
71
71
{
72
72
m -> cp_hqd_pipe_priority = pipe_priority_map [q -> priority ];
73
73
m -> cp_hqd_queue_priority = q -> priority ;
@@ -90,7 +90,7 @@ static void init_mqd(struct mqd_manager *mm, void **mqd,
90
90
struct queue_properties * q )
91
91
{
92
92
uint64_t addr ;
93
- struct v10_compute_mqd * m ;
93
+ volatile struct v10_compute_mqd * m ;
94
94
95
95
m = (struct v10_compute_mqd * ) mqd_mem_obj -> cpu_ptr ;
96
96
addr = mqd_mem_obj -> gpu_addr ;
@@ -165,7 +165,7 @@ static void update_mqd(struct mqd_manager *mm, void *mqd,
165
165
struct queue_properties * q ,
166
166
struct mqd_update_info * minfo )
167
167
{
168
- struct v10_compute_mqd * m ;
168
+ volatile struct v10_compute_mqd * m ;
169
169
170
170
m = get_mqd (mqd );
171
171
@@ -239,7 +239,7 @@ static int get_wave_state(struct mqd_manager *mm, void *mqd,
239
239
u32 * ctl_stack_used_size ,
240
240
u32 * save_area_used_size )
241
241
{
242
- struct v10_compute_mqd * m ;
242
+ volatile struct v10_compute_mqd * m ;
243
243
struct kfd_context_save_area_header header ;
244
244
245
245
m = get_mqd (mqd );
@@ -273,7 +273,7 @@ static int get_wave_state(struct mqd_manager *mm, void *mqd,
273
273
274
274
static void checkpoint_mqd (struct mqd_manager * mm , void * mqd , void * mqd_dst , void * ctl_stack_dst )
275
275
{
276
- struct v10_compute_mqd * m ;
276
+ volatile struct v10_compute_mqd * m ;
277
277
278
278
m = get_mqd (mqd );
279
279
@@ -287,7 +287,7 @@ static void restore_mqd(struct mqd_manager *mm, void **mqd,
287
287
const void * ctl_stack_src , const u32 ctl_stack_size )
288
288
{
289
289
uint64_t addr ;
290
- struct v10_compute_mqd * m ;
290
+ volatile struct v10_compute_mqd * m ;
291
291
292
292
m = (struct v10_compute_mqd * ) mqd_mem_obj -> cpu_ptr ;
293
293
addr = mqd_mem_obj -> gpu_addr ;
@@ -311,7 +311,7 @@ static void init_mqd_hiq(struct mqd_manager *mm, void **mqd,
311
311
struct kfd_mem_obj * mqd_mem_obj , uint64_t * gart_addr ,
312
312
struct queue_properties * q )
313
313
{
314
- struct v10_compute_mqd * m ;
314
+ volatile struct v10_compute_mqd * m ;
315
315
316
316
init_mqd (mm , mqd , mqd_mem_obj , gart_addr , q );
317
317
@@ -345,7 +345,7 @@ static void init_mqd_sdma(struct mqd_manager *mm, void **mqd,
345
345
struct kfd_mem_obj * mqd_mem_obj , uint64_t * gart_addr ,
346
346
struct queue_properties * q )
347
347
{
348
- struct v10_sdma_mqd * m ;
348
+ volatile struct v10_sdma_mqd * m ;
349
349
350
350
m = (struct v10_sdma_mqd * ) mqd_mem_obj -> cpu_ptr ;
351
351
@@ -364,7 +364,7 @@ static void update_mqd_sdma(struct mqd_manager *mm, void *mqd,
364
364
struct queue_properties * q ,
365
365
struct mqd_update_info * minfo )
366
366
{
367
- struct v10_sdma_mqd * m ;
367
+ volatile struct v10_sdma_mqd * m ;
368
368
369
369
m = get_sdma_mqd (mqd );
370
370
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,
392
392
void * mqd_dst ,
393
393
void * ctl_stack_dst )
394
394
{
395
- struct v10_sdma_mqd * m ;
395
+ volatile struct v10_sdma_mqd * m ;
396
396
397
397
m = get_sdma_mqd (mqd );
398
398
@@ -407,7 +407,7 @@ static void restore_mqd_sdma(struct mqd_manager *mm, void **mqd,
407
407
const u32 ctl_stack_size )
408
408
{
409
409
uint64_t addr ;
410
- struct v10_sdma_mqd * m ;
410
+ volatile struct v10_sdma_mqd * m ;
411
411
412
412
m = (struct v10_sdma_mqd * ) mqd_mem_obj -> cpu_ptr ;
413
413
addr = mqd_mem_obj -> gpu_addr ;
0 commit comments