drm/amdgpu/umsch: enable doorbell for umsch
authorLang Yu <Lang.Yu@amd.com>
Sun, 1 Oct 2023 16:10:42 +0000 (00:10 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 13 Oct 2023 15:01:37 +0000 (11:01 -0400)
Program vcn_doorbell_range with vcn_ring0_1.

Signed-off-by: Lang Yu <Lang.Yu@amd.com>
Reviewed-by: Veerabadhran Gopalakrishnan <Veerabadhran.Gopalakrishnan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c
drivers/gpu/drm/amd/amdgpu/umsch_mm_v4_0.c

index 8889006..1c523eb 100644 (file)
@@ -553,7 +553,7 @@ int amdgpu_umsch_mm_ring_init(struct amdgpu_umsch_mm *umsch)
        struct amdgpu_ring *ring = &umsch->ring;
 
        ring->vm_hub = AMDGPU_MMHUB0(0);
-       ring->use_doorbell = 0;
+       ring->use_doorbell = true;
        ring->no_scheduler = true;
        ring->doorbell_index = (AMDGPU_NAVI10_DOORBELL64_VCN0_1 << 1) + 6;
 
index 16b291c..63917e2 100644 (file)
@@ -217,7 +217,8 @@ static int umsch_mm_v4_0_ring_start(struct amdgpu_umsch_mm *umsch)
        data = REG_SET_FIELD(data, VCN_UMSCH_RB_DB_CTRL, EN, 1);
        WREG32_SOC15(VCN, 0, regVCN_UMSCH_RB_DB_CTRL, data);
 
-       adev->nbio.funcs->vcn_doorbell_range(adev, ring->use_doorbell, ring->doorbell_index, 0);
+       adev->nbio.funcs->vcn_doorbell_range(adev, ring->use_doorbell,
+               (adev->doorbell_index.vcn.vcn_ring0_1 << 1), 0);
 
        WREG32_SOC15(VCN, 0, regVCN_UMSCH_RB_BASE_LO, lower_32_bits(ring->gpu_addr));
        WREG32_SOC15(VCN, 0, regVCN_UMSCH_RB_BASE_HI, upper_32_bits(ring->gpu_addr));