summaryrefslogtreecommitdiff
path: root/drivers/video
AgeCommit message (Collapse)Author
2012-01-02OMAPDSS: DISPC: Update Fir CoefficientsChandrabhanu Mahapatra
The FIR coefficients present in kernel are being updated to new coefficients consisting of 24 coefficient tables, with 12 each for 3 tap and 5 tap scenario, which are chosen on the basis of DISPC up/downsampling filters M value. M is the inverse of low pass cut off frequency of the sampling filter. For vertical scaling 3 tap or 5 tap tables are used based on the clock rate and width of the line buffer whereas in OMAP2 3 tap is always used. For horizontal scaling however 5 tap tables are always used. New coefficients and the corresponding logic have been tested on OMAP2, OMAP3 and OMAP4. Horizontal and vertical scaling worked fine except for some 3 tap vs 5 tap issue during vertical upscaling and clock failing issues which is acknowledged in the next patch. Vertical upscaling was found to perform better under 5 taps. The 24 coefficient tables have been moved to another file dispc_coefs.c for proper maintainance. This code is written based on code written by Lajos Molnar <lajos@ti.com> in Android Kernel for scaling. Lajos Molnar <lajos@ti.com> had fine tuned the FIR coefficient selection process and reduced outliness and blockiness around images when upscaling more than 2 times. Signed-off-by: Chandrabhanu Mahapatra <cmahapatra@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-01-02OMAPDSS: APPLY: fix NULL pointer deref when mgr is not setRob Clark
extra_info_update_ongoing() goes through all overlays, but doesn't check if the overlay is connected to a manager. This leads to a crash whenever an overlay has been detached. Add a check to skip the non-connected overlays. Reported-by: Rob Clark <rob@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-01-02OMAPDSS: Displays: Make PICODLP driver depend on DPIArchit Taneja
Make PICODLP driver on OMAP2_DSS_DPI since it is the display interface it uses. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-01-02OMAPDSS: Panel NEC: Set omap_dss_device states correctlyArchit Taneja
The display state parameter of omap_dss_device struct is not being set correctly in the panel driver NEC panel driver panel-nec-nl8048hl11-01b.c. Set the correct states in the panel's enable/disable/suspend/resume functions. CC: Erik Gilling <konkers@android.com> Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-01-02OMAPDSS: DSI: Fix HSDIV related PLL info in dsi_dump_clocks()Archit Taneja
The clock names of DSI_PLL_HSDIV_DISPC and DSI_PLL_HSDIV_DSI was made dynamic based on the current value of DISPC and DSI FCLK sources. This doesn't need to be done since we are just interested in the clock names, and not the current clock sources for DISPC and DSI FCLKs. Use only the generic and omap specific names for the DSI PLL's HSDIV clocks. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-01-02OMAPDSS: APPLY: move simple_check functionsTomi Valkeinen
The functions dss_ovl_simple_check() and dss_mgr_simple_check() are not really part of the apply mechanism, and can be moved to overlay.c and manager.c. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-01-02OMAPDSS: fix potential NULL pointer ref in OCP_ERR handling pathRob Clark
The dispc's error handler tries to disable all outputs when OCP_ERR happens. However, the code doesn't check if there actually is a display on each particular output, nor if there's a driver for the display. This may lead to NULL pointer reference. Signed-off-by: Rob Clark <rob@ti.com> [tomi.valkeinen@ti.com: added patch description] Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-01-02video: omap: convert drivers/video/omap/* to use module_platform_driver()Axel Lin
This patch converts the drivers in drivers/video/omap/* to use the module_platform_driver() macro which makes the code smaller and a bit simpler. Cc: Jonathan McDowell <noodles@earth.li> Cc: Cory Maccarrone <darkstar6262@gmail.com> Cc: Laurent Gonzalez <palmte.linux@free.fr> Cc: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-01-02video: omap: Staticise non-exported symbolsAxel Lin
These symbols are not used outside it's driver so no need to make the symbol global. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-01-02OMAPDSS: APPLY: move check functionsTomi Valkeinen
The functions dss_ovl_check, dss_mgr_check_zorder, dss_mgr_check in apply.c are not really part of the apply mechanism, and can be moved to overlay.c and manager.c. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-01-02OMAPDSS: APPLY: remove unused variablesTomi Valkeinen
dss_mgr_check_zorder() has two unused variables. Remove them. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2011-12-28video: mxsfb: convert to clk_prepare/clk_unprepareShawn Guo
The patch converts mxsfb driver to clk_prepare/clk_unprepare by using helper functions clk_prepare_enable/clk_disable_unprepare. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Cc: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Marek Vasut <marek.vasut@gmail.com> Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-21fbdev: matroxfb: Fix compilation after fb_var_screeninfo changeLaurent Pinchart
Commit fb21c2f42879 ("fbdev: Add FOURCC-based format configuration API") modified the layout of the fb_var_screeninfo structure. Remove zero fields from the static initializers in the matroxfb driver accordingly. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-21s3fb: fix Virge/VXOndrej Zary
Add memory size detection for Virge/VX and small delay in mode setting (same as in X.org driver) to fix blank screen problem. Also adjust DTPC position to fix garbled screen in some modes (tested that this adjustment does not break other cards - at least Trio32, Trio64V+, Trio64V2/DX, Virge, Virge/DX). Tested on ELSA Winner 2000AVI/3D. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-21MXSFB: Fix driver registrationMarek Vasut
The driver should be registered with mxsfb_driver, not with mxsfb_devtype. This caused obvious null pointer dereference and crash. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Cc: Wolfgang Denk <wd@denx.de> Cc: Stefano Babic <sbabic@denx.de> Cc: Huang Shijie <b32955@freescale.com> Acked-by: Axel Lin <axel.lin@gmail.com> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-19i810: fix module_param bool abuse.Rusty Russell
The driver says "module_param(ddc3, bool, 0);". But it's not a used as a bool, it's used as a count. Make it a bool. Cc: Antonino Daplas <adaplas@gmail.com> Cc: linux-fbdev@vger.kernel.org Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-19video: pnx4008: convert drivers/video/pnx4008/* to use module_platform_driver()Axel Lin
This patch converts the drivers in drivers/video/pnx4008/* to use the module_platform_driver() macro which makes the code smaller and a bit simpler. Cc: Grigory Tolstolytkin <gtolstolytkin@ru.mvista.com> Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-19video: convert mbxfb to use module_platform_driver()Axel Lin
This patch converts mbxfb to use the module_platform_driver() macro which makes the code smaller and a bit simpler. Cc: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-19fbdev: sh_mobile_lcdc: Support FOURCC-based format APILaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-19fbdev: Add FOURCC-based format configuration APILaurent Pinchart
This API will be used to support YUV frame buffer formats in a standard way. Last but not least, create a much needed fbdev API documentation and document the format setting APIs. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-19drivers/video: fsl-diu-fb: rename "machine_data" to "data"Timur Tabi
"machine_data" is too long and clunky, and the "machine" part doesn't make much sense, anyway. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-19video: s3c-fb: add shadow register protectJingoo Han
Shadow registers should be protectd whenever the registers are updated. Shadow registers are updated after SHADOWCON shadow register is cleared. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-19video: s3c-fb: modify runtime pm functionsJingoo Han
Runtime suspend and runtime resume are modified in order to reduce the complexity and improve the usability of runtime pm. After probe function, s3c-fb driver is not suspended until suspend or remove is called. The scheme is changed as follows: runtime_get is only called in probe and resume. runtime_put is only called in remove and suspend. open/close cannot call the runtime_get/put. Also, runtime_susepnd/resume are just called by runtime pm, not doing suspend/resume routine any longer. This is because open/close cannot call the runtime_get/put; the suspend/resume routine in runtime_suspend/resume were previously used when open and close were called. The name of s3c-fb dev_pm_ops is changed from s3cfb_pm_ops to s3c_fb_pm_ops in order to use more consistent naming. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-19drivers/video: fsl-diu-fb: merge all allocated data into one blockTimur Tabi
The Freescale DIU driver allocates multiple blocks of memory, including multiple DMA buffers. Merge all of these blocks into one data structure. Specifically: 1) struct fsl_diu_data now contains everything that needs to be allocated, except for the framebuffers themselves. DMA'able objects are aligned correctly within the structure. 2) struct diu_addr is no longer needed, because we don't have to manage multiple blocks of DMA memory. 3) Since there's no diu_addr any more, macro DMA_ADDR is used to calculate the DMA address of any field in fsl_diu_data. 4) Functions allocate_buf() and free_buf() are no longer needed, because we now assume that dma_alloc_coherent() will allocate a page-aligned block, and everything is properly aligned with fsl_diu_data already, so we no longer need to align any memory blocks ourselves. 5) The "dummy" area descriptor is now defined separately from the other five ADs, so NUM_AOIS (previously called FSL_AOI_NUM) is now set to five instead of six. Previously, all six were combined together to avoid a separate call to allocate_buf() just for the dummy AD. 6) framebuffer_alloc() and framebuffer_release() are no longer used. The framebuffer is initialized manually. 7) Error handling is simplified since there's only one memory buffer allocated. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-19video: s3c-fb: set missing bitmask of enabled hardware windowJingoo Han
This patch set missing bitmask of enabled hardware window which should be checked whenever the hardware window is enabled. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-10Merge 3.2-rc5 into staging-nextGreg Kroah-Hartman
This resolves the conflict in the drivers/staging/iio/industrialio-core.c file due to two different changes made to resolve the same problem. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-07MIPS: GIO bus support for SGI IP22/28Thomas Bogendoerfer
SGI IP22/IP28 machines have GIO busses for adding graphics and other extension cards. This patch adds support for GIO driver/device handling and converts the newport console driver to a GIO driver. [ralf@linux-mips.org: Fixed build error caused by the modules.h -> export.h changes.] Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> To: linux-fbdev@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/2886/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2011-12-07MIPS: Alchemy: one kernel for DB1000/DB1500/DB1100Manuel Lauss
These 3 boards are very similar; with this patch a single kernel image which runs on all three can be built. Tested on DB1500 and DB1100. Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com> To: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2872/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2011-12-07MIPS: Alchemy: move au1200fb global functions to platform dataManuel Lauss
au1200fb calls 3 functions which have to be defined in board code. Fix this ugliness with the introduction of platform_data. Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com> Cc: linux-fbdev@vger.kernel.org To: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2871/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2011-12-07MIPS: Alchemy: Basic support for the DB1300 board.Manuel Lauss
Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com> To: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2867/ Patchwork: https://patchwork.linux-mips.org/patch/2919/ Patchwork: https://patchwork.linux-mips.org/patch/2928/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2011-12-07MIPS: Alchemy: Au1300 SoC supportManuel Lauss
Add basic support for the Au1300 variant(s): - New GPIO/Interrupt controller - DBDMA ids - USB setup - MMC support - enable various PSC drivers - detection code. Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com> To: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2866/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2011-12-06treewide: Fix comment and string typo 'bufer'Paul Bolle
Signed-off-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-12-03video: s3c2410: fix checkpatch error and warningsJingoo Han
This patch fixes the checkpatch errors listed below: ERROR: do not initialise statics to 0 or NULL WARNING: Use #include <linux/io.h> instead of <asm/io.h> WARNING: braces {} are not necessary for single statement blocks WARNING: braces {} are not necessary for any arm of this statement WARNING: static char array declaration should probably be static const char WARNING: line over 80 characters WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-03video: s3c-fb: Unify runtime and system PM functionsMark Brown
The s3c-fb driver has separate runtime and system PM functions but the implementations are identical so far as I can tell so unify them for simplicity. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-03video: convert drivers/video/* to use module_platform_driver()Axel Lin
This patch converts the drivers in drivers/video/* to use the module_platform_driver() macro which makes the code smaller and a bit simpler. Cc: Ben Dooks <ben@simtec.co.uk> Cc: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Wan ZongShun <mcuos.com@gmail.com> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Lennert Buytenhek <buytenh@wantstofly.org> Acked-by: Alexey Charkov <alchark@gmail.com> Acked-by: Damian Hobson-Garcia <dhobsong@igel.co.jp> Acked-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-03video: Remove redundant spi driver bus initializationLars-Peter Clausen
In ancient times it was necessary to manually initialize the bus field of an spi_driver to spi_bus_type. These days this is done in spi_driver_register(), so we can drop the manual assignment. The patch was generated using the following coccinelle semantic patch: // <smpl> @@ identifier _driver; @@ struct spi_driver _driver = { .driver = { - .bus = &spi_bus_type, }, }; // </smpl> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: linux-fbdev@vger.kernel.org Cc: linux-omap@vger.kernel.org Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-03fbdev/amifb: Use framebuffer_alloc()Geert Uytterhoeven
Use framebuffer_alloc() instead of static fb_info and currentpar variables. Also sanitize the error path and cleanup code (e.g. missing free_irq()). Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-03fbdev/amifb: Enable Copper DMA after setting up the CopperGeert Uytterhoeven
Else the Copper may start executing random instructions Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-03fbdev/amifb: Store monitor limits in separate __initdata variablesGeert Uytterhoeven
The static fb_info will go away soon. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-03fbdev/amifb: Remove superfluous casts when assigning void *Geert Uytterhoeven
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-03fbdev/amifb: Make amifb_setup() staticGeert Uytterhoeven
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-03fbdev/amifb: Reorder functions to remove forward declarationsGeert Uytterhoeven
No functional changes Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-03fbdev/amifb: Fix double freeGeert Uytterhoeven
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-03fbdev/amifb: Correct whitespaceGeert Uytterhoeven
- indentation - spacing around binary operators No functional changes Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-02OMAPDSS: APPLY: write fifo thresholds only if changedTomi Valkeinen
Current code will always write fifo threshold values to the register, even if they are the same as previously. Separate the setting of fifo fields into a separate function, and only set new values if they are different than the old ones. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2011-12-02OMAPDSS: APPLY: add dss_setup_fifosTomi Valkeinen
Currently fifo threshold configuration is done per overlay or per manager. However, when a fifo size configuration is added, we need to always configure the thresholds for all overlays. This patch prepares for that by changing the fifo threshold configuration to always handle all overlays. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2011-12-02OMAPDSS: APPLY: simplify dss_mgr_enableTomi Valkeinen
dss_mgr_enable() has some extra assigns to mp->enabled, which can be removed. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2011-12-02OMAPDSS: APPLY: add op->enablingTomi Valkeinen
When we are enabling an overlay, there's a point in time when the overlay is not actually enabled yet (nor do we want it to be enabled), but we do want to check if the configuration for the overlay is valid, and to calculate correct fifo thresholds for the soon-to-be-enabled overlay. Current code handled this in a hacky way, setting op->enabled to true temporarily when calling functions that need to consider the state when the overlay is enabled. This patch makes this a bit cleaner, adding "enabling" field, which is set when the overlay is not yet enabled but should be considered in the checks and calculations. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2011-12-02OMAPDSS: APPLY: cleanup extra_info_update_ongoingTomi Valkeinen
Trivial cleanup for extra_info_update_ongoing(), making the function a bit cleaner. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2011-12-02OMAPDSS: APPLY: add dss_set_go_bits()Tomi Valkeinen
Currently dss_write_regs() implicitely sets the GO bits for all managers with shadow dirty flags set. This is a bit misleading, as one does not presume "write registers" function to also set the GO bit. Thus this patch splits the setting of GO bits into a separate function, dss_set_go_bits, which is used after writing the registers. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>