>-----Original Message----- >From: Ceraolo Spurio, Daniele >Sent: Thursday, December 22, 2016 11:55 AM >To: [email protected] >Cc: Ceraolo Spurio, Daniele <[email protected]>; Chris Wilson ><[email protected]>; Wajdeczko, Michal <[email protected]>; >Hiler, Arkadiusz <[email protected]>; Srivatsa, Anusha ><[email protected]>; Winiarski, Michal <[email protected]> >Subject: [PATCH] drm/i915: request ring to be pinned above GUC_WOPCM_TOP > >From: Daniele Ceraolo Spurio <[email protected]> > >GuC will validate the ring offset and fail if it is in the [0, GUC_WOPCM_TOP) >range. > >Signed-off-by: Daniele Ceraolo Spurio <[email protected]> >Cc: Chris Wilson <[email protected]> >Cc: Michal Wajdeczko <[email protected]> >Cc: Arkadiusz Hiler <[email protected]> >Cc: Anusha Srivatsa <[email protected]> >Cc: Michał Winiarski <[email protected]> Tested-by: Anusha Srivatsa <[email protected]> >--- > drivers/gpu/drm/i915/intel_ringbuffer.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > >diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c >b/drivers/gpu/drm/i915/intel_ringbuffer.c >index 69ccf4f..8f97b2e 100644 >--- a/drivers/gpu/drm/i915/intel_ringbuffer.c >+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c >@@ -1807,8 +1807,11 @@ static int init_phys_status_page(struct >intel_engine_cs *engine) > > int intel_ring_pin(struct intel_ring *ring) { >- /* Ring wraparound at offset 0 sometimes hangs. No idea why. */ >- unsigned int flags = PIN_GLOBAL | PIN_OFFSET_BIAS | 4096; >+ /* Need a bias for 2 reasons: >+ * 1: ring wraparound at offset 0 sometimes hangs. No idea why. >+ * 2: GuC requires the ring to be placed above GUC_WOPCM_TOP >+ */ >+ unsigned int flags = PIN_GLOBAL | PIN_OFFSET_BIAS | >GUC_WOPCM_TOP; > enum i915_map_type map; > struct i915_vma *vma = ring->vma; > void *addr; >-- >1.9.1
_______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
