lkml.org 
[lkml]   [2021]   [Nov]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 041/179] drm/amdgpu: IH process reset count when restart
    Date
    From: Philip Yang <Philip.Yang@amd.com>

    commit 4d62555f624582e60be416fbc4772cd3fcd12b1a upstream.

    Otherwise when IH process restart, count is zero, the loop will
    not exit to wake_up_all after processing AMDGPU_IH_MAX_NUM_IVS
    interrupts.

    Cc: stable@vger.kernel.org
    Signed-off-by: Philip Yang <Philip.Yang@amd.com>
    Reviewed-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c
    +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c
    @@ -223,7 +223,7 @@ int amdgpu_ih_wait_on_checkpoint_process
    */
    int amdgpu_ih_process(struct amdgpu_device *adev, struct amdgpu_ih_ring *ih)
    {
    - unsigned int count = AMDGPU_IH_MAX_NUM_IVS;
    + unsigned int count;
    u32 wptr;

    if (!ih->enabled || adev->shutdown)
    @@ -232,6 +232,7 @@ int amdgpu_ih_process(struct amdgpu_devi
    wptr = amdgpu_ih_get_wptr(adev, ih);

    restart_ih:
    + count = AMDGPU_IH_MAX_NUM_IVS;
    DRM_DEBUG("%s: rptr %d, wptr %d\n", __func__, ih->rptr, wptr);

    /* Order reading of wptr vs. reading of IH ring data */

    \
     
     \ /
      Last update: 2021-11-29 23:58    [W:4.167 / U:0.228 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site