summaryrefslogtreecommitdiff
path: root/drivers/video
AgeCommit message (Collapse)Author
2012-01-06Merge branch 'next' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (185 commits) powerpc: fix compile error with 85xx/p1010rdb.c powerpc: fix compile error with 85xx/p1023_rds.c powerpc/fsl: add MSI support for the Freescale hypervisor arch/powerpc/sysdev/fsl_rmu.c: introduce missing kfree powerpc/fsl: Add support for Integrated Flash Controller powerpc/fsl: update compatiable on fsl 16550 uart nodes powerpc/85xx: fix PCI and localbus properties in p1022ds.dts powerpc/85xx: re-enable ePAPR byte channel driver in corenet32_smp_defconfig powerpc/fsl: Update defconfigs to enable some standard FSL HW features powerpc: Add TBI PHY node to first MDIO bus sbc834x: put full compat string in board match check powerpc/fsl-pci: Allow 64-bit PCIe devices to DMA to any memory address powerpc: Fix unpaired probe_hcall_entry and probe_hcall_exit offb: Fix setting of the pseudo-palette for >8bpp offb: Add palette hack for qemu "standard vga" framebuffer offb: Fix bug in calculating requested vram size powerpc/boot: Change the WARN to INFO for boot wrapper overlap message powerpc/44x: Fix build error on currituck platform powerpc/boot: Change the load address for the wrapper to fit the kernel powerpc/44x: Enable CRASH_DUMP for 440x ... Fix up a trivial conflict in arch/powerpc/include/asm/cputime.h due to the additional sparse-checking code for cputime_t.
2012-01-06Merge branch 'driver-core-next' into Linux 3.2Greg Kroah-Hartman
This resolves the conflict in the arch/arm/mach-s3c64xx/s3c6400.c file, and it fixes the build error in the arch/x86/kernel/microcode_core.c file, that the merge did not catch. The microcode_core.c patch was provided by Stephen Rothwell <sfr@canb.auug.org.au> who was invaluable in the merge issues involved with the large sysdev removal process in the driver-core tree. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2012-01-05OMAPDSS: add OrtusTech COM43H4M10XTC display supportIlya Yanok
dd data for the OrtusTech COM43H4M10XTC display to the generic_dpi_panel driver. CC: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: Ilya Yanok <yanok@emcraft.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-01-05OMAP: DSS2: Support for UMSH-8173MD TFT panelDaniel Mack
This patch adds support for Microtip Technologies' UMSH-8173MD 800x480 RGB TFT panel. Tested with an OMAP3 board. Signed-off-by: Daniel Mack <zonque@gmail.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> [tomi.valkeinen@ti.com: changed the panel name string] Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-01-05ASoC: OMAP: HDMI: Move HDMI codec trigger function to generic HDMI driverRicardo Neri
The function hdmi_audio_trigger is a callback used by ASoC to stop/start HDMI audio. Also, it does not perform IP-specific configuration directly. Hence, it should be placed in the general portion of the HDMI driver, along with the other ASoC callbacks. Also, make this function static. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-01-05OMAPDSS: HDMI: Create function to enable HDMI audioRicardo Neri
In order to separate clearly IP-specific code from general DSS code, a function for OMAP4 audio enable is created. This function is included in the HDMI IP ops to align with the current implementation of the DSS HDMI driver. This function is to be used by the ASoC HDMI audio codec. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-01-05ASoC: OMAP: HDMI: Correct signature of ASoC functionsRicardo Neri
These functions require access to IP-secific data. However, it is not possible to pass such data as a function argument as such functions have a specific signature specified by ASoC. Instead, they will have access to the IP-specific data by calling snd_soc_codec_get_drvdata. The codec driver data is set at probe time. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-01-05ASoC: OMAP: HDMI: Introduce driver data for audio codecRicardo Neri
Under the new DSS architecture for HDMI, there is a clear separation between general DSS code and HDMI IP-specific data. Functions that require access to the HDMI driver IP-specific data receive an hdmi_ip_data structure. The ASoC codec require access to such IP-specific data. Then, instead of accessing it directly, it will be passed as codec driver data. This also helps to have a clear separation between DSS and ASoC portions of the code. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-01-04Xen: consolidate and simplify struct xenbus_driver instantiationJan Beulich
The 'name', 'owner', and 'mod_name' members are redundant with the identically named fields in the 'driver' sub-structure. Rather than switching each instance to specify these fields explicitly, introduce a macro to simplify this. Eliminate further redundancy by allowing the drvname argument to DEFINE_XENBUS_DRIVER() to be blank (in which case the first entry from the ID table will be used for .driver.name). Also eliminate the questionable xenbus_register_{back,front}end() wrappers - their sole remaining purpose was the checking of the 'owner' field, proper setting of which shouldn't be an issue anymore when the macro gets used. v2: Restore DRV_NAME for the driver name in xen-pciback. Signed-off-by: Jan Beulich <jbeulich@suse.com> Cc: Jens Axboe <axboe@kernel.dk> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Cc: Ian Campbell <ian.campbell@citrix.com> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
2012-01-03grvga: fix section mismatch warningsSam Ravnborg
Fix following section mismatch warnings: WARNING: drivers/video/built-in.o(.devinit.text+0x110): Section mismatch in reference from the function grvga_probe() to the function .init.text:grvga_parse_custom() The function __devinit grvga_probe() references a function __init grvga_parse_custom(). If grvga_parse_custom is only used by grvga_probe then annotate grvga_parse_custom with a matching annotation. WARNING: drivers/video/built-in.o(.devinit.text+0x1f8): Section mismatch in reference from the function grvga_probe() to the variable .init.data:grvga_fix The function __devinit grvga_probe() references a variable __initdata grvga_fix. If grvga_fix is only used by grvga_probe then annotate grvga_fix with a matching annotation. WARNING: drivers/video/built-in.o(.devinit.text+0x204): Section mismatch in reference from the function grvga_probe() to the variable .init.data:grvga_fix The function __devinit grvga_probe() references a variable __initdata grvga_fix. If grvga_fix is only used by grvga_probe then annotate grvga_fix with a matching annotation. grvga_fix is used in a function annotated __devinit - so match this using a __devinitdata annotation on grvga_fix. grvga_parse_custom() is used in a function annotated __devinit - so match this by annotating grvga_parse_custom() with __devinit too. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Kristoffer Glembo <kristoffer@gaisler.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-01-03video: s3c-fb: Don't keep device runtime active when openMark Brown
Allow the controller to be runtime suspended when the screen is blanked by not taking a runtime reference while the device is open. This allows greater system wide power savings when used with a standard application layer and ensures that the screen does not blank unless requested. 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>
2012-01-03video: s3c-fb: Hold runtime PM references when touching registersMark Brown
Take a runtime PM reference whenever updating registers in preparation for suspending the device when the framebuffer is blanked. 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>
2012-01-03video: s3c-fb: Take a runtime PM reference when unblankedMark Brown
When the framebuffer is unblanked hold a runtime PM reference. This prevents us powering down when userspace has left an image on the framebuffer and prepares the way for being able to power down the hardware when an application still has the device open. Since we now hold a runtime PM reference whenever the display is unblanked there is no need for the runtime power management to disable and enable the display, and doing so would lead to runtime PM trying to recurse into itself when called from the blanking code, so split the runtime PM into separate functions which only deal with the clocks. The PM core will runtime resume the device prior to system suspend. 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>
2012-01-03video: s3c-fb: Disable runtime PM in error paths from probeMark Brown
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>
2012-01-03video: s3c-fb: Use s3c_fb_enable() to enable the framebufferMark Brown
The s3c-fb driver has a function called s3c_fb_enable() which turns on and off the physical output. However it is only actually used in paths which disable the screen, the enabling just writes to the register. Make the code less confusing by ensuring that the enable also goes through the same path. 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>
2012-01-03video: s3c-fb: Make runtime PM functional againMark Brown
The change in "video: s3c-fb: modify runtime pm functions" (commit 35784b) renders the runtime power management for the device completely ineffectual as while it leaves runtime power management notionally enabled a runtime power reference is held for the entire time the device is registered meaning it will never actually do anything. A further issue is introduced as runtime power management is added during the system suspend path which is not something which drivers are supposed to do and would interact poorly if there were any operations done in the runtime power management callbacks. While this does make things simpler (the main motivation for the original change) it will not only cause us to use more power in the framebuffer controller but will also prevent us entering lower power domain and SoC wide states as we can never power down the domain containing the device. Since neither of these things is desirable revert the change. 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>
2012-01-03drivers/video: fsl-diu-fb: merge fsl_diu_alloc() into map_video_memory()Timur Tabi
Functions fsl_diu_alloc() and fsl_diu_free() were only being called by map_video_memory() and unmap_video_memory(), respectively. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-01-03drivers/video: fsl-diu-fb: add default platform ops functionsTimur Tabi
The DIU driver requires some platform-specific functions to be defined, but two them can be optional because most platforms implement them the same way. Functions set_gamma_table() and get_pixel_format() are only needed because of quirks in the Freescale MPC8610 HPCD reference board. For other boards, a generic implementation works, so we shouldn't require the platform code to define them. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-01-03drivers/video: fsl-diu-fb: remove broken reference count enabling the displayTimur Tabi
The functions enable_lcdc() and disable_lcdc() used the variable fb_enable to keep a reference count of when the display is enabled, but the code is broken. The display is always disabled when disable_lcdc(), and it is always enabled when enable_lcdc() is called, regardless of the value of fb_enable. Obviously, we don't need to keep a reference count, so just remove the variable. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-01-03drivers/video: fsl-diu-fb: set correct framebuffer flagsTimur Tabi
The DIU uses system RAM for the framebuffer, so FBINFO_VIRTFB should be set. Since the framebuffer is in system RAM, it can be read from more quickly than written to, so FBINFO_READS_FAST should be set. We can also set FBINFO_PARTIAL_PAN_OK for the same reasons. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-01-03drivers/video: fsl-diu-fb: merge init_fbinfo() into install_fb()Timur Tabi
Function init_fbinfo() is called only from install_fb(), and it's only a few lines long. Plus, it ignores the return code from fb_alloc_cmap(). Merge its contents into install_fb() and handle errors properly. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-01-03offb: Fix setting of the pseudo-palette for >8bppBenjamin Herrenschmidt
When using a >8bpp framebuffer, offb advertises truecolor, not directcolor, and doesn't touch the color map even if it has a corresponding access method for the real hardware. Thus it needs to set the pseudo-palette with all 3 components of the color, like other truecolor framebuffers, not with copies of the color index like a directcolor framebuffer would do. This went unnoticed for a long time because it's pretty hard to get offb to kick in with anything but 8bpp (old BootX under MacOS will do that and qemu does it). Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> CC: stable@kernel.org
2012-01-03offb: Add palette hack for qemu "standard vga" framebufferBenjamin Herrenschmidt
We rename the mach64 hack to "simple" since that's also applicable to anything using VGA-style DAC IO ports (set to 8-bit DAC) and we use it for qemu vga. Note that this is keyed on a device-tree "compatible" property that is currently only set by an upcoming version of SLOF when using the qemu "pseries" platform. This is on purpose as other qemu ppc platforms using OpenBIOS aren't properly setting the DAC to 8-bit at the time of the writing of this patch. We can fix OpenBIOS later to do that and add the required property, in which case it will be matched by this change. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-01-03offb: Fix bug in calculating requested vram sizeBenjamin Herrenschmidt
We used to try to request 8 times more vram than needed, which would fail if the card has a too small BAR (observed with qemu & kvm). Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> CC: stable@kernel.org
2012-01-02misc latin1 to utf8 conversionsAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2012-01-02OMAPDSS: DISPC: Update Scaling Clock LogicChandrabhanu Mahapatra
Clock requirements for scaling in OMAP2, OMAP3 and OMAP4 are different. In OMAP2 and OMAP3 the required clock rate is a function of pixel clock, vertical downscale ratio and horizontal downscale ratio whereas in OMAP4 it is a function of pixel clock and horizontal downscale ratio only. Selection of 3-tap vs 5-tap coefficients depends on clock rate line buffer width in OMAP3 whereas in OMAP4 it is independent of clock rate and line buffer width. In OMAP2 3-tap for vertical and 5-tap for horizontal scaling is used. In OMAP4 5-tap is used both for horizontal and vertical scaling for better performance. Also, the number and width of line buffers differs in OMAP3 and OMAP4. So, clock functions have been fined tuned for OMAP3 and support has been added added for OMAP4. This code has been tested on OMAP2, OMAP3 and OMAP4, and scaling issues due to clock errors have been resolved. Signed-off-by: Chandrabhanu Mahapatra <cmahapatra@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
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>