On Sat, 2012-12-01 at 13:53 +0100, Daniel Vetter wrote: > Hi all, > > Irq-drive gmbus/dp aux transfer, simply because we can (and at least in the case > of gmbus, it's quite a bit faster than the msleep(1) loop - we now reliably > transfer at full wire speed insteaf of sometimes 2-3x slower). > > Compared to the older version I've floated on irc way back and which Chris has > carried around in his wip branchs (and inflicted upon tons of unsuspecting bug > reporters) there are a few differences: > - handle the hpd vs. setup race - even the current code enables hpd processing > before the fbdev is set up, which is too early. > - fix the gen4 gmbus support, was totally busted. > - tested on hsw (although all the relevant bits are a 100% match with cpt/ivb). > - disable dp aux irq on vlv - too complicated to get at the docs (moved again, > old access revoked) and I don't have the hw. > > While reviewing this patch series I've also noticed two small things in the irq > handling code in general, patches for that at the beginning of the series. > > Comment&review highgly welcome. Looks good to me. On the series: Reviewed-by: Imre Deak <imre.deak at intel.com> > > Cheers, Daniel > > Daniel Vetter (10): > drm/i915: haswell has the same irq handlers as ivb > drm/i915: don't handle PIPE_LEGACY_BLC_EVENT_STATUS on vlv > drm/i915: reorder setup sequence to have irqs for output setup > drm/i915: extract gmbus_wait_hw_status > drm/i915: wire up gmbus irq handler > drm/i915: use the gmbus irq for waits > drm/i915: use gmbus irq to wait for gmbus idle > drm/i915: wire up do aux channel done interrupt > drm/i915: irq-drive the dp aux communication > drm/i915: use _NOTRACE for gmbus/dp aux wait loops > > drivers/gpu/drm/i915/i915_dma.c | 10 +++- > drivers/gpu/drm/i915/i915_drv.h | 8 ++++ > drivers/gpu/drm/i915/i915_irq.c | 74 ++++++++++++++++++++-------- > drivers/gpu/drm/i915/intel_dp.c | 59 ++++++++++++++++++----- > drivers/gpu/drm/i915/intel_i2c.c | 101 +++++++++++++++++++++++++++++---------- > 5 files changed, 193 insertions(+), 59 deletions(-) >