Re: [PATCH] drm/amdgpu: fix PTE copy corruption for sdma 7

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 26, 2024 at 4:43 AM Min, Frank <Frank.Min@xxxxxxx> wrote:
>
> [AMD Official Use Only - AMD Internal Distribution Only]
>
> From: Frank Min <Frank.Min@xxxxxxx>
>
> Without setting dcc bit, there is ramdon PTE copy corruption on sdma 7.
>
> so add this bit and update the packet format accordingly.
>
> Signed-off-by: Frank Min <Frank.Min@xxxxxxx>

Acked-by: Alex Deucher <alexander.deucher@xxxxxxx>

> ---
>  drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
> index cfd8e183ad50..a8763496aed3 100644
> --- a/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
> @@ -1080,13 +1080,16 @@ static void sdma_v7_0_vm_copy_pte(struct amdgpu_ib *ib,
>         unsigned bytes = count * 8;
>
>         ib->ptr[ib->length_dw++] = SDMA_PKT_COPY_LINEAR_HEADER_OP(SDMA_OP_COPY) |
> -               SDMA_PKT_COPY_LINEAR_HEADER_SUB_OP(SDMA_SUBOP_COPY_LINEAR);
> +               SDMA_PKT_COPY_LINEAR_HEADER_SUB_OP(SDMA_SUBOP_COPY_LINEAR) |
> +               SDMA_PKT_COPY_LINEAR_HEADER_CPV(1);
> +
>         ib->ptr[ib->length_dw++] = bytes - 1;
>         ib->ptr[ib->length_dw++] = 0; /* src/dst endian swap */
>         ib->ptr[ib->length_dw++] = lower_32_bits(src);
>         ib->ptr[ib->length_dw++] = upper_32_bits(src);
>         ib->ptr[ib->length_dw++] = lower_32_bits(pe);
>         ib->ptr[ib->length_dw++] = upper_32_bits(pe);
> +       ib->ptr[ib->length_dw++] = 0;
>
>  }
>
> @@ -1744,7 +1747,7 @@ static void sdma_v7_0_set_buffer_funcs(struct amdgpu_device *adev)  }
>
>  static const struct amdgpu_vm_pte_funcs sdma_v7_0_vm_pte_funcs = {
> -       .copy_pte_num_dw = 7,
> +       .copy_pte_num_dw = 8,
>         .copy_pte = sdma_v7_0_vm_copy_pte,
>         .write_pte = sdma_v7_0_vm_write_pte,
>         .set_pte_pde = sdma_v7_0_vm_set_pte_pde,
> --
> 2.43.0
>
>




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux