linux_dsm_epyc7002/drivers/video/fbdev
Jyri Sarha 8a9d4626db OMAPDSS: hdmi: Reconfigure and restart audio when display is enabled
Reconfigure and restart audio when display is enabled, if audio
playback was active before. This is needed in a situation when an
audio+video stream application opens the audio stream before the
video. When video stream is opened the display mode may change and
that aborts audio playback, because the display is momentarily
turned off.

The audio configuration is stored when it is successfully applied and
a boolean is set when the audio playback is started and unset when
stopped. This data is used to reconfigure the audio when display is
re-enabled. The audio playback is aborted if the reconfiguration fails.

A new spin lock is introduced in order to protect state variables
related to audio playback status. This is needed for the transition
from display enabled state (when audio start/stop commands can be
written to HW) to display disabled state (when audio start/stop
commands update only the hdmi.audio_playing variable) to always
serialize correctly with the start/stop audio commands. The already
existing mutex can not be used, because the audio start and stop
commands are executed in atomic context.

For example: when display is turned back on we take the spinlock and
we can be sure that the audio start/stop status will not change while
we update the HW according to hdmi.audio_playing state and set
hdmi.display_enabled to true. After releasing the lock
hdmi.display_enabled is true and all audio_start and audio_stop
commands write their stuff directly to HW.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2015-09-24 13:46:09 +03:00
..
aty Linux 4.2-rc8 2015-08-25 09:59:19 +02:00
core fbdev: fix snprintf() limit in show_bl_curve() 2015-09-01 13:52:23 +03:00
exynos Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
geode video: fbdev: geode gxfb: use ioremap_wc() for framebuffer 2015-06-03 12:41:53 +03:00
i810 video: fbdev: i810: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:51 +03:00
intelfb video: fbdev: intelfb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:49 +03:00
kyro drivers/video/fbdev/kyrofb: Use arch_phys_wc_add() and pci_ioremap_wc_bar() 2015-08-25 09:59:44 +02:00
matrox video: fbdev: matrox: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:49 +03:00
mb862xx video: fbdev: mb862xx: drop owner assignment from platform_drivers 2014-10-20 16:21:52 +02:00
mbx video/mbx: indent some if statements 2014-07-01 13:32:30 +03:00
mmp video/mmpfb: allow modular build 2015-01-30 09:45:20 +02:00
nvidia video: fbdev: nvidia: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:50 +03:00
omap video: omap/h3: fix tps65010 dependency 2015-05-27 12:54:47 +03:00
omap2 OMAPDSS: hdmi: Reconfigure and restart audio when display is enabled 2015-09-24 13:46:09 +03:00
riva video: fbdev: rivafb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:52 +03:00
savage video: fbdev: savagefb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:50 +03:00
sis video: fbdev: sisfb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:50 +03:00
vermilion x86: Use new cache mode type in drivers/video/fbdev/vermilion 2014-11-16 11:04:25 +01:00
via fbdev: via/via_clock: fix sparse warning 2015-03-02 13:17:25 +02:00
68328fb.c video: 68328fb: remove check for CONFIG_FB_68328_INVERT 2014-06-24 10:55:13 +03:00
acornfb.c
acornfb.h
amba-clcd-versatile.c video: move Versatile CLCD helpers 2014-06-27 10:15:22 +02:00
amba-clcd.c video: ARM CLCD: Add missing error check for devm_kzalloc 2015-02-26 10:23:15 +02:00
amifb.c fbdev changes for 4.2 2015-06-23 16:23:30 -07:00
arcfb.c
arkfb.c drivers/video/fbdev/arkfb.c: Use arch_phys_wc_add() and pci_iomap_wc() 2015-08-25 09:59:45 +02:00
asiliantfb.c
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atafb.c video/fbdev, asm/io.h: Remove ioremap_writethrough() 2015-06-07 15:28:57 +02:00
atafb.h
atmel_lcdfb.c video: fbdev: atmel_lcdfb: remove useless include 2015-09-02 14:24:51 +03:00
au1100fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
au1100fb.h MIPS: Alchemy: au1100fb: use clk framework 2014-07-30 14:10:39 +02:00
au1200fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
au1200fb.h
auo_k190x.c
auo_k190x.h
auo_k1900fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
auo_k1901fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
bf54x-lq043fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
bf537-lq035.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
bfin_adv7393fb.c fb: adv7393: add missing semicolon 2014-07-01 13:18:38 +03:00
bfin_adv7393fb.h
bfin-lq035q1-fb.c
bfin-t350mcqb-fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
broadsheetfb.c fbdev/broadsheetfb: fix memory leak 2015-01-13 15:13:45 +02:00
bt431.h
bt455.h
bw2.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
c2p_core.h
c2p_iplan2.c
c2p_planar.c
c2p.h
carminefb_regs.h
carminefb.c
carminefb.h
cg3.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
cg6.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
cg14.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
chipsfb.c fbdev: Remove __init from chips_hw_init() to fix build failure 2014-08-26 12:48:34 +03:00
cirrusfb.c
clps711x-fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
clps711xfb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
cobalt_lcdfb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
controlfb.c powerpc: Move Power Macintosh drivers to generic byteswappers 2015-03-23 14:29:40 +11:00
controlfb.h
cyber2000fb.c video: fbdev: cyber2000fb.c: use container_of to resolve cfb_info from fb_info 2014-09-30 13:06:01 +03:00
cyber2000fb.h
da8xx-fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
dnfb.c
edid.h
efifb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
ep93xx-fb.c ARM/fb: ep93xx: switch framebuffer to use modedb only 2015-08-13 12:25:44 +02:00
fb-puv3.c drivers/video/fbdev/fb-puv3.c: Add header files for function unifb_mmap 2014-05-23 13:51:10 +03:00
ffb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
fm2fb.c
fsl-diu-fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
g364fb.c
gbefb.c video: fbdev: gbefb: use arch_phys_wc_add() and devm_ioremap_wc() 2015-06-03 12:41:46 +03:00
goldfishfb.c
grvga.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
gxt4500.c drivers/video/fbdev/gxt4500: Use pci_ioremap_wc_bar() to map framebuffer 2015-08-25 09:59:44 +02:00
hecubafb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
hgafb.c video: hgafb: remove unneeded comparison 2015-01-26 14:43:06 +02:00
hitfb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
hpfb.c video/fbdev, asm/io.h: Remove ioremap_writethrough() 2015-06-07 15:28:57 +02:00
hyperv_fb.c drivers:hv: Move MMIO range picking from hyper_fb to hv_vmbus 2015-08-05 11:41:31 -07:00
i740_reg.h
i740fb.c drivers/video/fbdev/i740fb: Use arch_phys_wc_add() and pci_ioremap_wc_bar() 2015-08-25 09:59:44 +02:00
igafb.c
imsttfb.c fbdev: imsttfb: remove the dependency on PPC_OF 2015-03-17 20:04:31 +11:00
imxfb.c video: fbdev: imxfb: Constify platform_device_id 2015-06-12 12:40:27 +03:00
jz4740_fb.c
Kconfig fbdev changes for 4.3 2015-09-08 16:42:55 -07:00
leo.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
macfb.c
macmodes.c
macmodes.h
Makefile staging: sm7xxfb: merge sm712fb with fbdev 2015-08-07 15:05:01 -07:00
maxinefb.c
metronomefb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
mx3fb.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
mxsfb.c video: fbdev: mxsfb: Constify platform_device_id 2015-06-12 12:40:27 +03:00
n411.c
neofb.c video: fbdev: neofb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:49 +03:00
nuc900fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
nuc900fb.h
ocfb.c cleanup IORESOURCE_CACHEABLE vs ioremap() 2015-08-10 23:07:06 -04:00
offb.c Revert "offb: Add palette hack for little endian" 2014-06-16 19:45:45 +10:00
p9100.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
platinumfb.c powerpc: Move Power Macintosh drivers to generic byteswappers 2015-03-23 14:29:40 +11:00
platinumfb.h
pm2fb.c video: fbdev: pm2fb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:51 +03:00
pm3fb.c video: fbdev: pm3fb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:52 +03:00
pmag-aa-fb.c
pmag-ba-fb.c
pmagb-b-fb.c
ps3fb.c
pvr2fb.c mm: gup: use get_user_pages_unlocked 2015-02-11 17:06:05 -08:00
pxa3xx-gcu.c video: fbdev: pxa3xx_gcu: prepare the clocks 2015-08-10 12:25:43 +03:00
pxa3xx-gcu.h
pxa168fb.c video: fbdev: pxa168fb: Use devm_clk_get 2015-09-01 13:55:32 +03:00
pxa168fb.h
pxafb.c cpufreq: remove redundant CPUFREQ_INCOMPATIBLE notifier event 2015-09-01 15:50:38 +02:00
pxafb.h
q40fb.c
s1d13xxxfb.c arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead 2015-08-10 23:07:05 -04:00
s3c2410fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
s3c2410fb.h
s3c-fb.c video: fbdev: s3c-fb: Constify platform_device_id 2015-08-21 08:56:19 +03:00
s3fb.c drivers/video/fbdev/s3fb: Use arch_phys_wc_add() and pci_iomap_wc() 2015-08-25 09:59:45 +02:00
sa1100fb.c cpufreq: remove redundant CPUFREQ_INCOMPATIBLE notifier event 2015-09-01 15:50:38 +02:00
sa1100fb.h ARM: 8244/1: fbdev: sa1100fb: make use of device clock 2014-12-05 16:30:25 +00:00
sbuslib.c
sbuslib.h
sh7760fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
sh_mipi_dsi.c
sh_mobile_hdmi.c fbdev: sh_mobile_hdmi: Re-init regs before irq re-enable on resume 2014-09-30 13:42:13 +03:00
sh_mobile_lcdcfb.c fbdev: sh_mobile_lcdc: Fix destruction of uninitialized mutex 2015-04-07 16:24:15 +03:00
sh_mobile_lcdcfb.h
sh_mobile_meram.c More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
simplefb.c simplefb: Include clk.h 2015-07-20 10:52:46 -07:00
skeletonfb.c
sm501fb.c fbdev: sm501fb: use memset_io 2015-03-02 13:17:24 +02:00
sm712.h staging: sm7xxfb: merge sm712fb with fbdev 2015-08-07 15:05:01 -07:00
sm712fb.c staging: sm7xxfb: merge sm712fb with fbdev 2015-08-07 15:05:01 -07:00
smscufx.c video: smscufx: Deletion of unnecessary checks before the function call "vfree" 2014-12-04 16:16:01 +02:00
ssd1307fb.c fbdev: ssd1307fb: fix error return code 2015-09-01 13:52:23 +03:00
sstfb.c
sticore.h
stifb.c arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead 2015-08-10 23:07:05 -04:00
sunxvr500.c
sunxvr1000.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
sunxvr2500.c
tcx.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
tdfxfb.c video: fbdev: tdfxfb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:52 +03:00
tgafb.c
tmiofb.c
tridentfb.c
udlfb.c fbdev: udlfb: remove unneeded initialization in few places 2015-08-20 10:32:40 +03:00
uvesafb.c kernel/params: constify struct kernel_param_ops uses 2015-05-28 11:32:10 +09:30
valkyriefb.c video: fbdev: valkyriefb.c: use container_of to resolve fb_info_valkyrie from fb_info 2014-09-30 13:06:01 +03:00
valkyriefb.h
vesafb.c video: fbdev: vesafb: use arch_phys_wc_add() 2015-06-16 09:42:11 +03:00
vfb.c fbdev: remove unnecessary memset in vfb 2015-08-20 12:03:53 +03:00
vga16fb.c
vt8500lcdfb.c video: vt8500lcdfb: remove unneeded continue 2015-01-13 13:35:04 +02:00
vt8500lcdfb.h
vt8623fb.c drivers/video/fbdev/vt8623fb: Use arch_phys_wc_add() and pci_iomap_wc() 2015-08-25 09:59:45 +02:00
w100fb.c
w100fb.h
wm8505fb_regs.h
wm8505fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
wmt_ge_rops.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
wmt_ge_rops.h
xen-fbfront.c video/xen-fbfront: Further s/MFN/GFN clean-up 2015-09-08 18:03:53 +01:00
xilinxfb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00