Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fb251a72 authored by Chris Wilson's avatar Chris Wilson
Browse files

drm/i915/gtt: Mark ALL_ENGINES as dirty on ppGTT modification



Small simplification to set all bits in the dirty mask rather than
lookup the exact mask of populated engines. The bits for the engines
that do not exist are unused and so can safely set and then ignored.

Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.auld@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190305180332.30900-2-chris@chris-wilson.co.uk
parent 8a68d464
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -792,14 +792,15 @@ static void gen8_initialize_pml4(struct i915_address_space *vm,
	memset_p((void **)pml4->pdps, vm->scratch_pdp, GEN8_PML4ES_PER_PML4);
}

/* PDE TLBs are a pain to invalidate on GEN8+. When we modify
/*
 * PDE TLBs are a pain to invalidate on GEN8+. When we modify
 * the page table structures, we mark them dirty so that
 * context switching/execlist queuing code takes extra steps
 * to ensure that tlbs are flushed.
 */
static void mark_tlbs_dirty(struct i915_hw_ppgtt *ppgtt)
{
	ppgtt->pd_dirty_engines = INTEL_INFO(ppgtt->vm.i915)->engine_mask;
	ppgtt->pd_dirty_engines = ALL_ENGINES;
}

/* Removes entries from a single page table, releasing it if it's empty.