@@ -95,8 +95,8 @@ static void program_sh_mem_settings_v10_3(struct kgd_dev *kgd, uint32_t vmid,
9595
9696 lock_srbm (kgd , 0 , 0 , 0 , vmid );
9797
98- WREG32 ( SOC15_REG_OFFSET ( GC , 0 , mmSH_MEM_CONFIG ) , sh_mem_config );
99- WREG32 ( SOC15_REG_OFFSET ( GC , 0 , mmSH_MEM_BASES ) , sh_mem_bases );
98+ WREG32_SOC15 ( GC , 0 , mmSH_MEM_CONFIG , sh_mem_config );
99+ WREG32_SOC15 ( GC , 0 , mmSH_MEM_BASES , sh_mem_bases );
100100 /* APE1 no longer exists on GFX9 */
101101
102102 unlock_srbm (kgd );
@@ -129,7 +129,7 @@ static int init_interrupts_v10_3(struct kgd_dev *kgd, uint32_t pipe_id)
129129
130130 lock_srbm (kgd , mec , pipe , 0 , 0 );
131131
132- WREG32 ( SOC15_REG_OFFSET ( GC , 0 , mmCPC_INT_CNTL ) ,
132+ WREG32_SOC15 ( GC , 0 , mmCPC_INT_CNTL ,
133133 CP_INT_CNTL_RING0__TIME_STAMP_INT_ENABLE_MASK |
134134 CP_INT_CNTL_RING0__OPCODE_ERROR_INT_ENABLE_MASK );
135135
@@ -212,10 +212,10 @@ static int hqd_load_v10_3(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id,
212212
213213 pr_debug ("kfd: set HIQ, mec:%d, pipe:%d, queue:%d.\n" ,
214214 mec , pipe , queue_id );
215- value = RREG32 ( SOC15_REG_OFFSET ( GC , 0 , mmRLC_CP_SCHEDULERS ) );
215+ value = RREG32_SOC15 ( GC , 0 , mmRLC_CP_SCHEDULERS );
216216 value = REG_SET_FIELD (value , RLC_CP_SCHEDULERS , scheduler1 ,
217217 ((mec << 5 ) | (pipe << 3 ) | queue_id | 0x80 ));
218- WREG32 ( SOC15_REG_OFFSET ( GC , 0 , mmRLC_CP_SCHEDULERS ) , value );
218+ WREG32_SOC15 ( GC , 0 , mmRLC_CP_SCHEDULERS , value );
219219 }
220220
221221 /* HQD registers extend from CP_MQD_BASE_ADDR to CP_HQD_EOP_WPTR_MEM. */
@@ -224,13 +224,13 @@ static int hqd_load_v10_3(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id,
224224
225225 for (reg = hqd_base ;
226226 reg <= SOC15_REG_OFFSET (GC , 0 , mmCP_HQD_PQ_WPTR_HI ); reg ++ )
227- WREG32 ( reg , mqd_hqd [reg - hqd_base ]);
227+ WREG32_SOC15_IP ( GC , reg , mqd_hqd [reg - hqd_base ]);
228228
229229
230230 /* Activate doorbell logic before triggering WPTR poll. */
231231 data = REG_SET_FIELD (m -> cp_hqd_pq_doorbell_control ,
232232 CP_HQD_PQ_DOORBELL_CONTROL , DOORBELL_EN , 1 );
233- WREG32 ( SOC15_REG_OFFSET ( GC , 0 , mmCP_HQD_PQ_DOORBELL_CONTROL ) , data );
233+ WREG32_SOC15 ( GC , 0 , mmCP_HQD_PQ_DOORBELL_CONTROL , data );
234234
235235 if (wptr ) {
236236 /* Don't read wptr with get_user because the user
@@ -259,17 +259,17 @@ static int hqd_load_v10_3(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id,
259259 guessed_wptr += m -> cp_hqd_pq_wptr_lo & ~(queue_size - 1 );
260260 guessed_wptr += (uint64_t )m -> cp_hqd_pq_wptr_hi << 32 ;
261261
262- WREG32 ( SOC15_REG_OFFSET ( GC , 0 , mmCP_HQD_PQ_WPTR_LO ) ,
262+ WREG32_SOC15 ( GC , 0 , mmCP_HQD_PQ_WPTR_LO ,
263263 lower_32_bits (guessed_wptr ));
264- WREG32 ( SOC15_REG_OFFSET ( GC , 0 , mmCP_HQD_PQ_WPTR_HI ) ,
264+ WREG32_SOC15 ( GC , 0 , mmCP_HQD_PQ_WPTR_HI ,
265265 upper_32_bits (guessed_wptr ));
266- WREG32 ( SOC15_REG_OFFSET ( GC , 0 , mmCP_HQD_PQ_WPTR_POLL_ADDR ) ,
266+ WREG32_SOC15 ( GC , 0 , mmCP_HQD_PQ_WPTR_POLL_ADDR ,
267267 lower_32_bits ((uint64_t )wptr ));
268- WREG32 ( SOC15_REG_OFFSET ( GC , 0 , mmCP_HQD_PQ_WPTR_POLL_ADDR_HI ) ,
268+ WREG32_SOC15 ( GC , 0 , mmCP_HQD_PQ_WPTR_POLL_ADDR_HI ,
269269 upper_32_bits ((uint64_t )wptr ));
270270 pr_debug ("%s setting CP_PQ_WPTR_POLL_CNTL1 to %x\n" , __func__ ,
271271 (uint32_t )get_queue_mask (adev , pipe_id , queue_id ));
272- WREG32 ( SOC15_REG_OFFSET ( GC , 0 , mmCP_PQ_WPTR_POLL_CNTL1 ) ,
272+ WREG32_SOC15 ( GC , 0 , mmCP_PQ_WPTR_POLL_CNTL1 ,
273273 (uint32_t )get_queue_mask (adev , pipe_id , queue_id ));
274274 }
275275
@@ -279,7 +279,7 @@ static int hqd_load_v10_3(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id,
279279 CP_HQD_EOP_RPTR , INIT_FETCHER , 1 ));
280280
281281 data = REG_SET_FIELD (m -> cp_hqd_active , CP_HQD_ACTIVE , ACTIVE , 1 );
282- WREG32 ( SOC15_REG_OFFSET ( GC , 0 , mmCP_HQD_ACTIVE ) , data );
282+ WREG32_SOC15 ( GC , 0 , mmCP_HQD_ACTIVE , data );
283283
284284 release_queue (kgd );
285285
@@ -350,7 +350,7 @@ static int hqd_dump_v10_3(struct kgd_dev *kgd,
350350 if (WARN_ON_ONCE(i >= HQD_N_REGS)) \
351351 break; \
352352 (*dump)[i][0] = (addr) << 2; \
353- (*dump)[i++][1] = RREG32( addr); \
353+ (*dump)[i++][1] = RREG32_SOC15_IP(GC, addr); \
354354 } while (0)
355355
356356 * dump = kmalloc (HQD_N_REGS * 2 * sizeof (uint32_t ), GFP_KERNEL );
@@ -482,13 +482,13 @@ static bool hqd_is_occupied_v10_3(struct kgd_dev *kgd, uint64_t queue_address,
482482 uint32_t low , high ;
483483
484484 acquire_queue (kgd , pipe_id , queue_id );
485- act = RREG32 ( SOC15_REG_OFFSET ( GC , 0 , mmCP_HQD_ACTIVE ) );
485+ act = RREG32_SOC15 ( GC , 0 , mmCP_HQD_ACTIVE );
486486 if (act ) {
487487 low = lower_32_bits (queue_address >> 8 );
488488 high = upper_32_bits (queue_address >> 8 );
489489
490- if (low == RREG32 ( SOC15_REG_OFFSET ( GC , 0 , mmCP_HQD_PQ_BASE ) ) &&
491- high == RREG32 ( SOC15_REG_OFFSET ( GC , 0 , mmCP_HQD_PQ_BASE_HI ) ))
490+ if (low == RREG32_SOC15 ( GC , 0 , mmCP_HQD_PQ_BASE ) &&
491+ high == RREG32_SOC15 ( GC , 0 , mmCP_HQD_PQ_BASE_HI ))
492492 retval = true;
493493 }
494494 release_queue (kgd );
@@ -542,11 +542,11 @@ static int hqd_destroy_v10_3(struct kgd_dev *kgd, void *mqd,
542542 break ;
543543 }
544544
545- WREG32 ( SOC15_REG_OFFSET ( GC , 0 , mmCP_HQD_DEQUEUE_REQUEST ) , type );
545+ WREG32_SOC15 ( GC , 0 , mmCP_HQD_DEQUEUE_REQUEST , type );
546546
547547 end_jiffies = (utimeout * HZ / 1000 ) + jiffies ;
548548 while (true) {
549- temp = RREG32 ( SOC15_REG_OFFSET ( GC , 0 , mmCP_HQD_ACTIVE ) );
549+ temp = RREG32_SOC15 ( GC , 0 , mmCP_HQD_ACTIVE );
550550 if (!(temp & CP_HQD_ACTIVE__ACTIVE_MASK ))
551551 break ;
552552 if (time_after (jiffies , end_jiffies )) {
@@ -626,7 +626,7 @@ static int wave_control_execute_v10_3(struct kgd_dev *kgd,
626626
627627 mutex_lock (& adev -> grbm_idx_mutex );
628628
629- WREG32 ( SOC15_REG_OFFSET ( GC , 0 , mmGRBM_GFX_INDEX ) , gfx_index_val );
629+ WREG32_SOC15 ( GC , 0 , mmGRBM_GFX_INDEX , gfx_index_val );
630630 WREG32 (SOC15_REG_OFFSET (GC , 0 , mmSQ_CMD ), sq_cmd );
631631
632632 data = REG_SET_FIELD (data , GRBM_GFX_INDEX ,
@@ -636,7 +636,7 @@ static int wave_control_execute_v10_3(struct kgd_dev *kgd,
636636 data = REG_SET_FIELD (data , GRBM_GFX_INDEX ,
637637 SE_BROADCAST_WRITES , 1 );
638638
639- WREG32 ( SOC15_REG_OFFSET ( GC , 0 , mmGRBM_GFX_INDEX ) , data );
639+ WREG32_SOC15 ( GC , 0 , mmGRBM_GFX_INDEX , data );
640640 mutex_unlock (& adev -> grbm_idx_mutex );
641641
642642 return 0 ;
0 commit comments