[PATCH 1/2] drm/amdgpu: enable S/G display on PCO and RV2
Christian König
ckoenig.leichtzumerken at gmail.com
Wed Jan 8 10:19:23 UTC 2020
Am 07.01.20 um 22:13 schrieb Alex Deucher:
> It should work on all Raven variants, but some users have
> reported issues with original Raven with IOMMU enabled.
> So far there have been no issues observed with PCO or RV2.
>
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 22 ++++++++++++++-----
> .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 18 ++++++++++-----
> 2 files changed, 28 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
> index 4e699071d144..6d520a3eec40 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
> @@ -513,13 +513,23 @@ uint32_t amdgpu_display_supported_domains(struct amdgpu_device *adev,
> * will not allow USWC mappings.
> * Also, don't allow GTT domain if the BO doens't have USWC falg set.
> */
> - if (adev->asic_type >= CHIP_CARRIZO &&
> - adev->asic_type < CHIP_RAVEN &&
> - (adev->flags & AMD_IS_APU) &&
> - (bo_flags & AMDGPU_GEM_CREATE_CPU_GTT_USWC) &&
> + if ((bo_flags & AMDGPU_GEM_CREATE_CPU_GTT_USWC) &&
> amdgpu_bo_support_uswc(bo_flags) &&
> - amdgpu_device_asic_has_dc_support(adev->asic_type))
> - domain |= AMDGPU_GEM_DOMAIN_GTT;
> + amdgpu_device_asic_has_dc_support(adev->asic_type)) {
> + switch (adev->asic_type) {
> + case CHIP_CARRIZO:
> + case CHIP_STONEY:
> + domain |= AMDGPU_GEM_DOMAIN_GTT;
> + break;
> + case CHIP_RAVEN:
> + /* enable S/G on PCO and RV2 */
> + if (adev->rev_id >= 0x8 || adev->pdev->device == 0x15d8)
> + domain |= AMDGPU_GEM_DOMAIN_GTT;
> + break;
> + default:
> + break;
> + }
> + }
> #endif
>
> return domain;
> 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 b998b0382477..05118c8860f9 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -906,13 +906,19 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
>
> init_data.dce_environment = DCE_ENV_PRODUCTION_DRV;
>
> - /*
> - * TODO debug why this doesn't work on Raven
> - */
> - if (adev->flags & AMD_IS_APU &&
> - adev->asic_type >= CHIP_CARRIZO &&
> - adev->asic_type < CHIP_RAVEN)
> + switch (adev->asic_type) {
> + case CHIP_CARRIZO:
> + case CHIP_STONEY:
> init_data.flags.gpu_vm_support = true;
> + break;
> + case CHIP_RAVEN:
> + /* enable S/G on PCO and RV2 */
> + if (adev->rev_id >= 0x8 || adev->pdev->device == 0x15d8)
> + init_data.flags.gpu_vm_support = true;
> + break;
> + default:
> + break;
> + }
It might be a good idea to enable gpu_vm_support independent anyway.
Might be even a good idea to do this in a separate patch.
But either way I'm not an expert on how the hardware works in this area,
so Acked-by: Christian König <christian.koenig at amd.com> for this series
either way.
Regards,
Christian.
>
> if (amdgpu_dc_feature_mask & DC_FBC_MASK)
> init_data.flags.fbc_support = true;
More information about the amd-gfx
mailing list