aboutsummaryrefslogtreecommitdiffstats
path: root/include/video
Commit message (Collapse)AuthorAgeFilesLines
* Revert "(TEMP) OMAP: DSS: enable video decoding"Lajos Molnar2011-07-112-593/+1
| | | | | | | | This will be reapplied using individual patches. This reverts commit a7e96985ea15176a46ed3d767c58baf3c36d510e. Signed-off-by: Lajos Molnar <molnar@ti.com>
* (TEMP) OMAP: DSS: enable video decodingLajos Molnar2011-06-232-1/+593
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add global alpha settings for video 1 overlay in _dispc_setup_global_alpha. On OMAP4 VID1 has global alpha. Change-Id: Iaafaae6283c322a6962d24c0fefa253acd1505f0 Signed-off-by: Lajos Molnar <molnar@ti.com> OMAP4: DSS: Fix incorrect OMAP3-alpha compatibility setting Alpha blending is always enabled on OMAP4. The meaning of the alpha enabled bits in DISPC_CONFIG registers now enabled OMAP3 compatibility mode which disables ZORDER settings. This is not what we want when we set alpha blending. This patch sets alpha blending always to true on OMAP4. It also turns off OMAP3 compatibility mode for now, and reports the compatibility mode results when querying dispc_alpha_blending. Change-Id: Ie7af6835c0415681ae09bc220522e7c692c03e61 Signed-off-by: Lajos Molnar <molnar@ti.com> OMAP: DSS2: Add DISPC VIDEO3 pipeline support VID3 and Writeback pipeline registers have a linear relation, introduce these registers and access these registers in DISPC functions. Add a dss_feature for VIDEO3 pipeline. Configure color conversion and global alpha for this new pipeline. Also, create overlay object for the new video pipe. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Lajos Molnar <molnar@ti.com> OMAP: DSS2: Add zorder support on OMAP4 Add zorder Support on OMAP4, this feature allows deciding the visibility order of the overlays based on the zorder value provided as a sysfs attribute of the overlay object. Since this feature is not supported on OMAP3 and OMAP2, the sysfs attibutes always return zorder as 0 and do not write to dispc registers for non OMAP4 architectures. Signed-off-by: Sumit Semwal <sumit.semwal@ti.com> Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Mark Tyler <mark.tyler@ti.com> Signed-off-by: Lajos Molnar <molnar@ti.com> OMAP4: DSS: Making the deault color format of framebuffer ARGB32 Earlier the default color format,frmamebuffer has,was xRGB24U but SGX is producing data in ARGB32. Also,SGX,the FB driver user,doesnt negotiates with FB driver for the format and thus FB needs to provide ARGB32 to align with SGX format. http://git.omapzoom.org/?p=kernel/omap.git;a=commit;h=c75a7e1b83d446650b0f393746f8a810242a8739 Signed-off-by: Mark Tyler <mark.tyler@ti.com> OMAP4:DSS: Added TILER support for DSS Added support for displaying buffers located in the TILER 2D containers. Buffers in TILER 1D containers can be displayed using OMAP_DSS_ROT_DMA. Change-Id: I86b231ed5775e410acf31bb49deb817c0989c16b Signed-off-by: Lajos Molnar <molnar@ti.com> OMAP: DSS2: Add callback for tracking overlay/manager changes This patch allows tracking when a particular overlay or manager change has taken place, and when it is eclipsed (no longer used). In DSS2 overlay/manager information travels through 4 stages: 1: (software) overlay/manager info 2: (software) cache (on manager->apply()) 3: (hardware) shadow registers (on configure()) 4: (hardware) DISPC (on vsync or go/enable) Callback information for each settings can be passed as part of the info structure (info->cb), which is the following struct: struct omapdss_ovl_cb { void (*fn)(void *data, int id, int status); void *data; }; id contains to the overlay/manager index. If fn is NULL, no callback will take place. Otherwise, callbacks will be generated on programming (when settings get into the DISPC), when the settings are displayed, and on eclipse (when settings are overwritten by newer settings). Depending on the stage where the eclipse happens, a different callback is generated. Status is one of the DSS_COMPLETION_... enum values specifying the event. DSS_COMPLETION_ECLIPSED_SET - info was overwritten at stage 1 DSS_COMPLETION_ECLIPSED_CACHE - info was overwritten at stage 2 DSS_COMPLETION_ECLIPSED_SHADOW - info was overwritten at stage 3 DSS_COMPLETION_RELEASED - info was overwritten at stage 4 (after successfully being displayed) DSS_COMPLETION_TORN - info was overwritten at stage 4 (before it was successfully displayed) DSS_COMPLETION_PROGRAMMED - info moved from stage 3 to stage 4 (this follows the prior info's callback of DSS_COMPLETION_RELEASED/TORN) DSS_COMPLETION_DISPLAYED - info in stage 4 has been successfully displayed. This callback is received on every frame refresh. If only the first display is required, it needs to be filtered out in the callback. You can use the DSS_COMPLETION_RELEASED flag to see if an info has been eclipsed (so you don't have to check for all 5 values). There is a fundamental issue with tracking DSS settings in the current DSS2 framework. Pipeline/manager settings are programmed first into an info structure that stays around. These settins can be modified piece-by-piece - as they are done using the sysfs framework. Theoretically, these cause the old settings to be eclipsed by the new settings. However, sysfs interface is used to augment the other DSS2 users that would register for these callbacks. Therefore, we need to treat these partial updates specially. For now - if the callback function and data are the same - a different status is used: DSS_COMPLETION_CHANGED_SET. Now these auxiliary interfaces also apply the changes automatically, so a similar method needs to be used at level 2. (DSS_COMPLETION_CHANGED_CACHE) This, however, causes callback info to stay around at the level 1 interface making it not useful for tracking the status. We cannot guarantee that the information is tracked from setting to release/eclipse if future settings may end up reusing (ignorantly) the same callback info. For now the callback info is cleared at level 1 when transferred to level 2. If other - callback unaware - DSS2 users modify overlay/manager settings, (e.g. using sysfs controls in any way), they will not reset the callback. We err on the side of sysfs, and we will not treat a settings application (transferring level 1 info to level 2) as eclipsed if the level-1 callback method is empty. This works for sysfs changes, but we will be a missed callback if V4L2 or FB is changing the base address, and we are using the callbacks to track buffer usage. The other issue is using sysfs to enable/disable an overlay. We may get a RELEASED event on disable, but no usage callback is done on subsequent enable because sysfs will not request a callback. Change-Id: I0b7fdbeefe71e40dc86ec8401dbc7e82374eaeb5 Signed-off-by: Lajos Molnar <molnar@ti.com> Signed-off-by: Mark Tyler <mark.tyler@ti.com> OMAP:DSS:DSSCOMP: New composition module This patch implements a new DSS composition module. DSSCOMP allows specifying a whole composition for a DSS display: 1. set overlay information for all overlays on a manager 2. reroute the overlays to the manager (overlay must be disabled just as when using sysfs) 3. set manager information 4. optionally call manager->apply() that programs the DISPC 4. optionally do an update (after a sync call) DSS already implements coordinated updates by separating overlay information setting from the applicaion of those settings (which happens only in manager->apply()). However current users of DSS call manager->apply() for each change, which make coordinated change impossible. This API also implements auto cropping of all layers to the display region. This makes switching displays and handling display resolution changes easier (without getting "failed to setup overlay" messages.) DSSCOMP operates on 3 levels. base.c contains the basic DSS operations, such as setting DSS overlay and managers using DSSCOMP's setting structures. Theoretically, DSSCOMP could be used via only these operations. queue.c contains the queuing mechanism. This module maintains compositions queued to each overlay manager (the basic DSS composition entity). Each composition is referred to by a unique sync-id. Queueing operations consist of creating a composition, setting/getting manager/overlay information for the composition, applying the composition to the display (which also displays it on manually updated panels), waiting on various states of a composition. For now the basic queuing mechanism of DSSCOMP is "queue and forget". Therefore, it is not necessary to dequeue each frame queued. A consequence of this methodology is that if one applies a composition to a display, any prior unapplied compositions will be dropped. The queuing interface tracks which overlay is assigned to which manager. This is done at the DSS programming level, as that is the most reliable place to monitor overlay ownership. Nonetheless, the device interface uses overlay information to verify overlay ownership - which may be slightly out of sync. The user of DSSCOMP should maintain overlay ownership to ensure flawless sharing of overlays between managers. (E.g. should not use an overlay on a new manager, until the overlay has been disabled on the previous manager, and that composition has been programmed.) device.c contains the device hooks to operating system, and the file interface (via /dev/dsscomp's ioctls). /dev/dsscomp works on top of the queueing mechanism. There are 3 levels of header files. linux/dsscomp.h: basic dsscomp structures and ioctls plat/dsscomp.h: kernel dsscomp interface (on top of linux/dsscomp.h) local dsscomp.h: common implementation structures and shared methods Note: plat/dsscomp.h defines a handle typedef that causes a checkpatch warning. I feel that the creation of a handle typedef is warranted. Limitations: - no WB support - unsure whether to call sync on non-manual update panels - cannot get overlay/manager information on a composition without first having set it - not fully operational - still debugging some unit test issues Change-Id: I5826a409f4fd258c8ce86e782c5e6bdd4bf9bcf4 Signed-off-by: Lajos Molnar <molnar@ti.com> OMAP:DSS:DSSCOMP: Add DSS composition module to build/config system This patch links in the DSS composition (dsscomp) module into the build and configuration system. DSS composition is enabled by default. Change-Id: I5b480dc10b17c5e37f5611baf96a20217cb6ec3e Signed-off-by: Lajos Molnar <molnar@ti.com> Signed-off-by: Mark Tyler <mark.tyler@ti.com> OMAP:OMAPLFB: *HACK* Adapted to DSSCOMP OMAPLFB must call DSSCOMP's apply so that the related overlays are also programmed into DSS. Change-Id: Ia8c1c181028fb7f241677e9657a1d402c8724ee8 Signed-off-by: Mark Tyler <mark.tyler@ti.com> Signed-off-by: Lajos Molnar <molnar@ti.com> OMAP4:DSS: Jumbo patch to enable predecimation Includes the following fixes: - fixed color format modes for non-GFX pipelines - fixed NV12 support in 1D mode buffer - added all color formats to configure_overlay() Predecimation - added predecimation support for NV12/YUV/rotated/SDMA buffers - added scaling decision (predecimation) - added conservative fclk calculation - added sysfs controls - tied into DSSCOMP Signed-off-by: Lajos Molnar <molnar@ti.com> OMAP4:DSS: Fix maxdownscale limits for OMAP4 in DISPC setup plane. Signed-off-by: Mark Tyler <mark.tyler@ti.com>
* video: omap: add dsi video mode supportErik Gilling2011-06-131-1/+15
| | | | | Change-Id: I318ac11fbdb57e13cc9a4d4c8f0de3212493a6ec Signed-off-by: Erik Gilling <konkers@android.com>
* Merge remote branch 'dss2/pmruntime' into linux-omap-dss-3.0Erik Gilling2011-06-131-5/+1
|\ | | | | | | Change-Id: I5d91811e0b6af6d48d1a139ac43ee951f5a2cc42
| * OMAP: DSS2: Remove unused opt_clock_availableTomi Valkeinen2011-06-061-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-06-061-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: remove extra includes from include/video/omapdss.hTomi Valkeinen2011-05-231-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