Hi, I'm looking at the initialization sequences in gfxhub_v2_1.c. I'm confused on whether the GCVM_CONTEXT1_CNTL CNTL reg can be written before the corresponding GCVM_CONTEXT1_PAGE_TABLE_START_ADDR and GCVM_CONTEXT1_PAGE_TABLE_END_ADDR reg is written.
Here is the background: * gfxhub_v2_1_setup_vmid_config() enables GPU clients to use GPUVM VMIDs to access memory. The code related to this questions is below: 324 WREG32_SOC15_OFFSET(GC, 0, mmGCVM_CONTEXT1_CNTL, 325 i * hub->ctx_distance, tmp); 326 WREG32_SOC15_OFFSET(GC, 0, mmGCVM_CONTEXT1_PAGE_TABLE_START_ADDR_LO32, 327 i * hub->ctx_addr_distance, 0); 328 WREG32_SOC15_OFFSET(GC, 0, mmGCVM_CONTEXT1_PAGE_TABLE_START_ADDR_HI32, 329 i * hub->ctx_addr_distance, 0); 330 WREG32_SOC15_OFFSET(GC, 0, mmGCVM_CONTEXT1_PAGE_TABLE_END_ADDR_LO32, 331 i * hub->ctx_addr_distance, 332 lower_32_bits(adev->vm_manager.max_pfn - 1)); 333 WREG32_SOC15_OFFSET(GC, 0, mmGCVM_CONTEXT1_PAGE_TABLE_END_ADDR_HI32, 334 i * hub->ctx_addr_distance, 335 upper_32_bits(adev->vm_manager.max_pfn - 1)); Just wondering, is the behavior expected or is it a bug? Thanks, Zibin Liu