[PATCH v2] drm/amdgpu/gmc6: fix DMA mask from 44 to 40 bits

Paul Menzel pmenzel at molgen.mpg.de
Thu Oct 28 15:19:35 UTC 2021


Dear Alex,


On 28.10.21 16:21, Alex Deucher wrote:
> The DMA mask on SI parts is 40 bits not 44.  Copy
> paste typo.
> 
> Fixes: 244511f386ccb9 ("drm/amdgpu: simplify and cleanup setting the dma mask")

This was present in Linux 5.4-rc1. Can it also be the cause of some of 
the crashes with the AMD Ryzen systems like Bug 206487 - Random 
freezes/crashes with enabled C-State C6 - AMD Ryzen [1]? I know, there 
were also some things with Linux 4.19.57, but, if my memory serves 
correctly, they were much more often with Linux 5.4. Some crashes had 
MCE and other did not, some froze the system, some rebooted it.

> Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1762
> Acked-by: Christian König <christian.koenig at amd.com>
> Tested-by: Paul Menzel <pmenzel at molgen.mpg.de>
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
> index 0e81e03e9b49..0fe714f54cca 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
> @@ -841,12 +841,12 @@ static int gmc_v6_0_sw_init(void *handle)
>   
>   	adev->gmc.mc_mask = 0xffffffffffULL;
>   
> -	r = dma_set_mask_and_coherent(adev->dev, DMA_BIT_MASK(44));
> +	r = dma_set_mask_and_coherent(adev->dev, DMA_BIT_MASK(40));
>   	if (r) {
>   		dev_warn(adev->dev, "No suitable DMA available.\n");
>   		return r;
>   	}
> -	adev->need_swiotlb = drm_need_swiotlb(44);
> +	adev->need_swiotlb = drm_need_swiotlb(40);
>   
>   	r = gmc_v6_0_init_microcode(adev);
>   	if (r) {
> 


Kind regards,

Paul


[1]: https://bugzilla.kernel.org/show_bug.cgi?id=206487


More information about the amd-gfx mailing list