[PATCH v2 2/2] Revert "drm/amd: Disable S/G for APUs when 64GB or more host memory"

Harry Wentland harry.wentland at amd.com
Fri Sep 8 15:05:57 UTC 2023


Series is
Acked-by: Harry Wentland <harry.wentland at amd.com>

Harry

On 2023-09-08 10:55, Hamza Mahfooz wrote:
> This reverts commit 5b7a256c982636ebc4f16b708b40ff56d33c8a86.
> 
> Since, we now have an actual fix for this issue, we can get rid of this
> workaround as it can cause pin failures if enough VRAM isn't carved out
> by the BIOS.
> 
> Cc: stable at vger.kernel.org # 6.1+
> Signed-off-by: Hamza Mahfooz <hamza.mahfooz at amd.com>
> ---
> v2: new to the series
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu.h           |  1 -
>   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c    | 26 -------------------
>   .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |  5 ++--
>   3 files changed, 3 insertions(+), 29 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> index 83a9607a87b8..3a86d11d1605 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> @@ -1316,7 +1316,6 @@ int amdgpu_device_gpu_recover(struct amdgpu_device *adev,
>   void amdgpu_device_pci_config_reset(struct amdgpu_device *adev);
>   int amdgpu_device_pci_reset(struct amdgpu_device *adev);
>   bool amdgpu_device_need_post(struct amdgpu_device *adev);
> -bool amdgpu_sg_display_supported(struct amdgpu_device *adev);
>   bool amdgpu_device_pcie_dynamic_switching_supported(void);
>   bool amdgpu_device_should_use_aspm(struct amdgpu_device *adev);
>   bool amdgpu_device_aspm_support_quirk(void);
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 5f32e8d4f3d3..3d540b0cf0e1 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -1358,32 +1358,6 @@ bool amdgpu_device_need_post(struct amdgpu_device *adev)
>   	return true;
>   }
>   
> -/*
> - * On APUs with >= 64GB white flickering has been observed w/ SG enabled.
> - * Disable S/G on such systems until we have a proper fix.
> - * https://gitlab.freedesktop.org/drm/amd/-/issues/2354
> - * https://gitlab.freedesktop.org/drm/amd/-/issues/2735
> - */
> -bool amdgpu_sg_display_supported(struct amdgpu_device *adev)
> -{
> -	switch (amdgpu_sg_display) {
> -	case -1:
> -		break;
> -	case 0:
> -		return false;
> -	case 1:
> -		return true;
> -	default:
> -		return false;
> -	}
> -	if ((totalram_pages() << (PAGE_SHIFT - 10)) +
> -	    (adev->gmc.real_vram_size / 1024) >= 64000000) {
> -		DRM_WARN("Disabling S/G due to >=64GB RAM\n");
> -		return false;
> -	}
> -	return true;
> -}
> -
>   /*
>    * Intel hosts such as Raptor Lake and Sapphire Rapids don't support dynamic
>    * speed switching. Until we have confirmation from Intel that a specific host
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index 5f14cd9391ca..740a6fcafe4c 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -1654,8 +1654,9 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
>   		}
>   		break;
>   	}
> -	if (init_data.flags.gpu_vm_support)
> -		init_data.flags.gpu_vm_support = amdgpu_sg_display_supported(adev);
> +	if (init_data.flags.gpu_vm_support &&
> +	    (amdgpu_sg_display == 0))
> +		init_data.flags.gpu_vm_support = false;
>   
>   	if (init_data.flags.gpu_vm_support)
>   		adev->mode_info.gpu_vm_support = true;


More information about the dri-devel mailing list