On Fri, 19 Aug 2016, David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> wrote: > On Thu, Aug 18, 2016 at 10:29:43AM +0300, David Weinehall wrote: >> On Wed, Aug 17, 2016 at 04:43:36PM +0300, Jani Nikula wrote: >> > On Wed, 17 Aug 2016, Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> wrote: >> > > On Wed, Aug 17, 2016 at 03:47:48PM +0300, David Weinehall wrote: >> > >> This reverts commit 237ed86c693d8a8e4db476976aeb30df4deac74b. >> > >> >> > >> Our current implementation of live status check (repeat 9 times >> > >> with 10ms delays between each attempt as a workaround for >> > >> buggy displays) imposes a rather serious penalty, time wise, >> > >> on intel_hdmi_detect(). Since we we already skip live status >> > >> checks on platforms before gen 7, and since we seem to have >> > >> coped quite well before the live status check was introduced >> > >> for newer platforms too, the previous behaviour is probably >> > >> preferable, at least unless someone can point to a use-case >> > >> that the live status check improves (apart from "Bspec says so". >> > >> >> > >> Signed-off-by: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> >> > > >> > > Fixes: 237ed86c693d ("drm/i915: Check live status before reading edid") >> > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97139 >> > > Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> >> > > Cc: stable@xxxxxxxxxxxxxxx >> > >> > And we've come full circle on live status. Again. >> > >> > References: https://upload.wikimedia.org/wikipedia/commons/3/3b/Paris_Tuileries_Garden_Facepalm_statue.jpg >> >> Actually, we might have to take (at least) one more >> lap around the circle. >> >> I did some more benchmarks, this time on Cherryview, >> and two different Skylake models (one ThinkPad 13, >> one NUC i5). >> >> The results are rather frustrating: >> >> On Skylake gmbus_wait_hw_status() seems to be >> really expensive[1]. > > [snip] > > Actually, I think it's safe to do the revert. > A bit more testing yields that it's not a generic > issue for Skylake, it seems to be specific to > ThinkPads (or even a subset of them; I haven't > got more than one model to test on). > > The gmbus never sends a NAK if there's nothing connected, > so eventually gmbus_wait_for_status() gives up and we fall > back to using the bitbanging method instead. > > Since things still work (albeit with reduced performance) > on ThinkPads, and other platforms don't exhibit this > behaviour, I suggest we move forward and revert > the live status check. > > Chris has a partial fix for the problem; it fixes > the first port (which is purely an HDMI-port), but > the second port -- which I believe is routed through > the dock connector and/or the type C USB-port, > still remains problematic. Pushed to drm-intel-next-queued after procrastination, thanks for the patch. BR, Jani. -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx