]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/amdgpu/umsch: reinitialize write pointer in hw init
authorLang Yu <Lang.Yu@amd.com>
Mon, 25 Mar 2024 05:24:31 +0000 (13:24 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 10 Apr 2024 03:12:20 +0000 (23:12 -0400)
Otherwise the old one will be used during GPU reset.
That's not expected.

Signed-off-by: Lang Yu <Lang.Yu@amd.com>
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/amdgpu/umsch_mm_v4_0.c

index 84368cf1e17535c16c031ce6677f53769f9e8f94..bd57896ab85d565770bd75484b5443de9891d601 100644 (file)
@@ -225,6 +225,8 @@ static int umsch_mm_v4_0_ring_start(struct amdgpu_umsch_mm *umsch)
 
        WREG32_SOC15(VCN, 0, regVCN_UMSCH_RB_SIZE, ring->ring_size);
 
+       ring->wptr = 0;
+
        data = RREG32_SOC15(VCN, 0, regVCN_RB_ENABLE);
        data &= ~(VCN_RB_ENABLE__AUDIO_RB_EN_MASK);
        WREG32_SOC15(VCN, 0, regVCN_RB_ENABLE, data);