[PATCH 1/1] drm/amdgpu: return early on error while setting bar0 memtype

Lazar, Lijo lijo.lazar at amd.com
Tue Nov 2 08:00:47 UTC 2021



On 10/29/2021 8:39 PM, Nirmoy Das wrote:
> We set WC memtype for aper_base but don't check return value
> of arch_io_reserve_memtype_wc(). Be more defensive and return
> early on error.
> 
> Signed-off-by: Nirmoy Das <nirmoy.das at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 7 ++++++-
>   1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> index 073ba2af0b9c..6b25982a9077 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> @@ -1032,9 +1032,14 @@ int amdgpu_bo_init(struct amdgpu_device *adev)
>   	/* On A+A platform, VRAM can be mapped as WB */
>   	if (!adev->gmc.xgmi.connected_to_cpu) {
>   		/* reserve PAT memory space to WC for VRAM */
> -		arch_io_reserve_memtype_wc(adev->gmc.aper_base,
> +		int r = arch_io_reserve_memtype_wc(adev->gmc.aper_base,
>   				adev->gmc.aper_size);

BTW, isn't it more appropriate to use visible vram size? There are cases 
where pci resize rounds aperture to the next higher size > size of 
actual VRAM.

Thanks,
Lijo
>   
> +		if (r) {
> +			DRM_ERROR("Unable to set WC memtype for the aperture base\n");
> +			return r;
> +		}
> +
>   		/* Add an MTRR for the VRAM */
>   		adev->gmc.vram_mtrr = arch_phys_wc_add(adev->gmc.aper_base,
>   				adev->gmc.aper_size);
> 


More information about the amd-gfx mailing list