linux-hardened/drivers/video/omap2/dss
Tomi Valkeinen 5aaee69d7f OMAPDSS: DISPC: get dss clock rate from dss driver
Dispc currently gets dispc's fck with clk_get() and uses clk_get_rate()
to get the rate for scaling calculations. This causes a problem with
common clock framework, as omapdss uses the dispc functions inside a
spinlock, and common clock framework uses a mutex in clk_get_rate().

Looking at the DSS clock tree, the above use of the dispc fck is not
quite correct. The DSS_FCLK from PRCM goes to DSS core block, which has
a mux to select the clock for DISPC from various options, so the current
use of dispc fck bypasses that. Fortunately we never change the dispc
clock mux for now.

To fix the issue with clk_get_rate(), this patch caches the dss clock
rate in dss.c when it is set. Dispc will then ask for the clock rate
from dss. While this is not very elegant, it does fix the issue, and
it's not totally wrong when considering that the dispc fck actually
comes via dss.

In the future we should probably look into common clock framework and
see if that could be used to represent the DSS clock tree properly.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-12-12 13:34:13 +02:00
..
apply.c OMAPDSS: move display sysfs init to compat layer 2012-12-07 17:05:58 +02:00
core.c OMAPDSS: use omapdss_compat_init() in other drivers 2012-12-07 17:06:00 +02:00
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 OMAPDSS: DISPC: get dss clock rate from dss driver 2012-12-12 13:34:13 +02:00
dispc.h OMAPDSS: DISPC: Add writeback register offsets and dss features structs 2012-09-26 14:58:50 +03:00
dispc_coefs.c OMAPDSS: DISPC: Fix FIR coefficients 2012-03-06 14:08:23 +02:00
display-sysfs.c OMAPDSS: create display-sysfs.c 2012-11-27 12:47:25 +02:00
display.c OMAPDSS: move display sysfs init to compat layer 2012-12-07 17:05:58 +02:00
dpi.c OMAPDSS: DPI: use dispc's check_timings 2012-12-07 17:05:57 +02:00
dsi.c OMAPDSS: manage framedone irq with mgr ops 2012-12-07 17:05:55 +02:00
dss.c OMAPDSS: DISPC: get dss clock rate from dss driver 2012-12-12 13:34:13 +02:00
dss.h OMAPDSS: DISPC: get dss clock rate from dss driver 2012-12-12 13:34:13 +02:00
dss_features.c OMAPDSS: export dss_feat functions 2012-12-07 17:05:59 +02:00
dss_features.h OMAPDSS: export dss_feat functions 2012-12-07 17:05:59 +02:00
hdmi.c OMAPDSS: manage output-dssdev connection in output drivers 2012-12-07 16:55:04 +02:00
hdmi_panel.c OMAPDSS: HDMI: Make panel return dssdev register errors 2012-11-06 13:33:35 +02:00
Kconfig Merge branch '3.8/vram-conversion' of git://gitorious.org/linux-omap-dss2/linux 2012-11-16 11:42:46 +02:00
Makefile OMAPDSS: separate compat files in the Makefile 2012-12-07 17:05:58 +02:00
manager-sysfs.c OMAPDSS: MANAGER: Update display sysfs store 2012-09-26 14:58:37 +03:00
manager.c OMAPDSS: move ovl-mgr function setup to apply.c 2012-12-07 17:05:54 +02:00
output.c OMAPDSS: export dss_mgr_ops functions 2012-12-07 17:05:59 +02: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: manage framedone irq with mgr ops 2012-12-07 17:05:55 +02:00
sdi.c OMAPDSS: manage output-dssdev connection in output drivers 2012-12-07 16:55:04 +02:00
ti_hdmi.h OMAPDSS: HDMI: Add op to get audio DMA port address offset 2012-11-06 13:33:36 +02:00
ti_hdmi_4xxx_ip.c OMAPDSS: HDMI: Add op to get audio DMA port address offset 2012-11-06 13:33:36 +02:00
ti_hdmi_4xxx_ip.h OMAPDSS: HDMI: Add an audio configuration function 2012-05-11 15:17:08 +03:00
venc.c OMAPDSS: manage output-dssdev connection in output drivers 2012-12-07 16:55:04 +02:00
venc_panel.c OMAPDSS: remove omap_dss_device's suspend/resume 2012-10-24 08:46:23 +03:00