linux/drivers/gpu/drm/i2c
Russell King 0fc6f44d96 drm/i2c: tda998x: re-implement "Fix EDID read timeout on HDMI connect"
Commit 6833d26ef8 ("drm: tda998x: Fix EDID read timeout on HDMI
connect") used a weak scheme to try and delay reading EDID on a HDMI
connect event.  It is weak because delaying the notification of a
hotplug event does not stop userspace from trying to read the EDID
within the 100ms delay.

The solution provided here solves this issue:
* When a HDMI connection event is detected, mark a blocking flag for
  EDID reads, and start a timer for the delay.
* If an EDID read is attempted, and the blocking flag is set, wait
  for the blocking flag to clear.
* When the timer expires, clear the blocking flag and wake any thread
  waiting for the EDID read.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-09-15 16:19:48 +01:00
..
adv7511.c drm: adv7511: Fix crash in IRQ handler when no encoder is associated 2015-05-25 15:34:00 +03:00
adv7511.h drm: Add adv7511 encoder driver 2014-11-26 20:09:40 +02:00
ch7006_drv.c drm: encapsulate crtc->set_config calls 2013-01-20 15:57:58 +01:00
ch7006_mode.c drm: Make the .mode_fixup() operations mode argument a const pointer 2012-07-19 21:52:38 -04:00
ch7006_priv.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
Kconfig drm: Add adv7511 encoder driver 2014-11-26 20:09:40 +02:00
Makefile drm: Add adv7511 encoder driver 2014-11-26 20:09:40 +02:00
sil164_drv.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
tda998x_drv.c drm/i2c: tda998x: re-implement "Fix EDID read timeout on HDMI connect" 2015-09-15 16:19:48 +01:00