Primarily @Felix gentle ping. This is a prerequisite to Davids work.

Regards,
Christian.

On 06.06.25 14:57, Christian König wrote:
> Avoid using the mapping here.
> 
> Signed-off-by: Christian König <christian.koe...@amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c 
> b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
> index e691cc61ef6e..cad014c3bbf7 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
> @@ -30,6 +30,7 @@
>  #include "gmc_v9_0.h"
>  #include "amdgpu_atomfirmware.h"
>  #include "amdgpu_gem.h"
> +#include "amdgpu_dma_buf.h"
>  
>  #include "gc/gc_9_0_sh_mask.h"
>  #include "dce/dce_12_0_offset.h"
> @@ -1131,8 +1132,8 @@ static void gmc_v9_0_get_vm_pde(struct amdgpu_device 
> *adev, int level,
>  }
>  
>  static void gmc_v9_0_get_coherence_flags(struct amdgpu_device *adev,
> +                                      struct amdgpu_vm *vm,
>                                        struct amdgpu_bo *bo,
> -                                      struct amdgpu_bo_va_mapping *mapping,
>                                        uint64_t *flags)
>  {
>       struct amdgpu_device *bo_adev = amdgpu_ttm_adev(bo->tbo.bdev);
> @@ -1142,7 +1143,6 @@ static void gmc_v9_0_get_coherence_flags(struct 
> amdgpu_device *adev,
>                                    AMDGPU_GEM_CREATE_EXT_COHERENT);
>       bool ext_coherent = bo->flags & AMDGPU_GEM_CREATE_EXT_COHERENT;
>       bool uncached = bo->flags & AMDGPU_GEM_CREATE_UNCACHED;
> -     struct amdgpu_vm *vm = mapping->bo_va->base.vm;
>       unsigned int mtype_local, mtype;
>       uint32_t gc_ip_version = amdgpu_ip_version(adev, GC_HWIP, 0);
>       bool snoop = false;
> @@ -1172,7 +1172,7 @@ static void gmc_v9_0_get_coherence_flags(struct 
> amdgpu_device *adev,
>                                       mtype = MTYPE_UC;
>                               else
>                                       mtype = MTYPE_NC;
> -                             if (mapping->bo_va->is_xgmi)
> +                             if (amdgpu_dmabuf_is_xgmi_accessible(adev, bo))
>                                       snoop = true;
>                       }
>               } else {
> @@ -1264,7 +1264,8 @@ static void gmc_v9_0_get_vm_pte(struct amdgpu_device 
> *adev,
>       }
>  
>       if ((*flags & AMDGPU_PTE_VALID) && bo)
> -             gmc_v9_0_get_coherence_flags(adev, bo, mapping, flags);
> +             gmc_v9_0_get_coherence_flags(adev, mapping->bo_va->base.vm, bo,
> +                                          flags);
>  }
>  
>  static void gmc_v9_0_override_vm_pte_flags(struct amdgpu_device *adev,

Reply via email to