[1/3] drm/amdgpu: don't use ATRM for external devices

Mario Limonciello mario.limonciello at amd.com
Tue Oct 31 19:14:13 UTC 2023


On 10/27/2023 10:42, Alex Deucher wrote:
> The ATRM ACPI method is for fetching the dGPU vbios rom
> image on laptops and all-in-one systems.  It should not be
> used for external add in cards.  If the dGPU is thunderbolt
> connected, don't try ATRM.
> 
> v2: pci_is_thunderbolt_attached only works for Intel.  Use
>      pdev->external_facing instead.
> v3: dev_is_removable() seems to be what we want
> 
> Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2925
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>

Reviewed-by: Mario Limonciello <mario.limonciello at amd.com>

> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c
> index 38ccec913f00..f3a09ecb7699 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c
> @@ -29,6 +29,7 @@
>   #include "amdgpu.h"
>   #include "atom.h"
>   
> +#include <linux/device.h>
>   #include <linux/pci.h>
>   #include <linux/slab.h>
>   #include <linux/acpi.h>
> @@ -287,6 +288,10 @@ static bool amdgpu_atrm_get_bios(struct amdgpu_device *adev)
>   	if (adev->flags & AMD_IS_APU)
>   		return false;
>   
> +	/* ATRM is for on-platform devices only */
> +	if (dev_is_removable(&adev->pdev->dev))
> +		return false;
> +
>   	while ((pdev = pci_get_class(PCI_CLASS_DISPLAY_VGA << 8, pdev)) != NULL) {
>   		dhandle = ACPI_HANDLE(&pdev->dev);
>   		if (!dhandle)



More information about the amd-gfx mailing list