Age | Commit message (Collapse) | Author |
|
This will remove the special setting for the watermark level in MCDE for
SDTV out through AV8100. As a consequence MCDE setup is independent of
AV8100 running SDTV or HDMI.
ST-Ericsson ID: AP 329318
Linux-next: ST-Ericsson ID: ER 282779
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: I65e80303a76c9a7887611fea8284cb4598b37c83
Signed-off-by: Marcel Tunnissen <Marcel.Tuennissen@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/18526
Reviewed-by: Jimmy RUBIN <jimmy.rubin@stericsson.com>
Reviewed-by: Per PERSSON <per.xb.persson@stericsson.com>
Tested-by: Marcel TUNNISSEN <marcel.tuennissen@stericsson.com>
Reviewed-by: Dan JOHANSSON <dan.johansson@stericsson.com>
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
|
|
__x32 are defined in linux/types.h which is therefore needed in user space
also. This patch also adds the uncached flag when allocating the FB to
ensure we don't get a cached FB.
Depends-On: I9a45ad54a0cc8a5cdb1e3b9038ad50aeacb3f9c3
ST-Ericsson ID: AP 327001
ST-Ericsson FOSS-OUT ID: STETL-FOSS-OUT-10068
Change-Id: I3df94e161be96dd2f55928daab3eb20837b92c1d
Signed-off-by: Johan Mossberg <johan.xx.mossberg@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/18551
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
|
|
Correction of format checked for in bool is_yvu_fmt.
ST-Ericsson ID: ER 328908
ST-Ericsson FOSS-OUT ID: STETL-FOSS-OUT-10068
Change-Id: I0df2df5ae2226b4828271b9e543c5fd70338a2ca
Signed-off-by: Robert Fekete <robert.fekete@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/18474
Reviewed-by: Maciej SOCHA <maciej.socha@stericsson.com>
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
|
|
Perform queued hwmem API changes. One commit to ease dependency
handling.
Depends-On: I13f249cf5f51f9f138171e8d6f59e1d5d2f72de1, I31030bcfda7cf76d15402c2137576da4f3fb2761, I2dc7e6aa5686492550b5164e50c06ed750ac9e16, Ia12bbb9f378c331cfb9b1376dedb3b7b65f56429, Ibc3404df4876971d8b69272c63120e2fe3bb2787
ST-Ericsson ID: AP 327001
ST-Ericsson FOSS-OUT ID: STETL-FOSS-OUT-10068
Change-Id: I9a45ad54a0cc8a5cdb1e3b9038ad50aeacb3f9c3
Signed-off-by: Johan Mossberg <johan.xx.mossberg@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/17518
Reviewed-by: Robert FEKETE <robert.fekete@stericsson.com>
Conflicts:
drivers/misc/dispdev/dispdev.c
|
|
Fixes the problem that the interlaced fields are swapped sometimes after
configuring CVBS out through AV8100.
ST-Ericsson ID: ER 323997
Linux-next: ST-Ericsson ID: ER 282779
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: I1ff10612f05fce1cdd1d991b50513a93153730e4
Signed-off-by: Marcel Tunnissen <Marcel.Tuennissen@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/18327
Tested-by: Marcel TUNNISSEN <marcel.tuennissen@stericsson.com>
Reviewed-by: Jimmy RUBIN <jimmy.rubin@stericsson.com>
Reviewed-by: Dan JOHANSSON <dan.johansson@stericsson.com>
Reviewed-by: Per PERSSON <per.xb.persson@stericsson.com>
|
|
Adds support for changing the input pixel format of AV8100 dynamically.
ST-Ericsson ID: AP 322393
Linux-next: ST-Ericsson ID: ER 282779
ST-Ericsson FOSS-OUT ID: Trivial
Depends-On: Ie7a821b8d3965aa65384b4393e3083ef406c8282
Change-Id: I026697638bcf87aff5b54346a80a3fcfb9073ae9
Signed-off-by: Marcel Tunnissen <Marcel.Tuennissen@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/17937
Reviewed-by: Dan JOHANSSON <dan.johansson@stericsson.com>
Tested-by: Marcel TUNNISSEN <marcel.tuennissen@stericsson.com>
|
|
Fixes that one line is missing for the AB8500 MCDE display.
ST-Ericsson ID: ER 326380
Linux-next: ST-Ericsson ID: ER 282779
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: Icd88391d8e96c5789f142ddaedcbce202f2c5347
Signed-off-by: Marcel Tunnissen <Marcel.Tuennissen@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/18040
Tested-by: Marcel TUNNISSEN <marcel.tuennissen@stericsson.com>
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
|
|
- Adds a regulator that is used for CVBS TV out by AB8500 DENC and
AV8100 DENC. The regulator is for the switch at the AV connector that
switches between video out and mic in.
ST-Ericsson ID: AP 322391
Linux-next: ST-Ericsson ID: ER 282779
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: Ie7a821b8d3965aa65384b4393e3083ef406c8282
Signed-off-by: Marcel Tunnissen <Marcel.Tuennissen@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/16819
Tested-by: Marcel TUNNISSEN <marcel.tuennissen@stericsson.com>
Reviewed-by: Per PERSSON <per.xb.persson@stericsson.com>
Reviewed-by: Robert FEKETE <robert.fekete@stericsson.com>
Conflicts:
arch/arm/mach-ux500/board-mop500-regulators.c
arch/arm/mach-ux500/board-pdp-mcde.c
|
|
Add an extra dsi_delay0 when 720x480.
ST-Ericsson ID: ER 327665
Change-Id: Ic6de688b52c9df69f91efdd2b0c5b1d17b6e0621
Signed-off-by: Per Persson <per.xb.persson@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/18102
Reviewed-by: Dan JOHANSSON <dan.johansson@stericsson.com>
|
|
ST-Ericsson ID: ER 327932
Change-Id: Idf50a3de8b686ab23fcb88f4d556f0f2e01c0558
Signed-off-by: Per Persson <per.xb.persson@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/17971
Reviewed-by: Jimmy RUBIN <jimmy.rubin@stericsson.com>
Reviewed-by: Dan JOHANSSON <dan.johansson@stericsson.com>
|
|
Use hwmem_kmap instead of ioremap.
ST-Ericsson ID: ER 324769, AP 325234
Change-Id: Iab7cfc16c53cc4628d75024e579e7b430bbdf93d
Signed-off-by: Per Persson <per.xb.persson@stericsson.com>
|
|
Changes handling of channel and overlay registers
in enable_mcde_hw.
Changes how overlays are disabled.
ST-Ericsson ID: ER323826
Change-Id: I376da1e3c7af2f24e694343828b1d6bffdf2f0c8
Signed-off-by: Jimmy Rubin <jimmy.rubin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/15212
Reviewed-by: Per PERSSON <per.xb.persson@stericsson.com>
Reviewed-by: Dan JOHANSSON <dan.johansson@stericsson.com>
|
|
Change the dependencies of MCDE Kconfigs to match the
mach-ux500 update.
Change name of the regulators used by the mcde driver to
match the mach-ux500 update.
Added the EGPIO used by mcde.
Signed-off-by: Robert Marklund <robert.marklund@stericsson.com>
|
|
Signed-off-by: Philippe Langlais <philippe.langlais@linaro.org>
|
|
av8100.c: Simply re-using av8100_ioctl()
hdmi.c: Following other drivers conversion to unlocked_ioctl
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
|
|
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
|
|
from .35 to .38
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
|
|
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
|
|
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
|
|
This reverts commit c7e0c8535d73f8c5bf760926a2bd71c9840cf2ef, reversing
changes made to dfee09c8acf18e84fe197bb5d821d1e4e02d020f.
John Stultz reports that Panda doesn't boot anymore and 'git bisect'
indicated the merge commit itself as the culprit. The resulting kernel
log is:
[ 1.734802] OMAP DSS rev 4.0
[ 1.740417] omap_hwmod: dss_core: _wait_target_disable failed
[ 1.746429] omap_device: omapdss_dss.-1: new worst case deactivate latency 01
[ 1.755035] omapdss DISPC error: can't get dss_clk
[ 1.760101] omapdss_dispc: probe of omapdss_dispc failed with error -2
[ 1.767333] omapdss HDMI error: can't get hdmi_clk
[ 1.772399] omapdss_hdmi: probe of omapdss_hdmi failed with error -2
[ 1.780273] ------------[ cut here ]------------
[ 1.785125] WARNING: at drivers/video/omap2/dss/dispc.c:553dispc_runtime_ge)
[ 1.793640] Modules linked in:
[ 1.796905] ---[ end trace 6fcb132ac310d004 ]---
[ 1.801757] Unable to handle kernel NULL pointer dereference at virtualaddr0
[...]
Revert it so a later version of the arm-soc merge result can be used
instead.
|
|
Conflicts:
arch/arm/mach-omap2/clock44xx_data.c
arch/arm/mach-omap2/omap_hwmod_44xx_data.c
|
|
When releasing framebuffer, free colourmap allocations.
Signed-off-by: Daniel J Blueman <daniel.blueman@gmail.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
Some pieces of userspace like debian-installer expect to find the fb0
driver name by readlink-ing /sys/class/graphics/fb0/device/driver but
this was broken with amba-clcd as it sets up fb_info manually and missed
the .device parent pointer.
Signed-off-by: Loïc Minier <loic.minier@linaro.org>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
The Freescale DIU framebuffer driver defines two constants, MIN_PIX_CLK and
MAX_PIX_CLK, that are supposed to represent the lower and upper limits of
the pixel clock. These values, however, are true only for one platform
clock rate (533MHz) and only for the MPC8610. So the actual range for
the pixel clock is chip-specific, which means the current values are almost
always wrong. The chance of an out-of-range pixel clock being used are also
remote.
Rather than try to detect an out-of-range clock in the DIU driver, we depend
on the board-specific pixel clock function (e.g. p1022ds_set_pixel_clock)
to clamp the pixel clock to a supported value.
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
The situation in which the problem occurred was with a Plugable UGA-2K-A
connected to a Samsung EX2220X display. The driver indicates that
1920x1080 is a valid mode (the first mode available, in fact), but
proceeds to set the framebuffer size to 1600x1200.
The patch corrects what seems to be a logic error, regarding unsetting
the FB_MISC_1ST_DETAIL flag, if the first (top/best) mode is invalid.
The existing code unset the flag if ANY mode was invalid.
Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-3.x into fbdev-fixes-for-linus
|
|
In hecubafb_probe(), after a successful try_module_get, vzalloc may
fail and make the hecubafb_probe return, but the module is not put on
this error path.
This patch adds an exit point that calls module_put in such situation.
Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Pavel Shved <shved@ispras.ru>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
Fix section mismatch warning in sm501fb:
WARNING: drivers/video/sm501fb.o(.text+0x21d6): Section mismatch in reference from the function sm501fb_init_fb() to the variable .devinit.data:sm501_default_mode
The function sm501fb_init_fb() references
the variable __devinitdata sm501_default_mode.
This is often because sm501fb_init_fb lacks a __devinitdata
annotation or the annotation of sm501_default_mode is wrong.
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
Fix a chain of section mismatches in geode driver, beginning with:
WARNING: drivers/video/geode/gx1fb.o(.data+0x70): Section mismatch in reference from the variable gx1fb_driver to the function .init.text:gx1fb_probe()
The variable gx1fb_driver references
the function __init gx1fb_probe()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
Making the changes that Paul pointed out resulted in a few more
changes being needed, so they are all included here.
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
The check was intended to test if we have a valid pointer to write into,
but it mistakenly checks the pointer contents instead.
Since a valid pointer is mandatory for the chroma data if a YCbCr format
is used, the pointer check has been removed.
Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
The current method of saving and restoring the context could cause a
restore before saving, effectively "restoring" zero values to registers.
Add ctx_valid field to indicate if the saved context is valid and can be
restored.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
The current method of saving and restoring the context could cause a
restore before saving, effectively "restoring" zero values to registers.
Add ctx_valid field to indicate if the saved context is valid and can be
restored.
Also restructure the code to save the ctx_loss_count in save_context(),
which makes more sense than the previous method of storing new
ctx_loss_count in dispc_need_ctx_restore.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
dss.c only saves 1 register (3 in OMAP3) so the extra overhead from
need_ctx_restore & co. is probably bigger than the time spent saving and
restoring those few registers every time.
So remove the code from dss.c and restore context every time dss has
been off.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
dispc.c enables and disables clocks in almost every function to make
sure the clocks are enabled when the function is called. This is rather
unoptimal way to handle the problem.
With pm_runtime other components have to call dispc_runtime_get() to
enable dispc clocks before calling any other dispc functions. Thus the
finegrained clk enables/disables can be removed.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
Use PM runtime and HWMOD support to handle enabling and disabling of DSS
modules.
Each DSS module will have get and put functions which can be used to
enable and disable that module. The functions use pm_runtime and hwmod
opt-clocks to enable the hardware.
Acked-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
CONFIG_OMAP2_DSS_SLEEP_BEFORE_RESET is used to avoid an unclear bug at
DSS reset time. The pm runtime will handle reset in the future, and this
code has to be removed. Hopefully we won't see this error anymore.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
Currently dss.c does all the low level clock handling in the DSS, and
thus it contains pointers to all the clocks. This allows dss.c to dump
the clock information for all the clocks.
With pm_runtime this is no longer the case, as each submodule will
handle its clocks independently. Thus remove the core_dump_clocks
function as it cannot be used with pm_runtime.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
OMAP2 doesn't have CPR, PRELOAD nor FIR_COEF_V registers. Add new
feature definitions for those, and check the feature before accessing
those registers.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
OMAP3430 requires an 96MHz clock to VENC's DAC, but no other OMAP needs
it.
Add a new feature, FEAT_VENC_REQUIRES_TV_DAC_CLK, which tells if the
clock is needed on this platform, and use that feature in venc.c to
decide if the clock needs enabling.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
DSI PLL requires sys_clk to function, and DPI enables sys_clk when it
wants to use DSI PLL. However, DSI PLL code already handles enabling
sys_clk, so DPI's sys_clk code is extra.
Remove the unneeded sys_clk handling from dpi.c.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
The function to get device's context loss count has changed from
omap_pm_get_last_off_on_transaction_id() to
omap_pm_get_dev_context_loss_count()
Change name of the function pointer in omapdss.h accordingly, and use
the term "context loss count" instead of "context id" in the code.
Restructure the context loss count functions to handle errors properly,
and ensure that context is always considered lost if an error happens.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
DSS enables core clocks for the duration of initialization to avoid
unnecessary context saves and restores.
With PM runtime the clocks cannot be handled in this way, outside the
dss module drivers. Thus we need to remove the optimization.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
The initialization order of the DSS modules is important when pm_runtime
support is implemented. Currently RFBI is initialized before DISPC,
which will cause problems with pm_runtime as RFBI uses DISPC.
Change the init order so that DISPC is before RFBI.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
Both dss.c and dsi.c had a probe function, which was almost a dummy one,
calling dss_init() and dsi_init().
Remove the init functions by moving the initialization code into probe
functions.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
Get and put for dpll4_m4_ck was handled in dss_init/dss_exit. Move the
code to dss_get/put_clocks(), which is a better place to handle it.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
LANEx_ULPS_SIG2 bits are left on after entering ULPS. This doesn't cause
any problems currently, as DSI HW is reset when it is enabled. However,
if the reset is not done, operation fails if the bits are still set.
So reset the bits after entering ULPS to ensure operation even without
HW reset.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
If ULPS exit fails, and the following reset fails also, Taal driver was
left in state where it thinks DSI is enabled while it really isn't,
leading to crash.
This patch checks the return value of taal_panel_reset, and if that
fails, ulps_enabled is left true, causing the driver to retry ulps exit
later.
Also the return value of taal_wake_up is checked at taal_disable, and if
wake up fails, we'll skip the power_off. This could leave the panel into
a not-quite-valid state, but there's nothing we can do about it in that
situation.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-3.x
* 'fbdev-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-3.x:
fbdev: sh_mobile_hdmi: fix regression: statically enable RTPM
fbdev/atyfb: Fix 2 defined-but-not-used warnings
efifb: Fix call to wrong unregister function
video: s3c-fb: move enabling channel for window
video: s3c-fb: fix virtual resolution checking
video: s3c-fb: fix misleading kfree in remove function
|
|
Remove the whole update_mode stuff from omapdss driver. If automatic
update for manual update displays is needed, it's better implemented in
higher layers.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
Implement auto-update mode for manual-update displays. omapfb driver
uses a delayed work to update the display with a constant rate.
The update mode can be changed via OMAPFB_SET_UPDATE_MODE ioctl, which
previously called omapdss but is now handled inside omapfb, and a new
sysfs file, "update_mode".
The update interval is by default 20 times per second, but can be
changed via "auto_update_freq" module parameter. There is also a new
module parameter "auto_update", which will make omapfb start manual
update displays in auto-update mode.
This auto-update mode can be used for testing if the userspace does not
support manual update displays properly. However, it is a very
inefficient solution, and should be considered more as a hack for
testing than something that could be used as a long term solution.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|