kernel-hacking-2024-linux-s.../drivers/video
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
..
aty
backlight Removal of GENERIC_GPIO for v3.10 2013-05-09 09:59:16 -07:00
console staging/solo6x10: depend on CONFIG_FONTS 2013-05-16 15:37:50 -07:00
exynos Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-04-30 09:36:50 -07:00
geode
i810
intelfb
kyro
logo
matrox matroxfb: convert struct i2c_msg initialization to C99 format 2013-04-29 15:54:26 -07:00
mb862xx
mbx
mmp drivers/video/mmp: remove legacy hw definitions 2013-04-29 15:54:27 -07:00
msm new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
nvidia
omap ARM: OMAP: remove "config FB_OMAP_CONSISTENT_DMA_SIZE" 2013-04-10 15:03:31 +03:00
omap2 OMAPDSS: HDMI: clean up PHY power handling 2013-06-17 14:00:54 +03:00
riva
savage
sis
vermilion fbdev/vermillion: use vm_iomap_memory() 2013-04-24 08:41:42 +03:00
via
68328fb.c
acornfb.c
acornfb.h
amba-clcd.c
amifb.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-04-30 09:36:50 -07:00
arcfb.c
arkfb.c
asiliantfb.c
atafb.c
atafb.h
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atmel_lcdfb.c atmel_lcdfb: blank the backlight on remove 2013-06-01 03:18:55 +08:00
au1100fb.c MIPS: remove obsolete Kconfig macros 2013-05-08 01:19:06 +02:00
au1100fb.h
au1200fb.c
au1200fb.h
auo_k190x.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-04-30 09:36:50 -07:00
auo_k190x.h
auo_k1900fb.c AUO-K190x: add runtime-pm calls to controller init functions 2013-04-04 13:08:06 +03:00
auo_k1901fb.c AUO-K190x: add runtime-pm calls to controller init functions 2013-04-04 13:08:06 +03:00
bf54x-lq043fb.c
bf537-lq035.c
bfin-lq035q1-fb.c
bfin-t350mcqb-fb.c
bfin_adv7393fb.c procfs: new helper - PDE_DATA(inode) 2013-04-09 14:13:32 -04:00
bfin_adv7393fb.h
broadsheetfb.c
bt431.h
bt455.h
bw2.c
c2p.h
c2p_core.h
c2p_iplan2.c
c2p_planar.c
carminefb.c
carminefb.h
carminefb_regs.h
cfbcopyarea.c
cfbfillrect.c
cfbimgblt.c
cg3.c
cg6.c
cg14.c
chipsfb.c
cirrusfb.c powerpc: remove PReP platform 2013-04-18 13:03:53 +10:00
clps711xfb.c
cobalt_lcdfb.c
controlfb.c fbdev/controlfb: use vm_iomap_memory() 2013-04-24 08:41:41 +03:00
controlfb.h
cyber2000fb.c
cyber2000fb.h
da8xx-fb.c
display_timing.c
dnfb.c
edid.h
efifb.c
ep93xx-fb.c drivers/video/ep93xx-fb.c: fix section mismatch and use module_platform_driver 2013-04-29 15:54:26 -07:00
fb-puv3.c fbdev/fb-puv3: use vm_iomap_memory() 2013-04-24 08:41:41 +03:00
fb_ddc.c
fb_defio.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
fb_draw.h
fb_notify.c
fb_sys_fops.c
fbcmap.c
fbcvt.c
fbmem.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2013-05-02 19:40:34 -07:00
fbmon.c Merge branch '3.10/fb-mmap' into for-next 2013-04-26 09:14:47 +03:00
fbsysfs.c
ffb.c
fm2fb.c
fsl-diu-fb.c drivers/video: fsl-diu-fb: add hardware cursor support 2013-04-10 15:03:32 +03:00
g364fb.c
gbefb.c fbdev: improve fb_mmap bounds checks 2013-04-26 08:28:56 +03:00
goldfishfb.c treewide: Fix typos in printk 2013-03-20 16:26:32 +01:00
grvga.c
gxt4500.c
hdmi.c video: hdmi: Relicense under MIT 2013-04-12 14:01:40 +10:00
hecubafb.c
hgafb.c
hitfb.c
hpfb.c
hyperv_fb.c drivers/video: add Hyper-V Synthetic Video Frame Buffer Driver 2013-04-29 15:54:26 -07:00
i740_reg.h
i740fb.c
igafb.c
imsttfb.c
imxfb.c
jz4740_fb.c
Kconfig fbdev: FB_GOLDFISH should depend on HAS_DMA 2013-05-24 16:22:52 -07:00
leo.c
macfb.c
macmodes.c
macmodes.h
Makefile drivers/video: implement a simple framebuffer driver 2013-05-24 16:22:51 -07:00
maxinefb.c
metronomefb.c
modedb.c
mx3fb.c
mxsfb.c video: mxsfb: Adapt to new videomode API 2013-05-09 13:06:00 -07:00
n411.c
neofb.c
nuc900fb.c
nuc900fb.h
of_display_timing.c videomode: combine videomode dmt_flags and data_flags 2013-03-12 15:46:52 +02:00
of_videomode.c videomode: videomode_from_timing work 2013-03-21 14:34:33 +02:00
offb.c
output.c
p9100.c
platinumfb.c
platinumfb.h
pm2fb.c
pm3fb.c
pmag-aa-fb.c
pmag-ba-fb.c
pmagb-b-fb.c
ps3fb.c fbdev/ps3fb: fix compile warning 2013-05-02 14:59:21 +03:00
pvr2fb.c
pxa3xx-gcu.c pxa3xx-gcu: stop embedding file_operations into device-private object 2013-04-09 14:16:40 -04:00
pxa3xx-gcu.h
pxa168fb.c
pxa168fb.h
pxafb.c
pxafb.h
q40fb.c
s1d13xxxfb.c treewide: Fix typo in printks 2013-04-12 15:21:36 +02:00
s3c-fb.c video/s3c: move platform_data out of arch/arm 2013-04-11 14:49:20 +03:00
s3c2410fb.c
s3c2410fb.h
s3fb.c
sa1100fb.c fbdev/sa1100fb: use vm_iomap_memory() 2013-04-24 08:41:41 +03:00
sa1100fb.h
sbuslib.c
sbuslib.h
sgivwfb.c fbdev/sgivwfb: use vm_iomap_memory() 2013-04-24 08:41:42 +03:00
sh7760fb.c
sh_mipi_dsi.c drivers: video: use module_platform_driver_probe() 2013-04-10 15:03:31 +03:00
sh_mobile_hdmi.c drivers: video: use module_platform_driver_probe() 2013-04-10 15:03:31 +03:00
sh_mobile_lcdcfb.c fbdev: sh_mobile_lcdc: fixup B side hsync adjust settings 2013-03-27 22:47:24 +09:00
sh_mobile_lcdcfb.h
sh_mobile_meram.c
simplefb.c drivers/video: implement a simple framebuffer driver 2013-05-24 16:22:51 -07:00
skeletonfb.c
sm501fb.c
smscufx.c fbdev: improve fb_mmap bounds checks 2013-04-26 08:28:56 +03:00
ssd1307fb.c treewide: Fix typo in printks 2013-04-12 15:21:36 +02:00
sstfb.c
sticore.h
stifb.c
sunxvr500.c
sunxvr1000.c
sunxvr2500.c
svgalib.c
syscopyarea.c
sysfillrect.c
sysimgblt.c
tcx.c
tdfxfb.c
tgafb.c
tmiofb.c
tridentfb.c
udlfb.c fbdev: improve fb_mmap bounds checks 2013-04-26 08:28:56 +03:00
uvesafb.c video/uvesafb: rename random32() to prandom_u32() 2013-04-29 18:28:43 -07:00
valkyriefb.c
valkyriefb.h
vesafb.c
vfb.c fbdev: improve fb_mmap bounds checks 2013-04-26 08:28:56 +03:00
vga16fb.c
vgastate.c
videomode.c videomode: videomode_from_timing work 2013-03-21 14:34:33 +02:00
vt8500lcdfb.c video: fb: vt8500: Convert framebuffer drivers to standardized binding 2013-04-04 13:07:34 +03:00
vt8500lcdfb.h
vt8623fb.c
w100fb.c
w100fb.h
wm8505fb.c video: wm8505fb: Convert to devm_ioremap_resource() 2013-04-10 11:15:49 +03:00
wm8505fb_regs.h
wmt_ge_rops.c
wmt_ge_rops.h video: vt8500: Make wmt_ge_rops optional 2013-04-04 13:07:33 +03:00
xen-fbfront.c
xilinxfb.c