summaryrefslogtreecommitdiff
path: root/drivers/video
AgeCommit message (Collapse)Author
2012-11-29Merge branch 'samsung-fb-next' of git://github.com/jingoo/linux into for-linusTomi Valkeinen
Samsung Framebuffer changes for the 3.8 merge window. - The bit definitions of header file are updated. - Some minor typos are fixed. - Some minor bugs of s3c_fb_check_var() are fixed. * 'samsung-fb-next' of git://github.com/jingoo/linux: video: s3c-fb: fix red offset and length for ARGB232 format video: s3c-fb: return an error when bpp is invalid video: s3c-fb: add "drop through" comment video: s3c-fb: use dev_get_drvdata() instead of platform_get_drvdata() video: s3c-fb: use FIMD_V8_VIDTCON0 for EXYNOS5 FIMD video: s3c-fb: fix help message for FB_S3C_DEBUG_REGWRITE video: s3c-fb: fix typo in comment video: s3c-fb: add the bit definitions for VIDCON0_VIDOUT_WB video: s3c-fb: move the bit definitions for DITHMODE register video: s3c-fb: move the bit definitions for WINxMAP and WPALCON register video: s3c-fb: move the bit definitions for VIDINTCON0 register video: s3c-fb: move the address definition for VIDOSD register video: s3c-fb: move the address definitions for VIDTCON registers video: s3c-fb: clean the bit definition for WINCON register
2012-11-29video: exynos_dp: remove redundant parametersAjay Kumar
This patch cleans up few redundant parameters keeping the same functionality intact. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> Signed-off-by: Jingoo Han <jg1.han@samsung.com>
2012-11-29video: exynos_dp: Fix incorrect setting for INT_CTLAjay Kumar
INT_CTL register contains bits INT_POL0 and INT_POL1, and not INT_POL. This patch fixes the wrong register setting for INT_CTL. Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> Signed-off-by: Jingoo Han <jg1.han@samsung.com>
2012-11-29video: exynos_dp: Reset and initialize DP before requesting irqAjay Kumar
If DP is not reset properly before kernel bootup(in bootloader code), there can be few pending interrupts, and sometimes they invoke DP irq handler as soon as the irq handler is registered in DP probe. So, we make the DP driver more robust by resetting and initializing DP at the earliest and then registering the irq handler. Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> Signed-off-by: Jingoo Han <jg1.han@samsung.com>
2012-11-29video: exynos_dp: Enable hotplug interruptsSean Paul
Enable hotplug interrupts and move the hotplug scheduling into the interrupt handler. This allows us to introduce a screen at any time while we're running. [jg1.han@samsung.com: moved the bit masking of hotplug interrupts] Signed-off-by: Sean Paul <seanpaul@chromium.org> Reviewed-by: Olof Johansson <olofj@chromium.org> Signed-off-by: Jingoo Han <jg1.han@samsung.com>
2012-11-29video: exynos_dp: Move hotplug into a workqueueSean Paul
Move the hotplug related code from probe and resume into a workqueue. This allows us to initialize the DP driver (and resume it) when there is no monitor connected. Signed-off-by: Sean Paul <seanpaul@chromium.org> Reviewed-by: Olof Johansson <olofj@chromium.org> Signed-off-by: Jingoo Han <jg1.han@samsung.com>
2012-11-29video: exynos_dp: Remove sink control to D0Sean Paul
According to DP spec, it is not required in the Link Training procedure. [jg1.han@samsung.com: modified the commit message] Signed-off-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Jingoo Han <jg1.han@samsung.com>
2012-11-29video: exynos_dp: Fix bug when checking dp->irqSean Paul
Fix a bug where we check !dp->irq instead of the correct check for -ENXIO. Signed-off-by: Sean Paul <seanpaul@chromium.org> Reviewed-by: Olof Johansson <olofj@chromium.org> Signed-off-by: Jingoo Han <jg1.han@samsung.com>
2012-11-29video: exynos_dp: Improve EDID error handlingSean Paul
EDID error handling has 2 problems: - It doesn't fail as early as it can - The retry counts for i2c and aux transactions are huge This patch fails if the initial i2c transaction fails, and reduces the aux and i2c retry counts down to 3. [jg1.han@samsung.com: reduced the retry count of exynos_dp_read_byte_from_dpcd()] Signed-off-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Jingoo Han <jg1.han@samsung.com>
2012-11-29video: exynos_dp: Get pll lock before pattern setSean Paul
According to the exynos datasheet (Figure 49-10), we should wait for PLL lock before programming the training pattern when doing software eDP link training. Signed-off-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Jingoo Han <jg1.han@samsung.com>
2012-11-29video: exynos_dp: Clean up SW link trainingSean Paul
Clean up some of the SW training code to make it more clear and reduce duplicate code. [jg1.han@samsung.com: used exynos_dp_write_bytes_to_dpcd()] Signed-off-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Jingoo Han <jg1.han@samsung.com>
2012-11-29video: exynos_dp: Check DPCD return codesSean Paul
Add return code checks to the DPCD transactions in the SW link training Signed-off-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Jingoo Han <jg1.han@samsung.com>
2012-11-29video: exynos_dp: Add device tree support to DP driverAjay Kumar
This patch enables device tree based discovery support for DP driver. The driver is modified to handle platform data in both the cases: with DT and non-DT. Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> Signed-off-by: Jingoo Han <jg1.han@samsung.com>
2012-11-28backlight: remove use of __devexitBill Pemberton
CONFIG_HOTPLUG is going away as an option so __devexit is no longer needed. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Acked-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-28backlight: remove use of __devinitBill Pemberton
CONFIG_HOTPLUG is going away as an option so __devinit is no longer needed. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Acked-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-28backlight: remove use of __devexit_pBill Pemberton
CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer needed. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Acked-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-27OMAPDSS: add dss_get_core_pdev()Tomi Valkeinen
Add dss_get_core_pdev() which returns the platform device for dss core device. The following patches use the core pdev to register sysfs files in the compat code. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-11-27OMAPDSS: create display-sysfs.cTomi Valkeinen
Move display sysfs related code from display.c to display-sysfs.c, for clarity. The sysfs code will only be used for compat mode. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-11-27OMAPDSS: DISPC: pass pclk & lclk to dispc_ovl_calc_scalingTomi Valkeinen
In order to make the scaling calculations independent of the current hardware configuration (e.g. which manager is connected to this output), we need to change the calc funcs to get all the variables needed for the calculations via parameters. This patch changes dispc_ovl_calc_scaling to get pclk and lclk as parameters. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-11-27OMAPDSS: DISPC: pass pclk & lclk to calc_scalingTomi Valkeinen
In order to make the scaling calculations independent of the current hardware configuration (e.g. which manager is connected to this output), we need to change the calc funcs to get all the variables needed for the calculations via parameters. This patch changes calc_scaling to get pclk and lclk as parameters. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-11-27OMAPDSS: DISPC: pass pclk & lclk to check_horiz_timing_omap3Tomi Valkeinen
In order to make the scaling calculations independent of the current hardware configuration (e.g. which manager is connected to this output), we need to change the calc funcs to get all the variables needed for the calculations via parameters. This patch changes check_horiz_timing_omap3() to get pclk and lclk as parameters. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-11-27OMAPDSS: DISPC: pass pclk to calc_core_clk()Tomi Valkeinen
In order to make the scaling calculations independent of the current hardware configuration (e.g. which manager is connected to this output), we need to change the calc funcs to get all the variables needed for the calculations via parameters. This patch changes calc_core_clk() function to get pclk as a parameter. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-11-27OMAPDSS: DISPC: pclk & lclk rates for writebackTomi Valkeinen
Change the dispc_plane_pclk_rate and dispc_plane_lclk_rate functions to return 0 if the given plane is the writeback plane. The clocks are not valid for WB, but returning 0 from these functions instead of running into BUG() will simplify the code that uses these functions. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-11-27OMAPDSS: DISPC: use WARN_ON() in dispc_mgr_goTomi Valkeinen
dispc_mgr_go() should never be called with manager output disabled or if the GO bit is already set. Change the current silent returns to WARN_ONs. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-11-27OMAPDSS: cleanup WB enable/is_enabled functionsTomi Valkeinen
Instead of doing direct register reads/writes, dispc_wb_enable() and dispc_wb_is_enabled() functions can use the common overlay functions to set and check the enable bit. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-11-27OMAPDSS: DISPC: Remove blocking code from dispc_wb_enable()Tomi Valkeinen
WB will not be used with compat-mode, i.e. from omapfb. This means we don't need the current complex dispc_wb_enable function, but can have a simple register write version of the function. This patch removes all the extra code from dispc_wb_enable() Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-11-27OMAPDSS: DISPC: use get_framedone_irq in disable_digit_outTomi Valkeinen
dispc_mgr_disable_digit_out() needs to wait until the DIGIT output is turned off. This is done with either VSYNC irq on OMAP2/3 and FRAMEDONETV on OMAP4+. It currently uses a rather hacky way to decide what irq to use. This patch changes dispc_mgr_disable_digit_out to use dispc_mgr_get_framedone_irq to find out if there's framedone irq on this SoC, and if not, uses VSYNC. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-11-27OMAPDSS: DISPC: add no_framedone_tv featTomi Valkeinen
OMAP2/3 do not have FRAMEDONETV irq, but later omaps do. We currently always return 0 from dispc_mgr_get_framedone_irq() for TV output to be compatible with OMAP2/3. This patch implements "no_framedone_tv" dispc-feature that is used in dispc_mgr_get_framedone_irq to return either 0 for OMAP2/3, or the correct IRQ number for FRAMEDONETV on OMAP4+. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-11-27OMAPDSS: don't WARN if there's no DSI deviceTomi Valkeinen
dsi_get_dsidev_from_id() gives a WARN if DSI support is not compiled in. This warning is not right, as it's valid to call dsi_get_dsidev_from_id() to see if there is DSI support or not. Remove the WARN(). Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-11-27OMAPDSS: DPI: fix crash with dpi_verify_dsi_pll()Tomi Valkeinen
If the DSI support has not been compiled in or the SoC doesn't have DSI hardware, dpi_get_dsidev() returns NULL. This NULL is passed to dpi_verify_dsi_pll() causing a crash. The bug was added with commit 0e8276ef75f5c7811b038d1d23b2b42c16efc5ac (OMAPDSS: DPI: always use DSI PLL if available). Fix this by checking if dsidev is NULL before calling dpi_verify_dsi_pll(). Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-11-27OMAPDSS: remove declarations for non-existing functionsTomi Valkeinen
Remove dispc_mgr_is_channel_enabled() and dss_mgr_get_timings() declarations, as the function doesn't exist. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-11-27Merge branch 'fbdev-next' of github.com:timur-tabi/linux-2.6 into for-linusTomi Valkeinen
* 'fbdev-next' of github.com:timur-tabi/linux-2.6: drivers/video: fsl-diu-fb: store EDID data in the global object drivers/video: fsl-diu-fb: don't touch registers for unused features drivers/video: fsl-diu-fb: clean up reset of primary display drivers/video: fsl-diu-fb: remove unused 'cursor_reset' variable drivers/video: fsl-diu-fb: improve message displays drivers/video: fsl-diu-fb: streamline enabling of interrupts drivers/video: fsl-diu-fb: add support for set_gamma ioctls drivers/video: fsl-diu-fb: simplify platforms that have only one port MAINTAINERS: Make Timur Tabi the maintainer for the Freescale DIU driver
2012-11-27video: da8xx-fb: clk_get on connection id fckManjunathappa
do clk_get on connection id "fck" to support OMAP based platforms having multiple clocks for module. Without this driver change clk_get fails on am335x. This patch is based on the discussion in community http://marc.info/?l=linux-kernel&m=135166018907827&w=2 Signed-off-by: Manjunathappa <prakash.pm@ti.com> Cc: Vaibhav Hiremath <hvaibhav@ti.com> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-11-27da8xx-fb: cleanup LCDC configurationsManjunathappa, Prakash
Configure below LCDC configurations to optimal values, also have an option configure these optional parameters for platform. 1) AC bias configuration: Required only for passive panels 2) Dma_burst_size: 3) FIFO_DMA_DELAY: 4) FIFO threshold: Does not apply for da830 LCDC. Patch is verified for 16bpp and 24bpp configurations on da830, da850 and am335x EVMs. Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-11-27da8xx-fb: adopt fb_videomode data for panel informationManjunathappa, Prakash
Adopt fb_videomode data instead of defining driver private structure to hold panel information. This is the way standard FB drivers maintain the panel information. Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-11-27Merge branch 'lcdc-next' of git://linuxtv.org/pinchartl/fbdev into for-linusTomi Valkeinen
Merge SH Mobile LCDC patches from Laurent. * 'lcdc-next' of git://linuxtv.org/pinchartl/fbdev: fbdev: sh_mobile_lcdc: Make sh_mobile_lcdc_sys_bus_ops static sh: kfr2r09: Use the backlight API for brightness control ARM: mach-shmobile: ag5evm: Use the backlight API for brightness control fbdev: sh_mobile_lcdc: Remove unused get_brightness pdata callback sh: ecovec24: Remove unused get_brightness LCDC callback sh: ap325rxa: Remove unused get_brightness LCDC callback ARM: mach-shmobile: mackerel: Removed unused get_brightness callback fbdev: sh_mobile_lcdc: Store the backlight brightness internally fbdev: sh_mipi_dsi: Remove the unused sh_mipi_dsi_info lcd_chan field ARM: mach-shmobile: Remove the unused sh_mipi_dsi_info lcd_chan field fbdev: sh_mipi_dsi: Remove last reference to LCDC platform data fbdev: sh_mipi_dsi: Use the LCDC entity default mode fbdev: sh_mipi_dsi: Use the sh_mipi_dsi_info channel field ARM: mach-shmobile: Initiliaze the new sh_mipi_dsi_info channel field fbdev: sh_mipi_dsi: Add channel field to platform data ARM: mach-shmobile: ag5evm: Add LCDC tx_dev field to platform data fbdev: sh_mobile_lcdc: Remove priv argument from channel and overlay init fbdev: sh_mobile_lcdc: Rename mode argument to modes fbdev: sh_mobile_lcdc: Get display dimensions from the channel structure fbdev: sh_mobile_lcdc: use dma_mmap_coherent
2012-11-26drivers/video: fsl-diu-fb: store EDID data in the global objectTimur Tabi
Although the DIU driver creates five framebuffer devices, only the first one controls the physical display. The remaining four are virtual "AOIs". Therefore, the EDID data should be stored in the global fsl_diu_data object, instead of the per-framebuffer object. Signed-off-by: Timur Tabi <timur@freescale.com>
2012-11-26drivers/video: fsl-diu-fb: don't touch registers for unused featuresTimur Tabi
We don't use the writeback buffer, so don't initialize the registers for that feature. The default value for SYN_POL is already zero, so don't re-initialize it. Writing the INT_STATUS register does nothing. The value that we write to the PLUT register only makes sense on the MPC8610 and P1022, so don't touch that register on the MPC5121. Signed-off-by: Timur Tabi <timur@freescale.com>
2012-11-26drivers/video: fsl-diu-fb: clean up reset of primary displayTimur Tabi
Commit 4b5006ec ("shared DIU framebuffer support") added the ability to retain the splash screen until the framebuffer is opened by user space. Clean up this code to eliminate redundant writes to registers, and eliminate the use of dummy area descriptor. Signed-off-by: Timur Tabi <timur@freescale.com>
2012-11-26drivers/video: fsl-diu-fb: remove unused 'cursor_reset' variableTimur Tabi
Probably left over from initial development in hardware cursor support that never made it upstream. Signed-off-by: Timur Tabi <timur@freescale.com>
2012-11-26drivers/video: fsl-diu-fb: improve message displaysTimur Tabi
Add some debug and error messages that are useful during debugging. Signed-off-by: Timur Tabi <timur@freescale.com>
2012-11-26drivers/video: fsl-diu-fb: streamline enabling of interruptsTimur Tabi
Remove functions request_irq_local() and free_irq_local(), and merge their code into the functions that handle opening and closing the framebuffer. We also improve the way that interrupts are enabled. Also implement a work-around for broken U-Boots that leave the DIU interrupts enabled. Signed-off-by: Timur Tabi <timur@freescale.com>
2012-11-26drivers/video: fsl-diu-fb: add support for set_gamma ioctlsTimur Tabi
The MPC5121 BSP comes with a gamma_set utility that initializes the gamma table via an ioctl. Unfortunately, the ioctl number that utility uses is defined improperly, but we can still support it. Signed-off-by: Timur Tabi <timur@freescale.com>
2012-11-26drivers/video: fsl-diu-fb: simplify platforms that have only one portTimur Tabi
Allow the platform code not to define a value for diu_ops.set_monitor_port. This would be for platforms that only have one monitor port. set_monitor_port() will never be called with an unsupported port anyway. Signed-off-by: Timur Tabi <timur@freescale.com>
2012-11-26Merge tag 'omapdss-for-3.7-rc' of git://gitorious.org/linux-omap-dss2/linuxTomi Valkeinen
omapdss fixes for 3.7-rc Conflicts: drivers/video/omap2/dss/dss.c
2012-11-25Merge tag 'v3.7-rc7' into next/cleanupOlof Johansson
Merging in mainline back to next/cleanup since it has collected a few conflicts between fixes going upstream and some of the cleanup patches. Git doesn't auto-resolve some of them, and they're mostly noise so let's take care of it locally. Conflicts are in: arch/arm/mach-omap2/omap_hwmod_44xx_data.c arch/arm/plat-omap/i2c.c drivers/video/omap2/dss/dss.c Signed-off-by: Olof Johansson <olof@lixom.net>
2012-11-26video: s3c-fb: fix red offset and length for ARGB232 formatJingoo Han
Green pixel and blue pixel are 3 bits and 2 bits respectively at ARGB232 format. Thus, the value of red offset should be 5, not 4. Also, the value of red length should be 2, because red pixel is 2 bits at ARGB232 format. Signed-off-by: Jingoo Han <jg1.han@samsung.com>
2012-11-26video: s3c-fb: return an error when bpp is invalidJingoo Han
This patch returns an error, when bpp is invalid in s3c_fb_check_var(). If invalid bpp is requested, an error should be returned. Signed-off-by: Jingoo Han <jg1.han@samsung.com>
2012-11-26video: s3c-fb: add "drop through" commentJingoo Han
This patch adds a "drop through" comment to improve the readability. Signed-off-by: Jingoo Han <jg1.han@samsung.com>
2012-11-26video: s3c-fb: use dev_get_drvdata() instead of platform_get_drvdata()Jingoo Han
Because there is no need to access to the platform device in suspend/resume and runtime_suspend/resume, dev_get_drvdata() can be used instead of platform_get_drvdata() to make the code smaller. Signed-off-by: Jingoo Han <jg1.han@samsung.com>