linux/drivers/video/omap2/dss
Tomi Valkeinen ddb1d5ca99 OMAPDSS: HDMI: clean up PHY power handling
The TRM tells to set PHY to TXON only after getting LINK_CONNECT, and to
set PHY to OFF or LDOON after getting LINK_DISCONNECT, in order to avoid
damage to the PHY.

We don't currently do it quite like that. Instead of using the HDMI
interrupts, we use HPD signal. This works, but is not actually quite
correct, as HPD comes at a different time than LINK_CONNECT and
LINK_DISCONNECT interrupts. Also, the HPD GPIO is a property of the TPD
level shifter, not HDMI IP, so handling the GPIO in the HDMI driver is
wrong.

This patch implements the PHY power handling correctly, using the
interrupts.

There is a corner case that causes some additional difficulties: we may
get both LINK_CONNECT and LINK_DISCONNECT interrupts at the same time.
This is handled in the code by retrying: turning off the PHY, clearing
the interrupt status, and re-enabling the PHY. This causes a new
LINK_CONNECT interrupt to happen if a cable is connected.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17 14:00:54 +03:00
..
apply.c OMAPDSS: combine omap_dss_output into omap_dss_device 2013-06-17 14:00:51 +03:00
core.c OMAPDSS: combine omap_dss_output into omap_dss_device 2013-06-17 14:00:51 +03:00
dispc_coefs.c
dispc-compat.c OMAPDSS: move irq handling to dispc-compat 2012-12-07 17:05:57 +02:00
dispc-compat.h OMAPDSS: move irq handling to dispc-compat 2012-12-07 17:05:57 +02:00
dispc.c OMAPDRM: fix overlay manager handling 2013-06-17 14:00:43 +03:00
dispc.h OMAPDSS: DISPC: Revert to older DISPC Smart Standby mechanism for OMAP5 2013-04-10 15:02:53 +03:00
display-sysfs.c OMAPDSS: Add panel dev pointer to dssdev 2013-06-17 14:00:50 +03:00
display.c OMAPDSS: add module_get/put to omap_dss_get/put_device() 2013-06-17 14:00:52 +03:00
dpi.c OMAPDSS: add THIS_MODULE owner to DSS outputs 2013-06-17 14:00:53 +03:00
dsi.c OMAPDSS: add THIS_MODULE owner to DSS outputs 2013-06-17 14:00:53 +03:00
dss_features.c omapdss: Features: Fix some parameter ranges 2013-04-10 15:02:52 +03:00
dss_features.h OMAPDSS: export dss_feat functions 2012-12-07 17:05:59 +02:00
dss.c OMAPDSS: fix dss_get_ctx_loss_count for DT 2013-06-17 14:00:41 +03:00
dss.h OMAPDSS: combine omap_dss_output into omap_dss_device 2013-06-17 14:00:51 +03:00
hdmi_panel.c OMAPDSS: HDMI: Make panel return dssdev register errors 2012-11-06 13:33:35 +02:00
hdmi.c OMAPDSS: HDMI: clean up PHY power handling 2013-06-17 14:00:54 +03:00
Kconfig OMAPDSS: add videomode conversion support 2013-06-17 14:00:47 +03:00
Makefile OMAPDSS: separate compat files in the Makefile 2012-12-07 17:05:58 +02:00
manager-sysfs.c OMAPDSS: Implement display (dis)connect support 2013-06-17 14:00:43 +03:00
manager.c OMAPDSS: split overlay manager creation 2013-06-17 14:00:42 +03:00
output.c OMAPDSS: output: increase refcount in find_output funcs 2013-06-17 14:00:53 +03:00
overlay-sysfs.c OMAPDSS: split overlay sysfs code 2012-09-07 20:02:10 +03:00
overlay.c OMAPDSS: move ovl function setup to apply.c 2012-12-07 17:05:54 +02:00
rfbi.c OMAPDSS: add THIS_MODULE owner to DSS outputs 2013-06-17 14:00:53 +03:00
sdi.c OMAPDSS: add THIS_MODULE owner to DSS outputs 2013-06-17 14:00:53 +03:00
ti_hdmi_4xxx_ip.c OMAPDSS: HDMI: clean up PHY power handling 2013-06-17 14:00:54 +03:00
ti_hdmi_4xxx_ip.h OMAPDSS: HDMI: clean up PHY power handling 2013-06-17 14:00:54 +03:00
ti_hdmi.h OMAPDSS: HDMI: clean up PHY power handling 2013-06-17 14:00:54 +03:00
venc_panel.c OMAPDSS: Add panel dev pointer to dssdev 2013-06-17 14:00:50 +03:00
venc.c OMAPDSS: add THIS_MODULE owner to DSS outputs 2013-06-17 14:00:53 +03:00