[PATCH 3/3] drm/amdgpu/umsch: enable doorbell for umsch

Gopalakrishnan, Veerabadhran (Veera) Veerabadhran.Gopalakrishnan at amd.com
Mon Oct 9 15:08:24 UTC 2023


[AMD Official Use Only - General]

Reviewed-by: Veerabadhran Gopalakrishnan <Veerabadhran.Gopalakrishnan at amd.com>

-Veera

-----Original Message-----
From: Yu, Lang <Lang.Yu at amd.com>
Sent: Saturday, October 7, 2023 2:24 PM
To: amd-gfx at lists.freedesktop.org
Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Zhang, Yifan <Yifan1.Zhang at amd.com>; Gopalakrishnan, Veerabadhran (Veera) <Veerabadhran.Gopalakrishnan at amd.com>; Yu, Lang <Lang.Yu at amd.com>
Subject: [PATCH 3/3] drm/amdgpu/umsch: enable doorbell for umsch

Program vcn_doorbell_range with vcn_ring0_1.

Signed-off-by: Lang Yu <Lang.Yu at amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c | 2 +-
 drivers/gpu/drm/amd/amdgpu/umsch_mm_v4_0.c   | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c
index 9d89c4186989..4bd076e9e367 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c
@@ -554,7 +554,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;

diff --git a/drivers/gpu/drm/amd/amdgpu/umsch_mm_v4_0.c b/drivers/gpu/drm/amd/amdgpu/umsch_mm_v4_0.c
index 7e79954c833b..17c73aaa1e82 100644
--- a/drivers/gpu/drm/amd/amdgpu/umsch_mm_v4_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/umsch_mm_v4_0.c
@@ -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));
--
2.25.1



More information about the amd-gfx mailing list