• R
    drm: bridge/dw_hdmi: fix phy enable/disable handling · b872a8e1
    Russell King 提交于
    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: NRussell King <rmk+kernel@arm.linux.org.uk>
    b872a8e1
dw_hdmi.c 47.2 KB