[Intel-gfx] [PATCH] drm/i915: make semaphore signaller detection more robust
Chris Wilson
chris at chris-wilson.co.uk
Wed Mar 19 16:05:15 CET 2014
On Tue, Mar 18, 2014 at 10:26:04AM +0100, Daniel Vetter wrote:
> Extract all this logic into a new helper function
> semaphore_wait_to_signaller_ring because:
>
> - The current code has way too much magic.
>
> - The current code doesn't look at bi16, which encodes VECS signallers
> on HSW. Those are just added after the fact, so can't be encoded in
> a neat formula.
>
> - It blindly trust the hardware for the dev_priv->ring array
> derefence, which given that we have a gpu hang at hand is scary. The
> current logic can't blow up since it limits its value range
> sufficiently, but that's a bit too tricky to rely on in my opinion.
> Especially when we start to add bdw support.
No, it does not blindly trust. What you just mean here is that to extend
it for hsw+ it is simpler to reimplement differently.
> - I'm not a big fan of the explicit ring->semaphore_register list, but
> I think it's more robust to use the same mapping both when
> constructing the semaphore commands and when decoding them.
>
> - Finally add a FIXME comment about lack of broadwell support here,
> like in the earlier ipehr semaphore cmd detection function.
>
> Cc: Mika Kuoppala <mika.kuoppala at intel.com>
> Cc: Ben Widawsky <ben at bwidawsk.net>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
Other than the digression above, where did MI_SEMAPHORE_SYNC_MASK spring
from? Early patch?
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list