mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 07:35:12 +07:00
drm/amdgpu: use register distance member instead of hardcode in VCN1/JEPG1
This patch updates to use register distance member instead of hardcode in VCN1/JEPG1. They are for the same ASIC. Signed-off-by: Huang Rui <ray.huang@amd.com> Tested-by: AnZhong Huang <anzhong.huang@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
af6c5c4f53
commit
228ea7b080
@ -377,7 +377,7 @@ static void jpeg_v1_0_decode_ring_emit_vm_flush(struct amdgpu_ring *ring,
|
|||||||
pd_addr = amdgpu_gmc_emit_flush_gpu_tlb(ring, vmid, pd_addr);
|
pd_addr = amdgpu_gmc_emit_flush_gpu_tlb(ring, vmid, pd_addr);
|
||||||
|
|
||||||
/* wait for register write */
|
/* wait for register write */
|
||||||
data0 = hub->ctx0_ptb_addr_lo32 + vmid * 2;
|
data0 = hub->ctx0_ptb_addr_lo32 + vmid * hub->ctx_addr_distance;
|
||||||
data1 = lower_32_bits(pd_addr);
|
data1 = lower_32_bits(pd_addr);
|
||||||
mask = 0xffffffff;
|
mask = 0xffffffff;
|
||||||
jpeg_v1_0_decode_ring_emit_reg_wait(ring, data0, data1, mask);
|
jpeg_v1_0_decode_ring_emit_reg_wait(ring, data0, data1, mask);
|
||||||
|
@ -1539,7 +1539,7 @@ static void vcn_v1_0_dec_ring_emit_vm_flush(struct amdgpu_ring *ring,
|
|||||||
pd_addr = amdgpu_gmc_emit_flush_gpu_tlb(ring, vmid, pd_addr);
|
pd_addr = amdgpu_gmc_emit_flush_gpu_tlb(ring, vmid, pd_addr);
|
||||||
|
|
||||||
/* wait for register write */
|
/* wait for register write */
|
||||||
data0 = hub->ctx0_ptb_addr_lo32 + vmid * 2;
|
data0 = hub->ctx0_ptb_addr_lo32 + vmid * hub->ctx_addr_distance;
|
||||||
data1 = lower_32_bits(pd_addr);
|
data1 = lower_32_bits(pd_addr);
|
||||||
mask = 0xffffffff;
|
mask = 0xffffffff;
|
||||||
vcn_v1_0_dec_ring_emit_reg_wait(ring, data0, data1, mask);
|
vcn_v1_0_dec_ring_emit_reg_wait(ring, data0, data1, mask);
|
||||||
@ -1679,7 +1679,8 @@ static void vcn_v1_0_enc_ring_emit_vm_flush(struct amdgpu_ring *ring,
|
|||||||
pd_addr = amdgpu_gmc_emit_flush_gpu_tlb(ring, vmid, pd_addr);
|
pd_addr = amdgpu_gmc_emit_flush_gpu_tlb(ring, vmid, pd_addr);
|
||||||
|
|
||||||
/* wait for reg writes */
|
/* wait for reg writes */
|
||||||
vcn_v1_0_enc_ring_emit_reg_wait(ring, hub->ctx0_ptb_addr_lo32 + vmid * 2,
|
vcn_v1_0_enc_ring_emit_reg_wait(ring, hub->ctx0_ptb_addr_lo32 +
|
||||||
|
vmid * hub->ctx_addr_distance,
|
||||||
lower_32_bits(pd_addr), 0xffffffff);
|
lower_32_bits(pd_addr), 0xffffffff);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user