<div dir="ltr"><pre style="white-space:pre-wrap;color:rgb(0,0,0)">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.</pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><pre style="white-space:pre-wrap">Here is the background:
* gfxhub_v2_1_setup_vmid_config() enables GPU clients to use GPUVM VMIDs to access memory.</pre></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)">The code related to this questions is below:</pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"> 324 WREG32_SOC15_OFFSET(GC, 0, mmGCVM_CONTEXT1_CNTL,<br> 325 i * hub->ctx_distance, tmp);</pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"> 326 WREG32_SOC15_OFFSET(GC, 0, mmGCVM_CONTEXT1_PAGE_TABLE_START_ADDR_LO32,<br> 327 i * hub->ctx_addr_distance, 0);<br> 328 WREG32_SOC15_OFFSET(GC, 0, mmGCVM_CONTEXT1_PAGE_TABLE_START_ADDR_HI32,<br> 329 i * hub->ctx_addr_distance, 0);<br> 330 WREG32_SOC15_OFFSET(GC, 0, mmGCVM_CONTEXT1_PAGE_TABLE_END_ADDR_LO32,<br> 331 i * hub->ctx_addr_distance,<br> 332 lower_32_bits(adev->vm_manager.max_pfn - 1));<br> 333 WREG32_SOC15_OFFSET(GC, 0, mmGCVM_CONTEXT1_PAGE_TABLE_END_ADDR_HI32,<br> 334 i * hub->ctx_addr_distance,<br> 335 upper_32_bits(adev->vm_manager.max_pfn - 1));
Just wondering, is the behavior expected or is it a bug?
Thanks,
Zibin Liu</pre><br></div>