drm/xe: Remove check for vma == NULL
authorLucas De Marchi <lucas.demarchi@intel.com>
Wed, 27 Sep 2023 19:38:53 +0000 (12:38 -0700)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:41:19 +0000 (11:41 -0500)
vma at this point can never be NULL as otherwise it would crash earlier
in the only caller, xe_pt_stage_bind_entry(). Remove the extra check and
avoid adding and removing the bits from the pte.

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://lore.kernel.org/r/20230927193902.2849159-3-lucas.demarchi@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_pt.c

index 01e7c88..c39e3b4 100644 (file)
@@ -136,14 +136,15 @@ u64 xe_pte_encode(struct xe_bo *bo, u64 bo_offset, enum xe_cache_level cache,
 static u64 __vma_pte_encode(u64 pte, struct xe_vma *vma,
                            enum xe_cache_level cache, u32 pt_level)
 {
-       pte |= XE_PAGE_PRESENT | XE_PAGE_RW;
+       pte |= XE_PAGE_PRESENT;
+
+       if (likely(!xe_vma_read_only(vma)))
+               pte |= XE_PAGE_RW;
+
        pte |= pte_encode_cache(cache);
        pte |= pte_encode_ps(pt_level);
 
-       if (unlikely(vma && xe_vma_read_only(vma)))
-               pte &= ~XE_PAGE_RW;
-
-       if (unlikely(vma && xe_vma_is_null(vma)))
+       if (unlikely(xe_vma_is_null(vma)))
                pte |= XE_PTE_NULL;
 
        return pte;