On Wed, Jul 15, 2026 at 10:34 AM Lijo Lazar <[email protected]> wrote:
>
> If a valid signature is seen at the default offset, use the default
> size/offset for discovery.
>
> Fixes: 01bdc7e219c4 ("drm/amdgpu: New interface to get IP discovery binary 
> v3")
> Closes: https://gitlab.freedesktop.org/drm/amd/-/work_items/5447
>
> Signed-off-by: Lijo Lazar <[email protected]>

Reviewed-by: Alex Deucher <[email protected]>

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
> index 44e7d2e3e6df..186661c94d8c 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
> @@ -334,6 +334,19 @@ static int amdgpu_discovery_get_tmr_info(struct 
> amdgpu_device *adev,
>                         goto out;
>                 }
>         } else {
> +               if (adev->discovery.offset) {
> +                       u32 signature;
> +
> +                       /* If VRAM holds a valid discovery signature at the 
> default
> +                        * discovery offset, use it as-is.
> +                        */
> +                       amdgpu_device_vram_access(adev, 
> adev->discovery.offset,
> +                                                 &signature, 
> sizeof(signature),
> +                                                 false);
> +                       if (le32_to_cpu(signature) == BINARY_SIGNATURE)
> +                               goto out;
> +               }
> +
>                 tmr_size = RREG32(mmDRIVER_SCRATCH_2);
>                 if (tmr_size) {
>                         /* It's preferred to transition to PSP mailbox reg 
> interface
> --
> 2.49.0
>

Reply via email to