On 20.08.25 11:36, Zhang, Yifan wrote:
> [AMD Official Use Only - AMD Internal Distribution Only]
> 
> RE
> "The only reason I could come up with why we would need it is to have error 
> handling if not enough VRAM is available for the TMR, but falling back to GTT 
> is then probably still a good idea."
> 
> TMR allocation only happens in psp_hw_init, suppose there is enough VRAM for 
> TMR at that moment. Right ?

Yeah, that's exactly my thinking as well. There is most likely enough VRAM in 
that situation.

Regards,
Christian.

> 
> 
> -----Original Message-----
> From: Koenig, Christian <christian.koe...@amd.com>
> Sent: Wednesday, August 20, 2025 4:14 PM
> To: Zhang, Yifan <yifan1.zh...@amd.com>; amd-gfx@lists.freedesktop.org
> Cc: Deucher, Alexander <alexander.deuc...@amd.com>
> Subject: Re: [PATCH] drm/amdgpu: replace AMDGPU_HAS_VRAM with is_app_apu
> 
> On 20.08.25 09:31, Yifan Zhang wrote:
>> AMDGPU_HAS_VRAM is redundant with is_app_apu, as both refer to APUs
>> with no carve-out. Since AMDGPU_HAS_VRAM only occurs once, replace
>> AMDGPU_HAS_VRAM with is_app_apu.
>>
>> Signed-off-by: Yifan Zhang <yifan1.zh...@amd.com>
>> ---
>>  drivers/gpu/drm/amd/amdgpu/amdgpu.h     | 6 ------
>>  drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 6 +++---
>>  2 files changed, 3 insertions(+), 9 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>> index ddd472e56f69..01f53700694b 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>> @@ -946,12 +946,6 @@ enum amdgpu_enforce_isolation_mode {
>>       AMDGPU_ENFORCE_ISOLATION_NO_CLEANER_SHADER = 3,  };
>>
>> -
>> -/*
>> - * Non-zero (true) if the GPU has VRAM. Zero (false) otherwise.
>> - */
>> -#define AMDGPU_HAS_VRAM(_adev) ((_adev)->gmc.real_vram_size)
>> -
>>  struct amdgpu_device {
>>       struct device                   *dev;
>>       struct pci_dev                  *pdev;
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
>> index fa3e55700ad6..4125e73a0647 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
>> @@ -880,9 +880,9 @@ static int psp_tmr_init(struct psp_context *psp)
>>               pptr = amdgpu_sriov_vf(psp->adev) ? &tmr_buf : NULL;
>>               ret = amdgpu_bo_create_kernel(psp->adev, tmr_size,
>>                                             PSP_TMR_ALIGNMENT,
>> -                                           AMDGPU_HAS_VRAM(psp->adev) ?
>> -                                           AMDGPU_GEM_DOMAIN_VRAM :
>> -                                           AMDGPU_GEM_DOMAIN_GTT,
>> +                                           psp->adev->gmc.is_app_apu ?
>> +                                           AMDGPU_GEM_DOMAIN_GTT :
>> +                                           AMDGPU_GEM_DOMAIN_VRAM,
> 
> Mhm the logic here is actually completely unnecessary. You can just specify 
> AMDGPU_GEM_DOMAIN_VRAM | AMDGPU_GEM_DOMAIN_GTT and get VRAM if available and 
> GTT otherwise.
> 
> The only reason I could come up with why we would need it is to have error 
> handling if not enough VRAM is available for the TMR, but falling back to GTT 
> is then probably still a good idea.
> 
> Regards,
> Christian.
> 
> 
>>                                             &psp->tmr_bo, &psp->tmr_mc_addr,
>>                                             pptr);
>>       }
> 

Reply via email to