On 2026. június 24., szerda 16:54:04 közép-európai nyári idő Tvrtko Ursulin 
wrote:
> On 29/05/2026 11:30, Timur Kristóf wrote:
> > According to some SVM code this flag is necessary on
> > also GFX12.0 not just GFX12.1.
> > 
> > Signed-off-by: Timur Kristóf <[email protected]>
> > ---
> > 
> >   drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c | 3 ++-
> >   1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
> > b/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c index
> > 586703ec0dfa0..7bbf5f848ce1b 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
> > @@ -641,11 +641,12 @@ static int gmc_v12_0_early_init(struct
> > amdgpu_ip_block *ip_block)> 
> >             adev->gmc.xgmi.connected_to_cpu =
> >             
> >                     adev->smuio.funcs-
>is_host_gpu_xgmi_supported(adev);
> > 
> > +   adev->gmc.init_pte_flags = AMDGPU_PTE_IS_PTE;
> > +
> > 
> >     switch (amdgpu_ip_version(adev, GC_HWIP, 0)) {
> >     
> >     case IP_VERSION(12, 1, 0):
> >             gmc_v12_1_set_gmc_funcs(adev);
> >             gmc_v12_1_set_irq_funcs(adev);
> > 
> > -           adev->gmc.init_pte_flags = AMDGPU_PTE_IS_PTE;
> > 
> >             break;
> >     
> >     default:
> >             gmc_v12_0_set_gmc_funcs(adev);
> 
> Code is fine but I don't have the inside knowledge to comment on the
> GFX12.0 vs GFX12.1 situation. Where is this SVM code commit message
> mentions?

Hi,

amdgpu_vm_pte_update_flags() has the following comment:

/* Workaround for fault priority problem on GMC9 and GFX12,
 * EXECUTABLE for GMC9 fault priority and init_pte_flags
 * (e.g. AMDGPU_PTE_IS_PTE on GFX12)
 */

svm_range_get_pte_flags() unconditionally uses this PTE flag on GFX12.x, added 
by this commit: a8a4615ba0fa3ee1248ae2184e7e848d7b644e70
which says: "This resolves the issues related to SVM enablement in GFX12."

While they don't elaborate what exactly the problem is that is being worked 
around, it is pretty clear that the flag is necessary for proper fault handling 
on GFX12.x and indeed I can confirm that it solves the problem for me. I think 
the reason why it was missing here is because the authors just fixed the issue 
for SVM and forgot to fix it also for graphics.

Timur

> 
> Otherwise, maybe people who added this workaround could review? Those
> two are the relevant patches AFAICT:
> 
> commit db29ddf6505f3e831e000c95ae013b18a37f70bc
> Author: Mukul Joshi <[email protected]>
> Date:   Thu Apr 24 21:51:23 2025 -0400
> 
>      drm/amdgpu: Add per-ASIC PTE init flag
> 
> 
> commit 9d47b2c36b9a6c6b844c33cab407a5d7ad102234
> Author: Siwei He <[email protected]>
> Date:   Tue Apr 14 14:46:54 2026 -0400
> 
>      drm/amdgpu: OR init_pte_flags into invalid leaf PTE update
> 
> I took the liberty to add some CCs.
> 
> Regards,
> 
> Tvrtko




Reply via email to