>-----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

Reply via email to