aboutsummaryrefslogtreecommitdiffstats
path: root/include/drm
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2015-06-05 12:22:46 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2015-08-18 11:33:58 +0100
commitb872a8e16b3fb17c3fe1e97f4ed0803f4a740aae (patch)
treece8d2a4178dc5fc48aa51f24827cd218b5468125 /include/drm
parentdrm: bridge/dw_hdmi: rename dw_hdmi_phy_enable_power() (diff)
downloadlinux-dev-b872a8e16b3fb17c3fe1e97f4ed0803f4a740aae.tar.xz
linux-dev-b872a8e16b3fb17c3fe1e97f4ed0803f4a740aae.zip
drm: bridge/dw_hdmi: fix phy enable/disable handling
The dw_hdmi enable/disable handling is particularly weak in several regards: * The hotplug interrupt could call hdmi_poweron() or hdmi_poweroff() while DRM is setting a mode, which could race with a mode being set. * Hotplug will always re-enable the phy whenever it detects an active hotplug signal, even if DRM has disabled the output. Resolve all of these by introducing a mutex to prevent races, and a state-tracking bool so we know whether DRM wishes the output to be enabled. We choose to use our own mutex rather than ->struct_mutex so that we can still process interrupts in a timely fashion. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/drm')
0 files changed, 0 insertions, 0 deletions