aboutsummaryrefslogtreecommitdiff
path: root/drivers/video/mmp
AgeCommit message (Collapse)AuthorFilesLines
2014-04-17video: move fbdev to drivers/video/fbdevTomi Valkeinen15-3510/+0
The drivers/video directory is a mess. It contains generic video related files, directories for backlight, console, linux logo, lots of fbdev device drivers, fbdev framework files. Make some order into the chaos by creating drivers/video/fbdev directory, and move all fbdev related files there. No functionality is changed, although I guess it is possible that some subtle Makefile build order related issue could be created by this patch. Signed-off-by: Tomi Valkeinen <[email protected]> Acked-by: Laurent Pinchart <[email protected]> Acked-by: Geert Uytterhoeven <[email protected]> Acked-by: Rob Clark <[email protected]> Acked-by: Jingoo Han <[email protected]> Acked-by: Daniel Vetter <[email protected]>
2014-01-17video: mmp: Using plain integer as NULL pointerDan Carpenter1-1/+1
Sparse complains here: drivers/video/mmp/core.c:33:16: warning: Using plain integer as NULL pointer Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2014-01-17video: mmp: delete a stray mutex_unlock()Dan Carpenter1-6/+1
We aren't holding the disp_lock so we shouldn't release it. Signed-off-by: Dan Carpenter <[email protected]> Acked-by: Haojian Zhuang <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2013-11-14Merge tag 'fbdev-3.13' of ↵Linus Torvalds3-42/+68
git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux Pull fbdev changes from Tomi Valkeinen: "Nothing particularly stands out in this pull request. The biggest part of the changes are cleanups. Maybe one fix to mention is the "fb: reorder the lock sequence to fix potential dead lock" which hopefully fixes the fb locking issues reported by multiple persons. There are also a few commits that have changes to arch/arm/mach-at91 and arch/avr32, which have been acked by the maintainers" * tag 'fbdev-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (143 commits) fb: reorder the lock sequence to fix potential dead lock fbdev: shmobile-lcdcfb: Convert to clk_prepare/unprepare fbdev: shmobile-hdmi: Convert to clk_prepare/unprepare omapdss: Add new panel driver for Topolly td028ttec1 LCD. video: exynos_mipi_dsi: Unlock the mutex before returning video: da8xx-fb: remove unwanted define video: Remove unnecessary semicolons simplefb: use write-combined remapping simplefb: fix unmapping fb during destruction OMAPDSS: connector-dvi: fix releasing i2c_adapter OMAPDSS: DSI: fix perf measuring ifdefs framebuffer: Use fb_<level> framebuffer: Add fb_<level> convenience logging macros efifb: prevent null-deref when iterating dmi_list fbdev: fix error return code in metronomefb_probe() video: xilinxfb: Fix for "Use standard variable name convention" OMAPDSS: Fix de_level in videomode_to_omap_video_timings() video: xilinxfb: Simplify error path video: xilinxfb: Use devm_kzalloc instead of kzalloc video: xilinxfb: Use standard variable name convention ...
2013-09-26video: mmp: drop needless devm cleanupUwe Kleine-König1-15/+2
The nice thing about devm_* is that the driver doesn't need to free the resources but the driver core takes care about that. This also simplifies the error path quite a bit and removes the wrong check for a clock pointer being NULL. Russell King - ARM Linux <[email protected]>: "And this patch also fixes the above: disabling/unpreparing _after_ putting the thing - which was quite silly... :)" Signed-off-by: Uwe Kleine-König <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2013-09-20video: mmp: add pitch info in mmp_win structureJing Xiang2-7/+29
Add pitch length info of graphics/video layer, pitch is used to represent line length in byte, the usage depends on pix_fmt. If the fmt is YUV, the pitch[0] will be Y length,pitch[1] will be U length, pitch[2] will be V lenth. If the fmt is RGB, the picth[0] will be line lenth, and pitch[1]/pitch[2] will be 0 and not be used. Signed-off-by: Jing Xiang <[email protected]> Signed-off-by: Jett.Zhou <[email protected]> Signed-off-by: Zhou Zhu <[email protected]> Reviewed-by: Daniel Drake <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2013-09-20video: mmp: calculate pitch value when fb set winJing Xiang1-12/+16
Add new func mmpfb_set_win to make code clean, it will do resolution and fmt setting of win in mmpfb_set_win. Signed-off-by: Jing Xiang <[email protected]> Signed-off-by: Jett.Zhou <[email protected]> Signed-off-by: Zhou Zhu <[email protected]> Reviewed-by: Daniel Drake <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2013-09-20video: mmp: optimize some register setting codeGuoqing Li1-15/+7
There are dumplicate code of the smooth setting based on different path, optimized the routine and use readl_relaxed instead. Signed-off-by: Jett.Zhou <[email protected]> Signed-off-by: Jing Xiang <[email protected]> Signed-off-by: Guoqing Li <[email protected]> Signed-off-by: Zhou Zhu <[email protected]> Reviewed-by: Daniel Drake <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2013-09-20video: mmp: rb swap setting update for mmp displayGuoqing Li2-8/+16
We could set rb swap in two modules: DMA controler input part and dsi interface output part. DMA input part is based on pix_fmt to set rbswap, dsi output interface part will set rbswap based on platform dsi_rbswap configuration. This patch include below change and enhancement: 1) The input format which support rbswap is based on RGB format, eg. RGB565 indicates the source data in memory is that Red is [15~11], Green is [10~5], Blue is [4:0], Red is MSB, Blue is LSB, but for the display dma input default setting(rbswap = 0), it only support Blue is [15~11], Green is [10~5], Red is [4:0], Red is LSB, Blue is MSB, so for this format(RGB565), display controller need to set rbswap = 1 and it can support the MSB/LSB correctly. BGR/YUV format will not set it in mmp display driver. 2) The dsi output part of rbswap is depend on dsi_rbswap which is defined in specific platfrom. For output dsi interface, it has this feature to do rbswap again if it needs specifc byte sequence of RGB byte for DSI panel. eg. If display content is set RGB565 in memory and DMA input part set rbswap in driver to support Red as MSB , Blue LSB, but dsi panel only support Red as LSB, Blue as MSB, then it can use this feature. If there is no this requirement of panel, this dsi output part is not needed. Signed-off-by: Guoqing Li <[email protected]> Signed-off-by: Jett.Zhou <[email protected]> Signed-off-by: Zhou Zhu <[email protected]> Reviewed-by: Daniel Drake <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2013-06-28Merge tag 'fbdev-3.11-2' of git://gitorious.org/linux-omap-dss2/linux into ↵Jean-Christophe PLAGNIOL-VILLARD2-2/+0
fbdev/for-next Various fbdev changes for 3.11 * xilinxfb updates * Small cleanups and fixes to multiple drivers
2013-06-27video: mmp: fix graphics/video layer enable/mask swap issueJing Xiang1-3/+3
There is bug when switch dma of graphic layer and video layer, it configured opposite bit, fix it. Signed-off-by: Jing Xiang <[email protected]> Signed-off-by: Jett.Zhou <[email protected]> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]>
2013-06-27video: mmp: fix memcpy wrong size for mmp_addr issueJing Xiang1-1/+1
Memcpy used wrong struct of mmp_win, fix it. Signed-off-by: Jing Xiang <[email protected]> Signed-off-by: Jett.Zhou <[email protected]> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]>
2013-06-26video: remove unnecessary platform_set_drvdata()Jingoo Han2-2/+0
The driver core clears the driver data to NULL after device_release or on probe failure, since commit 0998d0631001288a5974afc0b2a5f568bcdecb4d (device-core: Ensure drvdata = NULL when no driver is bound). Thus, it is not needed to manually clear the device driver data to NULL. Signed-off-by: Jingoo Han <[email protected]> Cc: Sylwester Nawrocki <[email protected]> Acked-by: Kuninori Morimoto <[email protected]> Acked-by: Shawn Guo <[email protected]> Reviewed-by: H Hartley Sweeten <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2013-04-29drivers/video/mmp: remove legacy hw definitionsZhou Zhu1-478/+1
Removed legacy hw definitions in hw/mmp_ctrl.h. These definitions are for earlier soc versions and are not supported in this driver. Signed-off-by: Zhou Zhu <[email protected]> Cc: Paul Bolle <[email protected]> Cc: Lisa Du <[email protected]> Cc: Guoqing Li <[email protected]> Cc: Florian Tobias Schandinat <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2013-04-17drivers/video/mmp/core.c: fix use-after-free bugAndrei Epure1-2/+0
Found with coccinelle. Signed-off-by: Andrei Epure <[email protected]> Cc: Florian Tobias Schandinat <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2013-02-21video: mmpdisp: add spi port in display controllerZhou Zhu5-0/+199
Add spi port support in mmp display controller. This port is from display controller and for panel usage. This driver implemented and registered as a spi master. Signed-off-by: Zhou Zhu <[email protected]> Acked-by: Haojian Zhuang <[email protected]> Cc: Lisa Du <[email protected]> Cc: Guoqing Li <[email protected]> Cc: Florian Tobias Schandinat <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2013-02-21video: mmp: add tpo hvga panel supportedLisa Du5-1/+195
Add tpo hvga panel support in marvell display framework. This panel driver implements modes query and power on/off. This panel driver gets panel config/ plat power on/off/ connected path name from machine-info and registered as a spi device. This panel driver uses mmp_disp supplied register_panel function to register panel to path as machine-info defined. Signed-off-by: Lisa Du <[email protected]> Signed-off-by: Zhou Zhu <[email protected]> Acked-by: Haojian Zhuang <[email protected]> Cc: Guoqing Li <[email protected]> Cc: Florian Tobias Schandinat <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2013-02-21video: mmp display controller supportGuoqing Li6-1/+2570
Marvell mmp series display controller support in mmpdisp subsystem. This driver focus on implementation of hardware operations of path/overlay, which is defined in mmp display subsystem interface. This driver registers all pathes to mmp display framework. Signed-off-by: Guoqing Li <[email protected]> Signed-off-by: Lisa Du <[email protected]> Signed-off-by: Zhou Zhu <[email protected]> Acked-by: Haojian Zhuang <[email protected]> Cc: Florian Tobias Schandinat <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2013-02-21fb: mmp: include linux/platform_device.hArnd Bergmann1-0/+1
Commit 16559ae48c76 ("kgdb: remove #include <linux/serial_8250.h> from kgdb.h") changes the kgdb.h file so that drivers including it do not implicitly include linux/platform_device.h. The mmp framebuffer driver is new, so Greg did not have a chance to fix it up when introducing his change. Signed-off-by: Arnd Bergmann <[email protected]> Cc: Zhou Zhu <[email protected]> Cc: Lisa Du <[email protected]> Cc: Guoqing Li <[email protected]> Acked-by: Haojian Zhuang <[email protected]> Cc: Florian Tobias Schandinat <[email protected]> Cc: Greg KH <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2013-02-21video: mmp fb supportZhou Zhu6-1/+757
Add fb support for Marvell mmp display subsystem. This driver is configured using "buffer driver mach info". With configured name of path, this driver get path using using exported interface of mmp display driver. Then this driver get overlay using configured id and operates on this overlay to show buffers on display devices. Signed-off-by: Zhou Zhu <[email protected]> Signed-off-by: Lisa Du <[email protected]> Cc: Guoqing Li <[email protected]> Acked-by: Haojian Zhuang <[email protected]> Cc: Florian Tobias Schandinat <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2013-02-21video: mmp display subsystemZhou Zhu3-0/+264
Add mmp display subsystem to support Marvell MMP display controllers. This subsystem contains 4 parts: --fb folder --core.c --hw folder --panel folder 1. fb folder contains implementation of fb. fb get path and overlay from common interface and operates on these structures. 2. core.c provides common interface for a hardware abstraction. Major parts of this interface are: a) Path: path is a output device connected to a panel or HDMI TV. Main operations of the path is set/get timing/output color. fb operates output device through path structure. b) Ovly: Ovly is a buffer shown on the path. Ovly describes frame buffer and its source/destination size, offset, input color, buffer address, z-order, and so on. Each fb device maps to one overlay. 3. hw folder contains implementation of hardware operations defined by core.c. It registers paths for fb use. 4. panel folder contains implementation of panels. It's connected to path. Panel drivers would also regiester panels and linked to path when probe. Signed-off-by: Zhou Zhu <[email protected]> Signed-off-by: Lisa Du <[email protected]> Cc: Guoqing Li <[email protected]> Acked-by: Haojian Zhuang <[email protected]> Cc: Florian Tobias Schandinat <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>