[PATCH] drm/amdgpu: Bypass asd if display hw is not available
Christian König
ckoenig.leichtzumerken at gmail.com
Thu Apr 4 12:04:27 UTC 2024
Am 29.03.24 um 10:49 schrieb Hawking Zhang:
> ASD is not needed by headless GPU.
Oh, that's actually not correct.
We have some hw workarounds in the ASD firmware which are necessary even
if the actual functionality of the fw isn't needed.
Only when the fw binary isn't provided at all we should skip this.
Regards,
Christian.
>
> Signed-off-by: Hawking Zhang <Hawking.Zhang at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> index 94b310fdb719d..063203865bbe2 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> @@ -1053,6 +1053,11 @@ static int psp_asd_initialize(struct psp_context *psp)
> if (amdgpu_sriov_vf(psp->adev) || !psp->asd_context.bin_desc.size_bytes)
> return 0;
>
> + /* bypass asd if display hardware is not available */
> + if (!amdgpu_device_has_display_hardware(psp->adev) &&
> + amdgpu_ip_version(adev, MP0_HWIP, 0) >= IP_VERSION(13, 0, 10))
> + return 0;
> +
> psp->asd_context.mem_context.shared_mc_addr = 0;
> psp->asd_context.mem_context.shared_mem_size = PSP_ASD_SHARED_MEM_SIZE;
> psp->asd_context.ta_load_type = GFX_CMD_ID_LOAD_ASD;
More information about the amd-gfx
mailing list