summaryrefslogtreecommitdiffstats
path: root/include/video
Commit message (Collapse)AuthorAgeFilesLines
* OMAP: DSS2: Remove unused opt_clock_availableTomi Valkeinen2011-07-251-2/+0
| | | | | | opt_clock_available() is no longer needed, so remove it. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: rewrite use of context_loss_countTomi Valkeinen2011-07-251-1/+1
| | | | | | | | | | | | | | | The function to get device's context loss count has changed from omap_pm_get_last_off_on_transaction_id() to omap_pm_get_dev_context_loss_count() Change name of the function pointer in omapdss.h accordingly, and use the term "context loss count" instead of "context id" in the code. Restructure the context loss count functions to handle errors properly, and ensure that context is always considered lost if an error happens. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: Add Color Phase Rotation supportTomi Valkeinen2011-07-011-0/+9
| | | | | | | | | | | | | Add Color Phase Rotation (CPR) support and sysfs files to enable CPR and to set the CPR coefficient matrix. CPR is enabled via manager?/cpr_enable file, and the coefficient matrix is set via manager?/cpr_coef file. The values in cpr_coef are in the following order: RR RG RB GR GG GB BR BG BB Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: remove update_mode from omapdssTomi Valkeinen2011-07-011-11/+0
| | | | | | | | Remove the whole update_mode stuff from omapdss driver. If automatic update for manual update displays is needed, it's better implemented in higher layers. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: remove extra includes from include/video/omapdss.hTomi Valkeinen2011-07-011-2/+0
| | | | | | | | | omapdss.h included platform_device.h and atomic.h, neither of which is needed by omapdss.h. Remove those includes from omapdss.h, and fix the affected .c files which did not include platform_device.h even though they should. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
*-. Merge branches 'common/fbdev' and 'common/fbdev-meram' of ↵Paul Mundt2011-05-242-0/+71
|\ \ | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6
| | * sh_mobile_meram: Add support for NV24 framebuffersDamian2011-05-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Since the NV24 framebuffer has a CbCr plane that is twice as wide as the Y plane, it needs to be handled as a special case. Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh_mobile_meram: MERAM framework for LCDCDamian2011-05-232-0/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on the patch by Takanari Hayama <taki@igel.co.jp> Adds support framework necessary to use Media RAM (MERAM) caching functionality with the LCDC. The MERAM is accessed through up to 4 Interconnect Buffers (ICBs). ICB numbers and MERAM address ranges to use are specified in by filling in the .meram_cfg member of the LCDC platform data Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | Merge branch 'for-paul' of git://gitorious.org/linux-omap-dss2/linuxPaul Mundt2011-05-243-0/+711
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | Conflicts: drivers/video/omap2/dss/dsi.c drivers/video/omap2/dss/dss_features.c drivers/video/omap2/dss/dss_features.h Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | OMAP: DSS2: Add support for NV12 formatAmber Jain2011-05-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the support for NV12 color format. Configure base address for UV component of NV12 color format. Change the way chroma scaling is handled for YUV formats on OMAP4 by enabling chroma-resampling for video pipeline and hence using FIR2 register set for scaling UV. Changes to _dispc_set_scaling(), because of the reason above, are: - call _dispc_set_scaling_common() to handle scaling for all color formats except for OMAP4 where it only handles scaling for RGB or Y-component - call _dispc_set_scaling_uv() for special handling required for UV component on OMAP4. - dispc_set_scaling_uv() also resets chroma-resampling bit for RGB color modes. Contains chroma scaling (_dispc_set_scaling_uv) design and implemented by Lajos Molnar <molnar@ti.com> Signed-off-by: Amber Jain <amber@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP: DSS2: Add new color formats for OMAP4Amber Jain2011-05-231-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add new color formats supported by OMAP4: NV12, RGBA16, RGBX16, ARGB16_1555, XRGB16_1555. NV12 color format is defined here, its support in DSS will be added separately. Signed-off-by: Amber Jain <amber@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP: DSS2: DSI: Get number of DSI data lanes using DSI_GNQ registerArchit Taneja2011-05-161-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On OMAP3, the DSI module has 2 data lanes. On OMAP4, DSI1 has 4 data lanes and DSI2 has 2 data lanes. Introduce function dsi_get_num_data_lanes() which returns the number of data lanes on the dsi interface, introduce function dsi_get_num_data_lanes_dssdev() which returns the number of data lanes used by the omap_dss_device connected to the lanes. Use the DSI_GNQ register on OMAP4 to get the number of data lanes, modify dsi.c to use the number of lanes and the extra data lanes on DSI1. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP: DSS2: RFBI: add omap_rfbi_configureTomi Valkeinen2011-05-121-0/+2
| | | | | | | | | | | | | | | | | | | | | Add omap_rfbi_configure() which the panel driver can use to reconfigure the data element size and the number of data lines in the RFBI bus. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP: DSS2: RFBI: add rfbi_bus_lockTomi Valkeinen2011-05-121-0/+2
| | | | | | | | | | | | | | | | | | | | | Add similar bus lock to RFBI as is in DSI. The panel driver can use the bus lock to mark that the RFBI bus is currently in use. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP4: DSS2: DSI: Changes for DSI2 on OMAP4Archit Taneja2011-05-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce DSI2 PLL clock sources needed by LCD2 channel and DSI2 Protocol engine and DISPC Functional clock. Do the following: - Modify dss_get_dsi_clk_source() and dss_select_dsi_clk_source() to take the dsi module number as an argument. - Create debugfs files for dsi2, split the corresponding debugfs functions. - Allow DPI to use these new clock sources. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP: DSS2: Pass platform_device as an argument in dsi functionsArchit Taneja2011-05-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DSI interface is represented as a platform device, using the DSI platform driver(dsi.c). The current DSI driver design is capable of running only one instance of a DSI device. On OMAP4, there are 2 very similar DSI modules which can be represented as instances of "omapdss_dsi" platform device. Add member "module" in "dssdev.phy.dsi" that tells us which DSI module's lanes the panel is connected to. Modify dsi.c functions to take the device's platform_device struct pointer, provide functions dsi_get_dsidev_from_dssdev() and dsi_get_dsidev_from_id() take the panel's omap_dss_device and module number respectively, and return the platform_device pointer. Currently, the dsi struct is declared globally and is accessed when dsi data is needed. The new pdev argument will be used later to provide the platform device's dsi related data. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP: DSS2: DSI: Add extra omap_dss_device argument in functions exported by dsiArchit Taneja2011-05-121-13/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add pointer to omap_dss_device struct as an argument in the functions which are exported to dsi panel drivers. This argument will tell the DSI driver which DSI interface's data it has to choose. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP: DSS2: Taal: Implement ULPS functionalityTomi Valkeinen2011-05-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ULPS is a low power state where the DSI lanes are kept at ground. This patch implements ULPS by having a DSI bus inactivity timer which triggers the entry to ULPS. ULPS exit will happen automatically when the driver needs to do something on the DSI lanes. The ulps_timeout is configurable from board file or via sysfs. Additionally another sysfs file, "ulps", can be used to check the current ULPS state, or to manually enter or exit ULPS. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP: DSS2: Taal: Implement configurable ESD intervalTomi Valkeinen2011-05-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | ESD check in Taal driver is currently on/off feature with hardcoded interval. This patch changes it to a configurable interval, which can be set from the board file. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP: DSS2: DSI: Add DSI pad muxing supportTomi Valkeinen2011-05-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Add dsi_mux_pads function pointer to omap_dss_board_info, and use the function pointer in DSI code to configure the DSI pads either to normal DSI operation, or to pull down when in ULPS. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP: DSS2: DSI: add parameter to enter ulps on disableTomi Valkeinen2011-05-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add parameter to omapdss_dsi_display_disable() which the panel driver can use to tell if the DSI lanes should be put to ULPS before disabling the interface. This can be used to skip ULPS entry in cases where the panel doesn't care about ULPS state, for example when the panel will be reset, or when the display interface will be enabled again right after the disable. This will speed up the operation considerably in cases where entering ULPS would fail with timeout, and the panel driver isn't even interested in entering ULPS. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP: DSS2: DSI: add option to leave DSI lanes powered onTomi Valkeinen2011-05-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DSI pins are powered by VDDS_DSI. If VDDS_DSI is off, the DSI pins are floating even if they are pinmuxed to, say, safe mode and there's a pull down/up. This patch gives the panel drivers an option to leave the VDDS_DSI power enabled while the DSS itself is turned off. This can be used to keep the DSI lanes in a valid state while DSS is off, if the DSI pins are muxed for pull down (not done in this patch). There will be a slight power consumption increase (~100 uA?) when the VDDS_DSI is left on, but because this option is used when the panel is left on, the regulator consumption is negligible compared to panel power consumption. When the panel is fully turned off the VDDS_DSI is also turned off. As an added bonus this will give us faster start up time when starting up the DSS and the regulator is already enabled. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP: DSS2: HDMI: Use dss_device clock configuration for HDMI PLL parametersArchit Taneja2011-05-111-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move some of the configurable HDMI PLL parameters to dssdev.clock struct. Cleanup the function hdmi_compute_pll() by using the parameters defined in the board file and do some cosmetic modifications. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP2PLUS: DSS2: Add clock sources to dss device clock configurationArchit Taneja2011-05-111-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add enum dss_clock_source in dssdev.clocks struct so that the clock sources can be specified in the board file. Replace hard coded clock sources in dsi.c, dpi.c and replace them with the new clock source members in dssdev.clocks. Modify the sdp4430_lcd_device struct in board-4430sdp.c to specify clock sources for DISPC_FCLK, LCD1_CLK and DSI1_FCLK. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP2PLUS: DSS2: Change enum "dss_clk_source" to "omap_dss_clk_source"Archit Taneja2011-05-111-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change enum dss_clk_source to omap_dss_clock_source and move it to 'plat/display.h'. Change the enum members to attach "OMAP_" in the beginning. These changes are done in order to specify the clock sources for DSS in the board file. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP: DSS2: make omap_dss_(un)register_device staticTomi Valkeinen2011-05-111-3/+0
| | | | | | | | | | | | | | | | | | | | | omap_dss_register_device and omap_dss_unregister_device can only be called from core.c, so we can make it static. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP: DSS2: Add method for querying display dimensions from DSS driversJani Nikula2011-05-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Add get_dimensions() to struct omap_dss_driver. Use the call, if supported by the driver, in OMAPFB. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP: DSS2: move dss device clock configurationTomi Valkeinen2011-05-111-12/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clock configuration was defined inside dssdev.phy.dsi struct. The clock config doesn't really belong there, and so it's moved to dssdev.clock struct. Now the explicit clock configuration could also be used for other interfaces than DSI, although there's no support for it currently. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP: DSS2: Move nokia-dsi-panel.h to include/video/Tomi Valkeinen2011-05-111-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | arch/arm/plat-omap/include/plat/nokia-dsi-panel.h is an include for the OMAP DSS panel driver for Nokia's DSI displays. A more logical place for it is in include/video. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP: DSS2: Move panel-generic-dpi.h to include/video/Tomi Valkeinen2011-05-111-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | arch/arm/plat-omap/include/plat/panel-generic-dpi.h is an include for the OMAP DSS panel driver for generic DPI displays. A more logical place for it is in include/video. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | OMAP: DSS2: Move display.h to include/video/Tomi Valkeinen2011-05-111-0/+589
| |/ | | | | | | | | | | | | arch/arm/plat-omap/include/plat/display.h is an include for the OMAP DSS driver. A more logical place for it is in include/video. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | Merge branch 'master' into for-nextJiri Kosina2011-04-266-7/+8
|\| | | | | | | | | Fast-forwarded to current state of Linus' tree as there are patches to be applied for files that didn't exist on the old branch.
| * Fix common misspellingsLucas De Marchi2011-03-315-7/+7
| | | | | | | | | | | | Fixes generated by 'codespell' and manually reviewed. Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
| * atmel_lcdfb: implement inverted contrast pwmAndreas Bießmann2011-03-221-0/+1
| | | | | | | | | | | | | | | | This patch introduces lcdc->lcdcon_pol_negative which set CONTRAST_CTR register to inverted polarity. Signed-off-by: Andreas Bießmann <biessmann@corscience.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | update David Miller's old email addressJustin P. Mattock2011-04-061-1/+1
|/ | | | | | Signed-off-by: Justin P. Mattock <justinmattock@gmail.com> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* fbdev: sh_mobile_lcdc: Add YUV framebuffer supportDamian Hobson-Garcia2011-03-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Supports YCbCr420sp, YCbCr422sp, and YCbCr44sp, formats (bpp = 12, 16, and 24) respectively. When double-buffering both Y planes appear before the C planes (Y-Y-C-C), as opposed to Y-C-Y-C. Set .nonstd in struct sh_mobile_lcdc_chan_cfg to enable YUV mode, and use .bpp to distiguish between the 3 modes. The value of .nonstd is copied to bits 16-31 of LDDFR in the LCDC and should be set accordingly. .nonstd must be set to 0 for RGB mode. Due to the encoding of YUV data, the framebuffer will clear to green instead of black. In YUV 420 mode, panning is only possible in 2 line increments. Additionally in YUV 420 mode the vertical resolution of the framebuffer must be an even number. Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* fbdev: sh_mobile_lcdcfb: add backlight supportAlexandre Courbot2011-03-101-0/+9
| | | | | | | | | Support for backlight devices controlled through board-specific routines. Backlights can be defined per-channel and follow fbdev directives to switch off as the LCD blanks or is turned on/off. Signed-off-by: Alexandre Courbot <gnurou@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge branch 'fbdev/udlfb'Paul Mundt2011-01-061-0/+95
|\
| * video: udlfb: Kill off special printk wrappers, use pr_fmt().Paul Mundt2011-01-061-16/+0
| | | | | | | | | | | | | | This kills off all of the dl_xxx() printk wrappers and simply stubs in a pr_fmt() definition to accomplish the same thing. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * video: udlfb: Kill off some magic constants for EDID sizing.Paul Mundt2011-01-061-6/+0
| | | | | | | | | | | | The edid length is fixed, so use the standard definition consistently. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * fbdev: move udlfb out of staging.Paul Mundt2010-11-161-0/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | udlfb has undergone a fair bit of cleanup recently and is effectively at the point where it can be liberated from staging purgatory and promoted to a real driver. The outstanding cleanups are all minor, with some of them dependent on drivers/video headers, so these will be done incrementally from udlfb's new home. Requested-by: Bernie Thompson <bernie@plugable.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | Merge branch 'common/fbdev-mipi' of ↵Paul Mundt2011-01-051-0/+6
|\ \ | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6
| * | fbdev: sh_mipi_dsi: support different register layoutsGuennadi Liakhovetski2011-01-051-0/+6
| |/ | | | | | | | | | | | | | | The register layout of the MIPI DSI unit on sh-mobile SoCs differ. Add platform parameters to support such variations. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | Merge branch 'master' of ↵Paul Mundt2010-12-221-1/+0
|\ \ | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
| * | fbdev: da8xx: punt duplicated FBIO_WAITFORVSYNC defineMike Frysinger2010-11-161-1/+0
| |/ | | | | | | | | | | | | | | This is already defined by linux/fb.h now, so punt the duplicate definition from the driver header. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | s1d13xxxfb: drop unused codeAndres Salomon2010-12-211-6/+0
| | | | | | | | | | | | | | | | | | | | | | Silence warnings such as - drivers/video/s1d13xxxfb.c:421: warning: ‘bltbit_wait_bitset’ defined but not used Just drop the unused code. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | fbdev: sh_mobile_hdmi: add support for more precise HDMI clock configurationGuennadi Liakhovetski2010-11-101-0/+3
|/ | | | | | | | | | | The HDMI clock has to be reconfigured for different video modes. However, the precision of the supplying SoC clock on SH-Mobile systems is often insufficient. This patch allows to additionally reconfigure the parent clock to achieve the optimal HDMI clock frequency, in case this is supported by the platform. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/genesis-2.6 into ↵Russell King2010-10-281-1/+4
|\ | | | | | | | | | | | | devel-stable Conflicts: drivers/video/sh_mobile_hdmi.c
| * fbdev: sh_mobile_hdmi: implement lockingGuennadi Liakhovetski2010-09-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | The SH-Mobile HDMI driver runs in several contexts: ISR, delayed work-queue, task context, when called from the sh_mobile_lcdc framebuffer driver. This creates ample race possibilities. Even though most these races are purely theoretical, it is better to close them. To trace fb_info validity we install a notification callback in the HDMI driver, and the only way for it to get to driver internal data is by using struct sh_mobile_lcdc_chan, therefore it had to be extracted into a separate common header. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * fbdev: sh_mobile_lcdcfb: Support multiple video modes in platform dataGuennadi Liakhovetski2010-09-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | This is a preparation for HDMI hotplug support. This patch just moves all platform defined video modes for the sh_mobile_lcdcfb driver to separate arrays and switches all users to use element 0 of that array, so, this patch doesn't introduce any functional changes and as such should not cause any regressions. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>