aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video
AgeCommit message (Collapse)AuthorFilesLines
2012-09-07OMAPDSS: Improve fifo management codeTomi Valkeinen1-8/+31
OMAP4+ allows assigning the overlay FIFOs freely, but that is not supported by omapdss yet. This patch takes a step forward by improving the fifo management to be more flexible. dispc.c is changed to keep track of the sizes of each fifo, and also the overlay using each fifo. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-09-07Revert "OMAPDSS: APPLY: add fifo merge support funcs"Tomi Valkeinen1-43/+0
This reverts commit fb0119742291b6f30cd97026ee137b2d3d1f4de8. Adding fifo merge feature as an omapdss internal configuration was a mistake. We cannot hide from the users of omapdss the complexities of fifo merge. The previous commit removed fifo merge itself, and this removes the remaining fifo merge support functions. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-09-07Revert "OMAPDSS: APPLY: add fifo-merge support"Tomi Valkeinen1-146/+8
This reverts commit 1d71f42b35ed66d90a9a39bc515bb16cfe2d4a46. Adding fifo merge feature as an omapdss internal configuration was a mistake. We cannot hide from the users of omapdss the complexities of fifo merge. This commit removes the fifo merge support, which luckily is easily done as it was handled totally inside apply.c. Note that this is not a 1:1 revert, but some resolving was needed for the dss_ovl_setup_fifo. The plan is to try fifo merge again later when it is more clear how the hardware acts in various situations, and how the omapdrm wants to use fifo merge. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-09-07OMAPDSS: clean up dss_mgr_set_timingsTomi Valkeinen1-10/+8
dss_mgr_set_timings() can only be called when the output is not active. This means that most of the code in the function is extra, as there's no need to write the values to registers, etc, because that will be handled when the output will be enabled. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-09-07OMAPDSS: clean up dss_mgr_set_lcd_configTomi Valkeinen1-12/+2
dss_mgr_set_lcd_config() can only be called when the output is not active. This means that most of the code in the function is extra, as there's no need to write the values to registers, etc, because that will be handled when the output will be enabled. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-09-07OMAPDSS: split manager sysfs codeTomi Valkeinen4-461/+506
Separate sysfs code for managers to a separate file. This is a bit cleaner, and will allow us later to easily switch off the sysfs support via Kconfig option. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-09-07OMAPDSS: split overlay sysfs codeTomi Valkeinen4-419/+462
Separate sysfs code for overlays to a separate file. This is a bit cleaner, and will allow us later to easily switch off the sysfs support via Kconfig option. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-09-07OMAPDSS: TFP410: use devm_gpio_request_oneTomi Valkeinen1-11/+3
Use devm_ version instead of the regular gpio_request_one to simplify the error handling. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-09-07OMAPDSS: Taal: Reogranize for device treeTomi Valkeinen1-53/+74
Reorganize taal driver to make it easier to integrate device tree code. Instead of storing the panel's platform data, we'll "parse" the platform data and store the required information in driver's own data. This way adding device tree data parsing is simple. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-09-07OMAPDSS: VRAM: Remove clearing with sDMATomi Valkeinen1-56/+0
Currently vram.c clears the allocated memory automatically using OMAP system DMA. In an effort to reduce OMAP dependencies, we'll do the memory clear with CPU from now on. The previous patch implemented memory clear in the omapfb driver, and this patch removes the now obsolete clear functionality from vram.c. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>
2012-09-07OMAPFB: clear framebuffers with CPUTomi Valkeinen1-0/+26
Currently vram.c clears the allocated memory automatically using OMAP system DMA. In an effort to reduce OMAP dependencies, we'll do the memory clear with CPU from now on. This patch implements clearing of the framebuffer in omapfb, using cfb_fillrect() to do the actual clear. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-09-07OMAPDSS: remove unnecessary includesTomi Valkeinen6-7/+0
Remove unnecessary includes from omapdss. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-09-07OMAPFB1: remove a non-used tableTomi Valkeinen1-9/+0
The old omapfb driver contains a table for DMA element types, which is not used. Remove it. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-09-07OMAPFB1: remove unnecessary includesTomi Valkeinen3-3/+0
Remove unnecessary includes from the old omapfb driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-09-07OMAPDSS: Taal: use devm_* functionsTomi Valkeinen1-74/+44
Use devm_ functions in panel-taal.c's probe when possible. Also reorder the initialization sequence so that devm_ allocations are done before things that require explicit freeing. This simplifies the probe and remove functions. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-09-07OMAPDSS: fix use of dssdev->capsTomi Valkeinen4-6/+3
Recent commit dca2b1522ccab28d03fb79f6e70e70ea78033d52 (OMAPDSS: DSI: Maintain copy of operation mode in driver data) broke DSI for video mode displays. The commit changed the way dssdev->caps are initialized, and the result was that every DSI display is initialized with manual-update and tear-elim caps. The code that sets dssdev->caps is not very good, even when fixed. omapdss driver shouldn't be writing dssdev->caps at all. This patch fixes the problem with video mode displays by moving the initialization of dssdev->caps to the panel driver. The same change is done for RFBI. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-09-07OMAPDSS: DSI: calculate dsi clockTomi Valkeinen2-0/+132
Currently the way to configure clocks related to DSI (both DSI and DISPC clocks) happens via omapdss platform data. The reason for this is that configuring the DSS clocks is a very complex problem, and it's impossible for the SW to know requirements about things like interference. However, for general cases it should be fine to calculate the dividers for clocks in the SW. The calculated clocks are probably not perfect, but should work. This patch adds support to calculate the dividers when using DSI command mode panels. The panel gives the required DDR clock rate and LP clock rate, and the DSI driver configures itself and DISPC accordingly. This patch is somewhat ugly, though. The code does its job by modifying the platform data where the clock dividers would be if the board file gave them. This is not how it's going to be in the future, but allows us to have quite simple patch and keep the backward compatibility. It also allows the developer to still give the exact dividers from the board file when there's need for that, as long as the panel driver does not override them. There are also other areas for improvement. For example, it would be better if the panel driver could ask for a DSI clock in a certain range, as, at least command mode panels, the panel can work fine with many different clock speeds. While the patch is not perfect, it allows us to remove the hardcoded clock dividers from the board file, making it easier to bring up a new panel and to use device tree from omapdss. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-09-07OMAPDSS: Add DSI fclk maximum to dss_featuresTomi Valkeinen2-0/+3
Add max value of DSI functional clock to dss_features, so that DSI driver can use it. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-09-07OMAPDSS: HDMI: use vdda_hdmi_dacTomi Valkeinen1-0/+23
The HDMI driver requires vdda_hdmi_dac power for operation, but does not enable it. This has worked because the regulator has been always enabled. But this may not always be the case, as I encountered when implementing HDMI device tree support. This patch changes the HDMI driver to use the vdda_hdmi_dac. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-09-07OMAPDSS: HDMI: Add delay to wait for 5V powerTomi Valkeinen1-0/+3
TPD12S015A spec says to wait 300us after setting CT_CP_HPD gpio for the 5V power output to reach 90% of the voltage. This patch adds the delay to the driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-09-07OMAPDSS: HDMI: Move GPIO handling to HDMI driverTomi Valkeinen1-20/+55
We currently manage HDMI GPIOs in the board files via platform_enable/disable calls. This won't work with device tree, and in any case the correct place to manage the GPIOs is in the HDMI driver. This patch moves the handling of the GPIOs to the HDMI driver. The GPIO handling is moved to the common hdmi.c file, and this probably needs to be revisited when adding OMAP5 HDMI support to see if the GPIO handling needs to be moved to IP specific files. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: Tony Lindgren <tony@atomide.com>
2012-09-07Merge branch 'merge' into nextBenjamin Herrenschmidt1-1/+8
Brings in various bug fixes from 3.6-rcX
2012-09-05powerpc/ps3: Replace virt_to_abs() with __pa()Michael Ellerman1-2/+1
virt_to_abs() is just a wrapper around __pa(), call __pa() directly. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-09-03Merge tag 'v3.6-rc4'Tomi Valkeinen50-624/+1712
Merge 3.6-rc4 to get latest OMAP and device tree fixes.
2012-09-01treewide: fix comment/printk/variable typosAnatol Pomozov1-1/+1
Signed-off-by: Anatol Pomozov <anatol.pomozov@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2012-09-01tmiofb: missing NULL pointer checksAlan Cox1-0/+4
Resolves-bug: https://bugzilla.kernel.org/show_bug.cgi?id=44471 Reported-by: <rucsoftsec@gmail.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2012-08-23video: exynos_dp: move setting analog parameter and interrupt to after sw resetJingoo Han2-3/+3
SW reset sets DP TX to initial value, so configurations for analog parameter and interrupt are not set properly. Therefore, exynos_dp_init_analog_param() and exynos_dp_init_interrupt() should be moved to after sw reset is called, in order to set these values properly. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23video: exynos_dp: change return type of exynos_dp_init_video to voidJingoo Han2-4/+2
This patch changes return type of exynos_dp_init_video to void, because the return value is unnecessary. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23video: exynos_dp: Fix get_pll_lock_status return valueSean Paul2-2/+2
Fix the return value of exynos_dp_get_pll_lock_status to reflect what it actually returns. Signed-off-by: Sean Paul <seanpaul@chromium.org> Reviewed-by: Olof Johansson <olofj@chromium.org> Acked-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23video: exynos_dp: Change aux transaction failuresSean Paul1-7/+14
This patch adds the function name to aux transaction failure messages so we can tell which transaction is failing. It also changes the level of Aux Transaction fail messages from error to debug. We retry the transactions a few times and will report errors if warranted outside of this function. Signed-off-by: Sean Paul <seanpaul@chromium.org> Reviewed-by: Doug Anderson <dianders@chromium.org> Reviewed-by: Bernie Thompson <bhthompson@chromium.org> Acked-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23drivers/video/sunxvr2500.c: fix error return codeJulia Lawall1-1/+3
Initialize return variable before exiting on an error path. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> ( if@p1 (\(ret < 0\|ret != 0\)) { ... return ret; } | ret@p1 = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23fbdev/amifb: Remove write-only variable amifb_inverseGeert Uytterhoeven1-2/+0
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23da8xx-fb: add 24bpp LCD configuration supportManjunathappa, Prakash1-33/+95
LCD controller on am335x supports 24bpp raster configuration in addition to ones on da850. LCDC also supports 24bpp in unpacked format having ARGB:8888 32bpp format data in DDR, but it doesn't interpret alpha component of the data. Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com> Cc: Anatolij Gustschin <agust@denx.de> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23video:uvesafb: check the return value of kzallocWang YanQing1-0/+2
Michal maybe forgot it merely, we should add code to check the return value of kzalloc to make the code more robust. Signed-off-by: Wang YanQing <udknight@gmail.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23video: exynos_dp: check time loop for RPLY_RECEIVJingoo Han1-1/+9
This patch checks time loop for RPLY_RECEIV which means that AUX channel command reply is received. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23drivers/video/msm/mddi_client_nt35399.c: use devm_ functionsDamien Cassou1-3/+3
The various devm_ functions allocate memory that is released when a driver detaches. This patch replaces the use of kzalloc by devm_kzalloc. Additionally, this patch fixes a memory leak: some memory was allocated for 'panel' but not released when the subsequent call to setup_vsync fails. Signed-off-by: Damien Cassou <damien.cassou@lifl.fr> Acked-by: David Brown <davidb@codeaurora.org> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23drivers/video/bf54x-lq043fb.c: use devm_ functionsDamien Cassou1-5/+3
The various devm_ functions allocate memory that is released when a driver detaches. This patch replaces the use of kzalloc by devm_kzalloc. Signed-off-by: Damien Cassou <damien.cassou@lifl.fr> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23drivers/video/jz4740_fb.c: use devm_ functionsDamien Cassou1-16/+6
The various devm_ functions allocate memory that is released when a driver detaches. This patch uses these functions for data that is allocated in the probe function of a platform device and is only freed in the remove function. Signed-off-by: Damien Cassou <damien.cassou@lifl.fr> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23drivers/video/epson1355fb.c: use devm_ functionsDamien Cassou1-8/+8
The various devm_ functions allocate memory that is released when a driver detaches. This patch uses these functions for data that is allocated in the probe function of a platform device and is only freed in the remove function. Signed-off-by: Damien Cassou <damien.cassou@lifl.fr> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23video: s3c-fb: use devm_clk_get()Jingoo Han1-19/+5
The devm_ functions allocate memory that is released when a driver detaches. This patch uses devm_clk_get() for these functions. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23video: exynos-mipi-dsi: Add missing static storage class specifiersSachin Kamat1-2/+4
Fixes the following sparse warnings: drivers/video/exynos/exynos_mipi_dsi.c:208:22: warning: symbol 'exynos_mipi_dsi_find_lcd_device' was not declared. Should it be static? drivers/video/exynos/exynos_mipi_dsi.c:268:22: warning: symbol 'exynos_mipi_dsi_bind_lcd_ddi' was not declared. Should it be static? Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Donghwa Lee <dh09.lee@samsung.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23video: exynos_dp: use devm_clk_get functionDamien Cassou1-20/+7
The devm_clk_get function allocates memory that is released when a driver detaches. This patch uses this function for data that is allocated in the probe function of a platform device and is only freed in the remove function. Additionally, this patch removes a null check after platform_get_resource that is redundant with the one done by devm_request_and_ioremap. Signed-off-by: Damien Cassou <damien.cassou@lifl.fr> Acked-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23drivers/video/fsl-diu-fb.c: use devm_ functionsDamien Cassou1-8/+2
The various devm_ functions allocate memory that is released when a driver detaches. This patch uses these functions for data that is allocated in the probe function of a platform device and is only freed in the remove function. Signed-off-by: Damien Cassou <damien.cassou@lifl.fr> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23drivers/video/gbefb.c: use devm_ functionsDamien Cassou1-10/+5
The various devm_ functions allocate memory that is released when a driver detaches. This patch uses these functions for data that is allocated in the probe function of a platform device and is only freed in the remove function. Signed-off-by: Damien Cassou <damien.cassou@lifl.fr> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23drivers/video/mbx/mbxfb.c: use devm_ functionsDamien Cassou1-14/+8
The various devm_ functions allocate memory that is released when a driver detaches. This patch uses these functions for data that is allocated in the probe function of a platform device and is only freed in the remove function. Signed-off-by: Damien Cassou <damien.cassou@lifl.fr> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23drivers/video/bf537-lq035.c: use devm_ functionsDamien Cassou1-7/+5
The various devm_ functions allocate memory that is released when a driver detaches. This patch uses these functions for data that is allocated in the probe function of a platform device and is only freed in the remove function. Signed-off-by: Damien Cassou <damien.cassou@lifl.fr> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23drivers/video/cobalt_lcdfb.c: use devm_ functionsDamien Cassou1-3/+2
The various devm_ functions allocate memory that is released when a driver detaches. This patch uses these functions for data that is allocated in the probe function of a platform device and is only freed in the remove function. Signed-off-by: Damien Cassou <damien.cassou@lifl.fr> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23drivers/video/ep93xx-fb.c: use devm_ functionsDamien Cassou1-11/+6
The various devm_ functions allocate memory that is released when a driver detaches. This patch uses these functions for data that is allocated in the probe function of a platform device and is only freed in the remove function. Signed-off-by: Damien Cassou <damien.cassou@lifl.fr> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23video: exynos_dp: adjust voltage swing and pre-emphasis during Link TrainingJingoo Han2-140/+144
This patch adds adjustement for voltage swing and pre-emphasis during Link Training procedure. According to the DP specification, unless all the LANEx_CR_DONE bits are set, the transmitter must read the ADJUST_REQUEST_LANEx_x, increase the voltage swing according to the request, and update the TRAINING_LANEx_SET bytes to match the new voltage swing setting. Refer to the DP specification v1.1a, Section 3.5.1.3 Link Training. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-08-23OMAPFB: fix framebuffer console colorsGrazvydas Ignotas1-1/+1
omapfb does not currently set pseudo palette correctly for color depths above 16bpp, making red text invisible, command like echo -e '\e[0;31mRED' > /dev/tty1 will display nothing on framebuffer console in 24bpp mode. This is because temporary variable is declared incorrectly, fix it. Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Cc: stable@vger.kernel.org # v3.x Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>