[PATCH v2] drm/amd/display: enable S/G display for for recent APUs by default
Alex Deucher
alexdeucher at gmail.com
Thu Sep 28 13:41:05 UTC 2023
On Thu, Sep 28, 2023 at 5:11 AM Yifan Zhang <yifan1.zhang at amd.com> wrote:
>
> With S/G display becomes stable, enable S/G display for recent APUs
> by default rather than white list.
>
> v2: explicitly disable sg on pre-CZ chips (Alex)
>
> Co-authored-by: Alex Deucher <alexander.deucher at amd.com>
> Signed-off-by: Yifan Zhang <yifan1.zhang at amd.com>
> ---
> .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 47 ++++++-------------
> 1 file changed, 14 insertions(+), 33 deletions(-)
>
> 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 8e5dfdee22e6..8963d9c251f3 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -1627,41 +1627,22 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
> break;
> }
>
> - switch (adev->asic_type) {
> - case CHIP_CARRIZO:
> - case CHIP_STONEY:
> - init_data.flags.gpu_vm_support = true;
> - break;
> - default:
> - switch (amdgpu_ip_version(adev, DCE_HWIP, 0)) {
> - case IP_VERSION(1, 0, 0):
> - case IP_VERSION(1, 0, 1):
> - /* enable S/G on PCO and RV2 */
> - if ((adev->apu_flags & AMD_APU_IS_RAVEN2) ||
> - (adev->apu_flags & AMD_APU_IS_PICASSO))
> - init_data.flags.gpu_vm_support = true;
> - break;
> - case IP_VERSION(2, 1, 0):
> - case IP_VERSION(3, 0, 1):
> - case IP_VERSION(3, 1, 2):
> - case IP_VERSION(3, 1, 3):
> - case IP_VERSION(3, 1, 4):
> - case IP_VERSION(3, 1, 5):
> - case IP_VERSION(3, 1, 6):
> - case IP_VERSION(3, 5, 0):
> - init_data.flags.gpu_vm_support = true;
> - break;
> - default:
> - break;
> - }
> - break;
> - }
> - if (init_data.flags.gpu_vm_support &&
> - (amdgpu_sg_display == 0))
> + /* APU support S/G display by default except:
> + * ASICs before Carrizo,
> + * RAVEN1 (Users repored stability issue)
> + */
> +
> + if (adev->asic_type < CHIP_CARRIZO)
> init_data.flags.gpu_vm_support = false;
> + else if (adev->asic_type == CHIP_RAVEN) {
> + if (adev->apu_flags & AMD_APU_IS_RAVEN)
> + init_data.flags.gpu_vm_support = false;
> + else
> + init_data.flags.gpu_vm_support = (amdgpu_sg_display != 0);
> + } else
> + init_data.flags.gpu_vm_support = (amdgpu_sg_display != 0) && (adev->flags & AMD_IS_APU);
>
per kernel coding style, if any clause has parens, every clause should
have parens. With that fixed,
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
> - if (init_data.flags.gpu_vm_support)
> - adev->mode_info.gpu_vm_support = true;
> + init_data.flags.gpu_vm_support = adev->mode_info.gpu_vm_support;
>
> if (amdgpu_dc_feature_mask & DC_FBC_MASK)
> init_data.flags.fbc_support = true;
> --
> 2.37.3
>
More information about the amd-gfx
mailing list