summaryrefslogtreecommitdiff
path: root/include/video
AgeCommit message (Collapse)AuthorFilesLines
2012-05-22Merge tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-socLinus Torvalds3-21/+28
Pull first batch of arm-soc cleanups from Olof Johansson: "These cleanups are basically all over the place. The idea is to collect changes with minimal impact but large number of changes so we can avoid them from distracting in the diffstat in the other series. A significant number of lines get removed here, in particular because the ixp2000 and ixp23xx platforms get removed. These have never been extremely popular and have fallen into disuse over time with no active maintainer taking care of them. The u5500 soc never made it into a product, so we are removing it from the ux500 platform. Many good cleanups also went into the at91 and omap platforms, as has been the case for a number of releases." Trivial modify-delete conflicts in arch/arm/mach-{ixp2000,ixp23xx} * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (152 commits) ARM: clps711x: Cleanup IRQ handling ARM clps711x: Removed unused header mach/time.h ARM: clps711x: Added note about support EP731x CPU to Kconfig ARM: clps711x: Added missing register definitions ARM: clps711x: Used own subarch directory for store header file Dove: Fix Section mismatch warnings ARM: orion5x: ts78xx debugging changes ARM: orion5x: remove PM dependency from ts78xx ARM: orion5x: ts78xx fix NAND resource off by one ARM: orion5x: ts78xx whitespace cleanups Orion5x: Fix Section mismatch warnings Orion5x: Fix warning: struct pci_dev declared inside paramter list ARM: clps711x: Combine header files into one for clps711x-targets ARM: S3C24XX: Use common macro to define resources on mach-qt2410.c ARM: S3C24XX: Use common macro to define resources on mach-osiris.c ARM: EXYNOS: Adapt to cpuidle core time keeping and irq enable ARM: S5PV210: Use common macro to define resources on mach-smdkv210.c ARM: S5PV210: Use common macro to define resources on dev-audio.c ARM: S5PC100: Use common macro to define resources on dev-audio.c ARM: S5P64X0: Use common macro to define resources on dev-audio.c ...
2012-05-09OMAPDSS: DSI: implement generic DSI pin configTomi Valkeinen2-11/+20
In preparation for device tree, this patch changes how the DSI pins are configured. The current configuration method is only doable with board files and the configuration data is OMAP specific. This patch moves the configuration data to the panel's platform data, and the data can easily be given via DT in the future. The configuration data format is also changed to a generic one which should be suitable for all platforms. The new format is an array of pin numbers, where the array items start from clock + and -, then data1 + and -, and so on. For example: { 0, // pin num for clock lane + 1, // pin num for clock lane - 2, // pin num for data1 lane + 3, // pin num for data1 lane - ... } The pin numbers are translated by the DSI driver and used to configure the hardware appropriately. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: Tony Lindgren <tony@atomide.com>
2012-05-09OMAPDSS: TFP410: rename dvi files to tfp410Tomi Valkeinen1-0/+0
Now that the tfp410 driver has been renamed in the code, this patch finishes the renaming by renaming the files. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: Tony Lindgren <tony@atomide.com>
2012-05-09OMAPDSS: TFP410: rename dvi -> tfp410Tomi Valkeinen1-6/+6
The driver for the TFP410 DPI-to-DVI chip was named quite badly as "DVI panel driver". This patch renames the code to use tfp410 name for the driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: Tony Lindgren <tony@atomide.com>
2012-05-09OMAP: board-files: remove custom PD GPIO handling for DVI outputTomi Valkeinen1-4/+0
Now that the panel-dvi driver handles the PD (power-down) GPIO, we can remove the custom PD handling from the board files. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: Tony Lindgren <tony@atomide.com>
2012-05-09OMAPDSS: panel-dvi: add PD gpio handlingTomi Valkeinen1-0/+2
The driver for the TFP410 chip should handle the power-down signal of the chip, instead of the current way of handling it in the board files. This patch adds power_down_gpio into the device's platform data, and adds the necessary code in the driver to request and handle the GPIO. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-04-22m68k/video: Create <asm/vga.h>Geert Uytterhoeven1-22/+0
For now, it just contains the hack for cirrusfb on Amiga, which is moved out of <video/vga.h> with some slight modifications (use raw_*() instead of z_*(), which are defined on all m68k platforms). This makes it safe to include <video/vga.h> in all contexts. Before it could fail to compile with include/video/vga.h: In function ‘vga_mm_r’: include/video/vga.h:242: error: implicit declaration of function ‘z_readb’ include/video/vga.h: In function ‘vga_mm_w’: include/video/vga.h:247: error: implicit declaration of function ‘z_writeb’ include/video/vga.h: In function ‘vga_mm_w_fast’: include/video/vga.h:253: error: implicit declaration of function ‘z_writew’ or include/video/vga.h:23:21: error: asm/vga.h: No such file or directory depending on the value of CONFIG_AMIGA. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Cc: linux-fbdev@vger.kernel.org Cc: dri-devel@lists.freedesktop.org
2012-03-28Merge branch 'platforms' of git://git.linaro.org/people/rmk/linux-armLinus Torvalds1-0/+63
Pull ARM platform updates from Russell King: "This covers platform stuff for platforms I have a direct interest in (iow, I have the hardware). Essentially: - as we no longer support any other Acorn platforms other than RiscPC anymore, we can collect all that code into mach-rpc. - convert Acorn expansion card stuff to use IRQ allocation functions, and get rid of NO_IRQ from there. - cleanups to the ebsa110 platform to move some private stuff out of its header files. - large amount of SA11x0 updates: - conversion of private DMA implementation to DMA engine support (this actually gives us greater flexibility in drivers over the old API.) - re-worked ucb1x00 updates - convert to genirq, remove sa11x0 dependencies, fix various minor issues - move platform specific sa11x0 framebuffer data into platform files in arch/arm instead of keeping this in the driver itself - update sa11x0 IrDA driver for DMA engine, and allow it to use DMA for SIR transmissions as well as FIR - rework sa1111 support for genirq, and irq allocation - fix sa1111 IRQ support so it works again - use sparse IRQ support After this, I have one more pull request remaining from my current set, which I think is going to be the most problematical as it generates 8 conflicts." Fixed up the trivial conflict in arch/arm/mach-rpc/Makefile as per Russell. * 'platforms' of git://git.linaro.org/people/rmk/linux-arm: (125 commits) ARM: 7343/1: sa11x0: convert to sparse IRQ ARM: 7342/2: sa1100: prepare for sparse irq conversion ARM: 7341/1: input: prepare jornada720 keyboard and ts for sa11x0 sparse irq ARM: 7340/1: rtc: sa1100: include mach/irqs.h instead of asm/irq.h ARM: sa11x0: remove unused DMA controller definitions ARM: sa11x0: remove old SoC private DMA driver USB: sa1111: add hcd .reset method USB: sa1111: add OHCI shutdown methods USB: sa1111: reorganize ohci-sa1111.c USB: sa1111: get rid of nasty printk(KERN_DEBUG "%s: ...", __FILE__) USB: sa1111: sparse and checkpatch cleanups ARM: sa11x0: don't static map sa1111 ARM: sa1111: use dev_err() rather than printk() ARM: sa1111: cleanup sub-device registration and unregistration ARM: sa1111: only setup DMA for DMA capable devices ARM: sa1111: register sa1111 devices with dmabounce in bus notifier ARM: sa1111: move USB interface register definitions to ohci-sa1111.c ARM: sa1111: move PCMCIA interface register definitions to sa1111_generic.c ARM: sa1111: move PS/2 interface register definitions to sa1111p2.c ARM: sa1111: delete unused physical GPIO register definitions ...
2012-03-21fbdev: sh_mipi_dsi: add extra phyctrl for sh_mipi_dsi_infoKuninori Morimoto1-0/+1
sh_mipi uses some clocks, but the method of setup depends on CPU. Current SuperH (like sh73a0) can control all of these clocks by CPG (Clock Pulse Generator). It means we can control it by clock framework only. But on sh7372, it needs CPG settings AND sh_mipi PHYCTRL::PLLDS, and only sh7372 has PHYCTRL::PLLDS. But on current sh_mipi driver, PHYCTRL::PLLDS of sh7372 was overwrote since the callback timing of clock setting was changed by c2658b70f06108361aa5024798f9c1bf47c73374 (fbdev: sh_mipi_dsi: fixup setup timing of sh_mipi_setup()). To solve this issue, this patch adds extra .phyctrl. This patch adds detail explanation for unclear mipi settings and fixup wrong PHYCTRL::PLLDS value for ap4evb (0xb -> 0x6). Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-03-13fbdev: sh_mobile_meram: Remove unneeded sanity checksLaurent Pinchart1-8/+7
The meram_register(), meram_unregister() and meram_update() operations check that the pointers they get from the caller are not NULL. Those checks can be remove, as the caller already ensures that the pointers are valid. The platform sanity checks can also be removed, as the operations can't be accessed without valid platform data anyway. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_meram: Don't perform update in register operationLaurent Pinchart1-4/+0
Remove the RGB or Y/C base address update from the meram_register() operation, as this belongs to the meram_update() operation. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_lcdc: Don't store copy of platform dataLaurent Pinchart1-1/+1
Instead of copying the whole platform data structure to struct sh_mobile_lcdc_chan, store a const pointer to the channel platform data. MERAM configuration information needs to be changed at runtime, so copy it to struct sh_mobile_lcdc_chan. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_meram: Remove unused sh_mobile_meram_icb_cfg fieldsLaurent Pinchart1-2/+0
The marker_icb and cache_icb fields are not used anymore, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_meram: Allocate ICBs automaticallyLaurent Pinchart1-11/+16
Instead of manually specifying the ICBs to use in platform data, allocate them automatically at runtime. The range of reserved ICBs (for instance to be used through UIO), if any, is passed in the platform data reserved_icbs field as a bitmask. The MERAM registration function now returns a pointer to an opaque MERAM object, which is passed to the update and unregistration functions. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_meram: Use genalloc to manage MERAM allocationLaurent Pinchart1-1/+0
Instead of requiring the users to hardcode MERAM allocation in platform data, allocate blocks at runtime using genalloc. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_meram: Add struct sh_mobile_meram_icbLaurent Pinchart1-8/+4
The new structure stores ICB parameters for ICBs. Instead of modifying the struct sh_mobile_meram_cfg instances passed by callers, store the ICB parameters internally and make the public API take const pointers to sh_mobile_meram_cfg. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_meram: Make variables unsigned where applicableLaurent Pinchart1-2/+4
Many variables, such as loop counters, sizes and offsets, should be unsigned integers. Make them so. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_meram: Add _cfg suffix to struct sh_mobile_meram_icbLaurent Pinchart1-7/+7
The structure describe ICB configuration, no ICB objects themselves. Rename it to sh_mobile_meram_icb_cfg in preparation for the addition of an ICB structure. All the structure fields are unsigned integers, make them so. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_lcdc: Rename (lcd|num)_cfg (lcd|num)_modesLaurent Pinchart1-2/+2
The struct sh_mobile_lcdc_chan_cfg platform data contains a list of video modes. Name the lcd_cfg and num_cfg fields to reflect that they describe video modes. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_lcdc: Merge board_cfg and lcd_size_cfg into panel_cfgLaurent Pinchart1-8/+4
Update board code accordingly. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_lcdc: Move brightness ops to sh_mobile_lcdc_bl_infoLaurent Pinchart1-2/+2
Update board code accordingly. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_lcdc: Remove board configuration board_data fieldLaurent Pinchart1-7/+6
The field is unused, remove it. Update board code accordingly. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_lcdc: Remove board configuration owner fieldLaurent Pinchart1-2/+0
The field is unused, remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_hdmi: Remove sh_mobile_hdmi_info lcd_chan fieldLaurent Pinchart1-1/+0
The field is unused, remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_lcdc: Handle HDMI/MIPI transmitter device directlyLaurent Pinchart1-0/+2
Pass a pointer to the transmitter device through platform data, retrieve the corresponding sh_mobile_lcdc_entity structure in the probe method and call the transmitter display_on/off methods directly. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13sh_mobile_hdmi: Remove platform data lcd_dev fieldLaurent Pinchart1-1/+0
The field is used to print debug messages only. Remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-02udlfb: fix hcd_buffer_free panic on unplug/replugBernie Thompson1-0/+1
Fix race conditions with unplug/replug behavior, in particular take care not to hold up USB probe/disconnect for long-running framebuffer operations and rely on usb to handle teardown. Fix for kernel panic reported with new F17 multiseat support. Reported-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Bernie Thompson <bernie@plugable.com>
2012-02-21FB: sa1100: remove global sa1100fb_.*_power function pointersRussell King1-0/+4
Now that we have platform data contained within the individual board code, we can get rid of the global function pointers, placing them inside the platform data instead. Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-02-21FB: sa1100: move machine inf structures to <video/sa1100fb.h>Russell King1-0/+59
Move the LCD data structures to an include file which can be shared with the board code in arch/arm/mach-sa1100. Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-02-13video: support DP controller driverJingoo Han1-0/+131
Samsung EXYNOS SoC such Exynos5 has DP controller and embedded DP panel can be used. This patch supports DP driver based on Samsung EXYNOS SoC chip. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-02-13video: support MIPI-DSI controller driverDonghwa Lee1-0/+359
Samsung S5PC210 and EXYNOS SoC platform has MIPI-DSI controller and MIPI-DSI based LCD Panel could be used with it. This patch supports MIPI-DSI driver based Samsung SoC chip. LCD panel driver based MIPI-DSI should be registered to MIPI-DSI driver at machine code and LCD panel driver specific function registered to mipi_dsim_ddi structure at lcd panel init function called system init. In the MIPI-DSI driver, find lcd panel driver by using registered lcd panel name, and then initialize lcd panel driver. Signed-off-by: Donghwa Lee <dh09.lee@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Jingoo Han <jg1.han@samsung.com> Cc: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-02-08Merge tag 'fbdev-fixes-for-3.3-1' of git://github.com/schandinat/linux-2.6Linus Torvalds1-0/+5
fbdev fixes for 3.3 It includes: - compile fix for fsl-diu-fb - fix for a suspend/resume issue in atmel_lcdfb - fix for a suspend/resume issue in OMAP - workaround for a hardware bug to avoid physical damage in OMAP - really trivial dead code removal in intelfb * tag 'fbdev-fixes-for-3.3-1' of git://github.com/schandinat/linux-2.6: atmel_lcdfb: fix usage of CONTRAST_CTR in suspend/resume intelfb: remove some dead code drivers/video: compile fixes for fsl-diu-fb.c OMAPDSS: HDMI: PHY burnout fix OMAP: 4430SDP/Panda: add HDMI HPD gpio OMAP: 4430SDP/Panda: setup HDMI GPIO muxes OMAPDSS: remove wrong HDMI HPD muxing OMAP: 4430SDP/Panda: rename HPD GPIO to CT_CP_HPD OMAP: 4430SDP/Panda: use gpio_free_array to free HDMI gpios OMAPDSS: use sync versions of pm_runtime_put
2012-01-28Merge commit 'v3.3-rc1' into fbdev-nextFlorian Tobias Schandinat1-4/+2
2012-01-26OMAPDSS: HDMI: PHY burnout fixTomi Valkeinen1-0/+5
A hardware bug in the OMAP4 HDMI PHY causes physical damage to the board if the HDMI PHY is kept powered on when the cable is not connected. This patch solves the problem by adding hot-plug-detection into the HDMI IP driver. This is not a real HPD support in the sense that nobody else than the IP driver gets to know about the HPD events, but is only meant to fix the HW bug. The strategy is simple: If the display device is turned off by the user, the PHY power is set to OFF. When the display device is turned on by the user, the PHY power is set either to LDOON or TXON, depending on whether the HDMI cable is connected. The reason to avoid PHY OFF when the display device is on, but the cable is disconnected, is that when the PHY is turned OFF, the HDMI IP is not "ticking" and thus the DISPC does not receive pixel clock from the HDMI IP. This would, for example, prevent any VSYNCs from happening, and would thus affect the users of omapdss. By using LDOON when the cable is disconnected we'll avoid the HW bug, but keep the HDMI working as usual from the user's point of view. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-01-15Merge branch 'for-next' of git://git.infradead.org/users/dhowells/linux-headersLinus Torvalds1-4/+2
* 'for-next' of git://git.infradead.org/users/dhowells/linux-headers: UAPI: Split trivial #if defined(__KERNEL__) && X conditionals UAPI: Don't have a #elif clause in a __KERNEL__ guard in linux/soundcard.h UAPI: Fix AHZ multiple inclusion when __KERNEL__ is removed UAPI: Make linux/patchkey.h easier to parse UAPI: Fix nested __KERNEL__ guards in video/edid.h UAPI: Alter the S390 asm include guards to be recognisable by the UAPI splitter UAPI: Guard linux/cuda.h UAPI: Guard linux/pmu.h UAPI: Guard linux/isdn_divertif.h UAPI: Guard linux/sound.h UAPI: Rearrange definition of HZ in asm-generic/param.h UAPI: Make FRV use asm-generic/param.h UAPI: Make M32R use asm-generic/param.h UAPI: Make MN10300 use asm-generic/param.h UAPI: elf_read_implies_exec() is a kernel-only feature - so hide from userspace UAPI: Don't include linux/compat.h in sparc's asm/siginfo.h UAPI: Fix arch/mips/include/asm/Kbuild to have separate header-y lines
2012-01-08Merge branch 'for-florian' of git://gitorious.org/linux-omap-dss2/linux into ↵Florian Tobias Schandinat1-24/+34
fbdev-next
2012-01-05OMAPDSS: HDMI: Disable DDC internal pull upMythri P K1-1/+5
Disables the internal pull resistor for SDA and SCL which are enabled by default, as there are external pull up's in 4460 and 4430 ES2.3 SDP, Blaze and Panda Boards, It is done to avoid the EDID read failure. Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@linaro.org> Signed-off-by: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-01-05OMAPDSS: HDMI: Move duplicate code from boardfileMythri P K1-0/+2
Move duplicate HDMI mux_init code from omap4 and panda board file to display file. Signed-off-by: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2011-12-20fbdev: sh_mobile_lcdc: Support FOURCC-based format APILaurent Pinchart1-2/+2
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2011-12-18Merge commit 'v3.2-rc6' into fbdev-nextFlorian Tobias Schandinat1-7/+0
2011-12-13UAPI: Fix nested __KERNEL__ guards in video/edid.hDavid Howells1-4/+2
Fix nested __KERNEL__ guards in video/edid.h to make parsing easier. Signed-off-by: David Howells <dhowells@redhat.com>
2011-12-02OMAPDSS: Add comments about blocking of ovl/mgr functionsTomi Valkeinen1-0/+22
Add comments specifying what ovl/mgr functions may block. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2011-12-02OMAPDSS: APPLY: remove device_changed fieldTomi Valkeinen1-2/+0
omap_overlay_manager contains device_changed field, which no longer has any use. So remove the field and the few places where it is touched. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2011-12-02OMAPDSS: APPLY: move channel-field to extra_info setTomi Valkeinen1-2/+0
Setting overlay's output channel is currently handled at the same time as other overlay attributes. This is not right, as the normal attributes should only affect one overlay and manager, but changing the channel affects two managers. This patch moves the channel field into the "extra_info" set, handled together with enabled-status. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2011-12-02OMAPDSS: APPLY: move ovl->info to apply.cTomi Valkeinen1-3/+0
struct omap_overlayr contains info and info_dirty fields, both of which should be internal to apply.c. This patch moves those fields into ovl_priv data, and names them user_info and user_info_dirty. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2011-12-02OMAPDSS: APPLY: move mgr->info to apply.cTomi Valkeinen1-3/+0
struct omap_overlay_manager contains info and info_dirty fields, both of which should be internal to apply.c. This patch moves those fields into mgr_priv data, and names them user_info and user_info_dirty. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2011-12-02OMAPDSS: APPLY: rewrite overlay enable/disableTomi Valkeinen1-2/+4
Overlays are currently enabled and disabled with a boolean in the struct omap_overlay_info. The overlay info is set with ovl->set_overlay_info(), and made into use with mgr->apply(). This doesn't work properly, as the enable/disable status may affect also other overlays, for example when using fifo-merge. Thus the enabling and disabling of the overlay needs to be done outside the normal overlay configuration. This patch achieves that by doing the following things: 1) Add function pointers to struct omap_overlay: enable(), disable() and is_enabled(). These are used to do the obvious. The functions may block. 2) Move the "enabled" field from struct omap_overlay to ovl_priv_data. 3) Add a new route for settings to be applied to the HW, called "extra_info". The status of the normal info and extra_info are tracked separately. The point here is to allow the normal info to be changed and applied in non-blocking matter, whereas the extra_info can only be changed when holding the mutex. This makes it possible to, for example, set the overlay enable flag, apply it, and wait until the HW has taken the flag into use. This is not possible if the enable flag would be in the normal info, as a new value for the flag could be set at any time from the users of omapdss. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2011-12-02OMAPDSS: APPLY: move mgr->enabled to mgr_priv_dataTomi Valkeinen1-2/+0
struct omap_overlay_manager contains "enabled"-field, used to track if the manager is enabled or not. This field should be internal to apply.c. This patch moves the field to mgr_priv_data, and applies the necessary locking when accessing the field. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2011-12-02OMAPDSS: DSI: call mgr_enable/disable for cmd mode displaysTomi Valkeinen1-2/+2
The current code uses dsi_video_mode_enable/disable functions to enable/disable DISPC output for video mode displays. For command mode displays we have no notion in the DISPC side of whether the panel is enabled, except when a dss_mgr_start_update() call is made. However, to properly maintain the DISPC state in apply.c, we need to know if a manager used for a manual update display is currently in use. This patch achieves that by changing dsi_video_mode_enable/disable to dsi_enable/disable_video_output, which is called by both video and command mode displays. For video mode displays it starts the actual pixel stream, as it did before. For command mode displays it doesn't do anything else than mark that the manager is currently in use. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2011-12-02OMAPDSS: store overlays in a list for each managerTomi Valkeinen1-2/+1
Current way of handling overlay-manager links is a bit strange: each manager has a static array, containing pointers to all the overlays (even those used by other managers). The overlays contain a pointer to the manager being used. This patch makes the system a bit saner: each manager has a linked list of overlays, and only the overlays linked to that manager are in the list. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>