Re: [PATCH] drm/amdgpu: Bypass asd if display hw is not available

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxx>
---
  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;




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux