linux/drivers/gpu/drm/bridge
Laurent Pinchart b0e583e5b6 drm: bridge: dw-hdmi: Fix the PHY power down sequence
The PHY requires us to wait for the PHY to switch to low power mode
after deasserting TXPWRON and before asserting PDDQ in the power down
sequence, otherwise power down will fail.

The PHY power down can be monitored though the TX_READY bit, available
through I2C in the PHY registers, or the TX_PHY_LOCK bit, available
through the HDMI TX registers. As the two are equivalent, let's pick the
easier solution of polling the TX_PHY_LOCK bit.

The power down code is currently duplicated in multiple places. To avoid
spreading multiple calls to a TX_PHY_LOCK poll function, we have to
refactor the power down code and group it all in a single function.

Tests showed that one poll iteration was enough for TX_PHY_LOCK to
become low, without requiring any additional delay. Retrying the read
five times with a 1ms to 2ms delay between each attempt should thus be
more than enough.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Jose Abreu <joabreu@synopsys.com>
Signed-off-by: Archit Taneja <architt@codeaurora.org>
Link: http://patchwork.freedesktop.org/patch/msgid/20170305233539.11898-1-laurent.pinchart+renesas@ideasonboard.com
2017-03-10 14:24:50 +05:30
..
adv7511 drm/bridge: adv7511: Re-write the i2c address before EDID probing 2017-01-19 09:16:58 +05:30
analogix drm/bridge: analogix_dp: add helpers for capture of frame CRCs 2017-03-06 12:14:27 -05:00
analogix-anx78xx.c drm/bridge: Call drm_connector_cleanup directly 2016-10-05 15:20:36 +02:00
analogix-anx78xx.h drm/bridge: Add Analogix anx78xx support 2016-05-12 11:32:14 +02:00
dumb-vga-dac.c drm: bridge: vga-dac: Add adi,adv7123 compatible string 2017-03-05 19:01:44 +05:30
dw-hdmi-ahb-audio.c drm/bridge: dw-hdmi: Delete unnecessary assignment for the field "owner" 2016-08-23 11:34:26 -04:00
dw-hdmi-audio.h drm: bridge: add DesignWare HDMI I2S audio support 2016-11-24 14:27:15 +05:30
dw-hdmi-i2s-audio.c drm: bridge: add DesignWare HDMI I2S audio support 2016-11-24 14:27:15 +05:30
dw-hdmi.c drm: bridge: dw-hdmi: Fix the PHY power down sequence 2017-03-10 14:24:50 +05:30
dw-hdmi.h drm: bridge: dw-hdmi: Fix the name of the PHY reset macros 2017-01-18 09:29:37 +05:30
Kconfig drm: bridge: Add LVDS encoder driver 2017-03-05 19:01:30 +05:30
lvds-encoder.c drm: bridge: lvds-encoder: Add thine,thc63lvdm83d compatible string 2017-03-05 19:01:45 +05:30
Makefile drm: bridge: Add LVDS encoder driver 2017-03-05 19:01:30 +05:30
megachips-stdpxxxx-ge-b850v3-fw.c drm/bridge: Drivers for megachips-stdpxxxx-ge-b850v3-fw (LVDS-DP++) 2017-03-05 18:45:36 +05:30
nxp-ptn3460.c drm: Make the connector .detect() callback optional 2016-12-01 10:05:53 -05:00
parade-ps8622.c drm: Make the connector .detect() callback optional 2016-12-01 10:05:53 -05:00
sii902x.c drm/bridge: Add sii902x driver 2016-06-20 15:55:49 +02:00
sil-sii8620.c drm/bridge/sii8620: add missing error handling in probe 2017-02-23 11:06:11 -05:00
sil-sii8620.h drm/bridge/sii8620: add HSIC initialization code 2017-02-02 15:15:30 +05:30
tc358767.c drm: Make the connector .detect() callback optional 2016-12-01 10:05:53 -05:00
ti-tfp410.c drm/bridge/tfp410: Make symbol tfp410_platform_driver static 2017-02-13 10:46:22 +05:30