lkml.org 
[lkml]   [2021]   [May]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.12 077/127] drm/amdgpu: Fix GPU TLB update error when PAGE_SIZE > AMDGPU_PAGE_SIZE
    Date
    From: Yi Li <liyi@loongson.cn>

    commit d53751568359e5b3ffb859b13cbd79dc77a571f1 upstream.

    When PAGE_SIZE is larger than AMDGPU_PAGE_SIZE, the number of GPU TLB
    entries which need to update in amdgpu_map_buffer() should be multiplied
    by AMDGPU_GPU_PAGES_IN_CPU_PAGE (PAGE_SIZE / AMDGPU_PAGE_SIZE).

    Reviewed-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Yi Li <liyi@loongson.cn>
    Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
    +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
    @@ -267,7 +267,7 @@ static int amdgpu_ttm_map_buffer(struct
    *addr += offset & ~PAGE_MASK;

    num_dw = ALIGN(adev->mman.buffer_funcs->copy_num_dw, 8);
    - num_bytes = num_pages * 8;
    + num_bytes = num_pages * 8 * AMDGPU_GPU_PAGES_IN_CPU_PAGE;

    r = amdgpu_job_alloc_with_ib(adev, num_dw * 4 + num_bytes,
    AMDGPU_IB_POOL_DELAYED, &job);

    \
     
     \ /
      Last update: 2021-05-24 18:31    [W:2.066 / U:0.196 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site