diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-06-05 11:22:46 (GMT) |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-08-18 10:33:58 (GMT) |
commit | b872a8e16b3fb17c3fe1e97f4ed0803f4a740aae (patch) | |
tree | ce8d2a4178dc5fc48aa51f24827cd218b5468125 /include/drm | |
parent | 2fada109cfb7dbfd52f472140d6477a27a1f0d6d (diff) | |
download | linux-b872a8e16b3fb17c3fe1e97f4ed0803f4a740aae.tar.xz |
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