mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-28 05:12:49 +00:00
drm/amdgpu/sdma5.2: use legacy HDP flush for SDMA2/3
This avoids a potential conflict with firmwares with the newer HDP flush mechanism. Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
This commit is contained in:
parent
fe93b0927b
commit
9792b7cc18
1 changed files with 14 additions and 10 deletions
|
@ -280,6 +280,9 @@ static void sdma_v5_2_ring_emit_hdp_flush(struct amdgpu_ring *ring)
|
||||||
u32 ref_and_mask = 0;
|
u32 ref_and_mask = 0;
|
||||||
const struct nbio_hdp_flush_reg *nbio_hf_reg = adev->nbio.hdp_flush_reg;
|
const struct nbio_hdp_flush_reg *nbio_hf_reg = adev->nbio.hdp_flush_reg;
|
||||||
|
|
||||||
|
if (ring->me > 1) {
|
||||||
|
amdgpu_asic_flush_hdp(adev, ring);
|
||||||
|
} else {
|
||||||
ref_and_mask = nbio_hf_reg->ref_and_mask_sdma0 << ring->me;
|
ref_and_mask = nbio_hf_reg->ref_and_mask_sdma0 << ring->me;
|
||||||
|
|
||||||
amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_POLL_REGMEM) |
|
amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_POLL_REGMEM) |
|
||||||
|
@ -292,6 +295,7 @@ static void sdma_v5_2_ring_emit_hdp_flush(struct amdgpu_ring *ring)
|
||||||
amdgpu_ring_write(ring, SDMA_PKT_POLL_REGMEM_DW5_RETRY_COUNT(0xfff) |
|
amdgpu_ring_write(ring, SDMA_PKT_POLL_REGMEM_DW5_RETRY_COUNT(0xfff) |
|
||||||
SDMA_PKT_POLL_REGMEM_DW5_INTERVAL(10)); /* retry count, poll interval */
|
SDMA_PKT_POLL_REGMEM_DW5_INTERVAL(10)); /* retry count, poll interval */
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sdma_v5_2_ring_emit_fence - emit a fence on the DMA ring
|
* sdma_v5_2_ring_emit_fence - emit a fence on the DMA ring
|
||||||
|
|
Loading…
Reference in a new issue