On Mon, 01 Jul 2019 12:04:51 +0200, Chris Wilson <ch...@chris-wilson.co.uk> wrote:

During reset, we must be very selective in which locks we take as most
are tainted by being held across a wait or reclaim (kmalloc) which
implicitly waits. Inside the guc reset path, we reset the ADS to sane
defaults, but must keep it pinned from initialisation to avoid having to
pin it during reset.

Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospu...@intel.com>

Reviewed-by: Michal Wajdeczko <michal.wajdec...@intel.com>

but I'm little worried about leaving stale guc->ads_blob below:

@@ -183,7 +183,7 @@ int intel_guc_ads_create(struct intel_guc *guc)
void intel_guc_ads_destroy(struct intel_guc *guc)
 {
-       i915_vma_unpin_and_release(&guc->ads_vma, 0);
+       i915_vma_unpin_and_release(&guc->ads_vma, I915_VMA_RELEASE_MAP);
 }

maybe there is a way to get ptr right from the pinned/mapped vma
without introducing extra separate field that might go out of sync ?

Michal
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to