@@ -91,8 +91,8 @@ void kgd_gfx_v9_program_sh_mem_settings(struct amdgpu_device *adev, uint32_t vmi
9191{
9292 kgd_gfx_v9_lock_srbm (adev , 0 , 0 , 0 , vmid , inst );
9393
94- WREG32_RLC ( SOC15_REG_OFFSET ( GC , GET_INST (GC , inst ), mmSH_MEM_CONFIG ) , sh_mem_config );
95- WREG32_RLC ( SOC15_REG_OFFSET ( GC , GET_INST (GC , inst ), mmSH_MEM_BASES ) , sh_mem_bases );
94+ WREG32_SOC15_RLC ( GC , GET_INST (GC , inst ), mmSH_MEM_CONFIG , sh_mem_config );
95+ WREG32_SOC15_RLC ( GC , GET_INST (GC , inst ), mmSH_MEM_BASES , sh_mem_bases );
9696 /* APE1 no longer exists on GFX9 */
9797
9898 kgd_gfx_v9_unlock_srbm (adev , inst );
@@ -239,14 +239,13 @@ int kgd_gfx_v9_hqd_load(struct amdgpu_device *adev, void *mqd,
239239
240240 for (reg = hqd_base ;
241241 reg <= SOC15_REG_OFFSET (GC , GET_INST (GC , inst ), mmCP_HQD_PQ_WPTR_HI ); reg ++ )
242- WREG32_RLC (reg , mqd_hqd [reg - hqd_base ]);
242+ WREG32_XCC (reg , mqd_hqd [reg - hqd_base ], inst );
243243
244244
245245 /* Activate doorbell logic before triggering WPTR poll. */
246246 data = REG_SET_FIELD (m -> cp_hqd_pq_doorbell_control ,
247247 CP_HQD_PQ_DOORBELL_CONTROL , DOORBELL_EN , 1 );
248- WREG32_RLC (SOC15_REG_OFFSET (GC , GET_INST (GC , inst ), mmCP_HQD_PQ_DOORBELL_CONTROL ),
249- data );
248+ WREG32_SOC15_RLC (GC , GET_INST (GC , inst ), mmCP_HQD_PQ_DOORBELL_CONTROL , data );
250249
251250 if (wptr ) {
252251 /* Don't read wptr with get_user because the user
@@ -275,25 +274,24 @@ int kgd_gfx_v9_hqd_load(struct amdgpu_device *adev, void *mqd,
275274 guessed_wptr += m -> cp_hqd_pq_wptr_lo & ~(queue_size - 1 );
276275 guessed_wptr += (uint64_t )m -> cp_hqd_pq_wptr_hi << 32 ;
277276
278- WREG32_RLC ( SOC15_REG_OFFSET ( GC , GET_INST (GC , inst ), mmCP_HQD_PQ_WPTR_LO ) ,
279- lower_32_bits (guessed_wptr ));
280- WREG32_RLC ( SOC15_REG_OFFSET ( GC , GET_INST (GC , inst ), mmCP_HQD_PQ_WPTR_HI ) ,
281- upper_32_bits (guessed_wptr ));
282- WREG32_RLC ( SOC15_REG_OFFSET ( GC , GET_INST (GC , inst ), mmCP_HQD_PQ_WPTR_POLL_ADDR ) ,
283- lower_32_bits ((uintptr_t )wptr ));
284- WREG32_RLC ( SOC15_REG_OFFSET ( GC , GET_INST (GC , inst ), mmCP_HQD_PQ_WPTR_POLL_ADDR_HI ) ,
285- upper_32_bits ((uintptr_t )wptr ));
286- WREG32_SOC15 (GC , GET_INST (GC , inst ), mmCP_PQ_WPTR_POLL_CNTL1 ,
287- (uint32_t )kgd_gfx_v9_get_queue_mask (adev , pipe_id , queue_id ));
277+ WREG32_SOC15_RLC ( GC , GET_INST (GC , inst ), mmCP_HQD_PQ_WPTR_LO ,
278+ lower_32_bits (guessed_wptr ));
279+ WREG32_SOC15_RLC ( GC , GET_INST (GC , inst ), mmCP_HQD_PQ_WPTR_HI ,
280+ upper_32_bits (guessed_wptr ));
281+ WREG32_SOC15_RLC ( GC , GET_INST (GC , inst ), mmCP_HQD_PQ_WPTR_POLL_ADDR ,
282+ lower_32_bits ((uintptr_t )wptr ));
283+ WREG32_SOC15_RLC ( GC , GET_INST (GC , inst ), mmCP_HQD_PQ_WPTR_POLL_ADDR_HI ,
284+ upper_32_bits ((uintptr_t )wptr ));
285+ WREG32_SOC15_RLC (GC , GET_INST (GC , inst ), mmCP_PQ_WPTR_POLL_CNTL1 ,
286+ (uint32_t )kgd_gfx_v9_get_queue_mask (adev , pipe_id , queue_id ));
288287 }
289288
290289 /* Start the EOP fetcher */
291- WREG32_RLC (SOC15_REG_OFFSET (GC , GET_INST (GC , inst ), mmCP_HQD_EOP_RPTR ),
292- REG_SET_FIELD (m -> cp_hqd_eop_rptr ,
293- CP_HQD_EOP_RPTR , INIT_FETCHER , 1 ));
290+ WREG32_SOC15_RLC (GC , GET_INST (GC , inst ), mmCP_HQD_EOP_RPTR ,
291+ REG_SET_FIELD (m -> cp_hqd_eop_rptr , CP_HQD_EOP_RPTR , INIT_FETCHER , 1 ));
294292
295293 data = REG_SET_FIELD (m -> cp_hqd_active , CP_HQD_ACTIVE , ACTIVE , 1 );
296- WREG32_RLC ( SOC15_REG_OFFSET ( GC , GET_INST (GC , inst ), mmCP_HQD_ACTIVE ) , data );
294+ WREG32_SOC15_RLC ( GC , GET_INST (GC , inst ), mmCP_HQD_ACTIVE , data );
297295
298296 kgd_gfx_v9_release_queue (adev , inst );
299297
@@ -556,7 +554,7 @@ int kgd_gfx_v9_hqd_destroy(struct amdgpu_device *adev, void *mqd,
556554 break ;
557555 }
558556
559- WREG32_RLC ( SOC15_REG_OFFSET ( GC , GET_INST (GC , inst ), mmCP_HQD_DEQUEUE_REQUEST ) , type );
557+ WREG32_SOC15_RLC ( GC , GET_INST (GC , inst ), mmCP_HQD_DEQUEUE_REQUEST , type );
560558
561559 end_jiffies = (utimeout * HZ / 1000 ) + jiffies ;
562560 while (true) {
@@ -908,8 +906,8 @@ void kgd_gfx_v9_get_iq_wait_times(struct amdgpu_device *adev,
908906 uint32_t inst )
909907
910908{
911- * wait_times = RREG32 ( SOC15_REG_OFFSET (GC , GET_INST (GC , inst ),
912- mmCP_IQ_WAIT_TIME2 )) ;
909+ * wait_times = RREG32_SOC15_RLC (GC , GET_INST (GC , inst ),
910+ mmCP_IQ_WAIT_TIME2 );
913911}
914912
915913void kgd_gfx_v9_set_vm_context_page_table_base (struct amdgpu_device * adev ,
0 commit comments