summaryrefslogtreecommitdiff
path: root/drivers/video
AgeCommit message (Collapse)Author
2012-04-27ENGR00175084 IPU-FB: change dma memory alloc gfp flags to GFP_KERNELWayne Zou
We only needs the dma buffer, don't care if it is from DMA Zone on i.mx SOC. To fix the following bug: mxc_ipudev_test: page allocation failure: order:13, mode:0x1 [<80042e08>] (unwind_backtrace+0x0/0xfc) from [<800b4dd8>] (warn_alloc_failed+0x9c/0x118) [<800b4dd8>] (warn_alloc_failed+0x9c/0x118) from [<800b5ac4>] (__alloc_pages_nodemask+0x494/0x6ec) [<800b5ac4>] (__alloc_pages_nodemask+0x494/0x6ec) from [<80046154>] (__dma_alloc+0xd4/0x2fc) [<80046154>] (__dma_alloc+0xd4/0x2fc) from [<800463a0>] (dma_alloc_writecombine+0x24/0x2c) [<800463a0>] (dma_alloc_writecombine+0x24/0x2c) from [<8024be34>] (mxcfb_set_par+0x3e4/0x4c0) [<8024be34>] (mxcfb_set_par+0x3e4/0x4c0) from [<80235f08>] (fb_set_var+0x168/0x2a4) [<80235f08>] (fb_set_var+0x168/0x2a4) from [<802363f8>](do_fb_ioctl+0x3b4/0x5f0) [<802363f8>] (do_fb_ioctl+0x3b4/0x5f0) from[<800f58d0>](do_vfs_ioctl+0x80/0x5e4) [<800f58d0>] (do_vfs_ioctl+0x80/0x5e4) from [<800f5e6c>] (sys_ioctl+0x38/0x60) [<800f5e6c>] (sys_ioctl+0x38/0x60) from [<8003d500>] (ret_fast_syscall+0x0/0x30) mxc_sdc_fb mxc_sdc_fb.0: Unable to allocate framebuffer memory detected fb_set_par error, error code: -12 Signed-off-by: Wayne Zou <b36644@freescale.com>
2012-04-13ENGR00179575 only set color depth if TV supports deep colorAlan Tull
If TV's EDID indicates that deep color is not supported, then write color depth field of HDMI_VP_PR_CD register to zero. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-04-09ENGR00177317 - EPDC fb: Add clean-up for new EPDC buffer allocation schemeDanny Nold
- Added clean-up for new PxP output buffer allocation scheme. Clean-up covers cases where probe fails and where module is removed. Signed-off-by: Danny Nold <dannynold@freescale.com>
2012-03-30ENGR00178456 IPUv3 fb:Unblank primary fb only by defaultLiu Ying
This patch changes IPUv3 fb probe function logic to unblank the primary fb only by default so that the secondary fb using IPU DP BG channel won't be unblanked when system boot-ups. This avoids the HDMI fb(as the secondary fb using IPU DP BG channel) is unblanked accidentally without plugging in HDMI cable. Signed-off-by: Liu Ying <Ying.Liu@freescale.com> (cherry picked from commit 2c8188de61f84e40e26e662138af5ef4f81a0969)
2012-03-27ENGR00178118-1 fix some build warnings when using GCC 4.6.2Jason Liu
fix some build warnings when using GCC 4.6.2: drivers/cpufreq/cpufreq_interactive.c:127:6: warning:'irq_count' may be used uninitialized in this function [-Wuninitialized] drivers/media/video/mxc/output/mxc_vout.c:1346:5: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] drivers/video/mxc/mxc_ipuv3_fb.c:1329:23: warning: operation on 'mxc_fbi->cur_ipu_buf' may be undefined [-Wsequence-point] drivers/video/mxc/mxc_ipuv3_fb.c:1376:24: warning: operation on 'mxc_fbi->cur_ipu_buf' may be undefined [-Wsequence-point] drivers/video/mxc/mxc_ipuv3_fb.c:1377:24: warning: operation on 'mxc_fbi->cur_ipu_buf' may be undefined [-Wsequence-point] Signed-off-by: Jason Liu <r64343@freescale.com>
2012-03-27ENGR00178031 IPUv3 FB:Fix a typo in a kernel logLiu Ying
This patch fixes a typo in a kernel log. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2012-03-23ENGR00177851 HDMI fix hotpug race conditionAlan Tull
hotplug_worker can't assume that the iahb_clk is enabled if the irq_enabled flag is set. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-03-23ENGR00177737-1 change the drv name to sii902x_hdmiHake Huang
so that system can use 2 type of HDMI device driver sii902x and on chip one Signed-off-by: Hake Huang <b20222@freescale.com>
2012-03-22mxc: hdmi: fix potention deadlock issueJason Chen
Signed-off-by: Jason Chen <jason.chen@linaro.org>
2012-03-14ENGR00174923 - EPDC fb: Stress Test Failure FixedDanny Nold
- Changed workqueues to use strict ordering and one process at a time - Changed mutex ordering in IRQ handler to avoid race condition - Updated 64-bit logic operation to ensure proper logic - Fixed bug in how LUT cancellation case is handled. The wrong index was being used to clear LUT IRQ and IRQ_MASK. - Increased flush_updates timeout to 8s, since it may take several seconds if a long queue of updates is waiting. Signed-off-by: Danny Nold <dannynold@freescale.com>
2012-03-14ENGR00175700 System hang when change HDMI from XGA to 1080P with display blankSandor Yu
Change the vide mode from XGA to 1080P when display blank, the system will hang. It is cause by overflow interrupt will trigger when the video mode change, but clean the interrupt status bit depend on pixewl clock. In blank state the pixel clock is gating so the HDMI PHY can't work. Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-03-09ENGR00176504 - EPDC fb: Reduce number of PxP output buffers to 2Danny Nold
- Changed from one-buffer-per-LUT (up to 16 for EPDCv1.0 and 64 for EPDCv2.0) to using 2 static buffers for PxP output. This is facilitated by the switch to using a single-threaded workqueue to process each update, which guarantees that we can use just 2 buffers without clobbering concurrent updates. - One known limitation: This restricts the SNAPSHOT update scheme to only 2 concurrent updates. So if a user intends to use SNAPSHOT scheme, the EPDC_MAX_NUM_BUFFERS #define should be increased based on the desired number of allowable concurrent updates (with a corresponding penalty in static memory allocation). Signed-off-by: Danny Nold <dannynold@freescale.com>
2012-03-07ENGR00175446 ldb: avoid NULL pointer when ldb driver is probed but not inited.Wayne Zou
ldb: avoid NULL pointer when ldb driver is probed but not inited. It can lead to kernel crash when framebuffer on LVDS panel is not inited. Signed-off-by: Wayne Zou <b36644@freescale.com>
2012-03-06ENGR00176159 video: ipuv3-fb: change to timeout semaphore to wait on irq.Zhang Jiejing
change to timeout semaphore to wait on irq. use no timeout semaphore have below issues: 1. since fbmem.c will hold the console_lock() before call PAN_DISPLAY ioictl, if have wrong happens on IPU, IRQ not come, any log printk will not ouput, it will become like a system hang, and developer don't know what's wrong. 2. semaphore don't have timeout, here we can't know irq not come, so hang it infintly. 3. semaphore lock and unlock in different context is a dangous operation. To fix these issue, use timedout version to wait on irq. But for better coding stly to align Kernel Coding Style Doc, better use complete to wait on irq, use semaphre little ugly. Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
2012-03-01ENGR00175261 - EPDC fb: Remove warning messages from EPDC initDanny Nold
- Remove screen update from probe function. This update is redundant. The update in mxc_epdc_fb_fw_handler() will update and show the tux logo if FB console is added, so this achieves the same effect as the update invocation that was removed. - Remove dmaengine_get(), because SDMA driver returns a failure when cycling through DMA channels. Since it is not essential to register with this call, it has been removed. dmaengine_put() also removed. - Added hw_inialization variable to track whether HW is in process of being initialized. In which case, we do not print an error message when an update is received. Signed-off-by: Danny Nold <dannynold@freescale.com>
2012-02-23ENGR00175222-2 IPUv3 fb:Check mem resource start addressLiu Ying
This patch checks memory resource start address before using the memory resource. Signed-off-by: Liu Ying <Ying.Liu@freescale.com> (cherry picked from commit 2d16313abad65330cb03d365d307f2d0caafe955)
2012-02-22ENGR00174914 MX6x HDMI implement HDMI driver suspend/resume functionSandor Yu
Added FB suspend/resume event process in HDMI driver. Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-02-22ENGR00174916 MX6x, console output hang 20 seconds when system bootupSandor Yu
It is cause by fb driver to init HDMI PHY when HDMI driver not register. Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-02-22ENGR00174911 MX6x Setting HDMI default mode according bootload cmdlineSandor Yu
Origin HDMI default video mode is setting to VGA. But the HDMI will change to the vide mode setting in bootloader command line when the first time HDMI cable plugin. It will cause GUI sometime can't not get correct FB video mode when system bootup without HDMI cable plugout. Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-02-20ENGR00174634 MIPI DSI: Add MIPI LCD ID detect and disable clock when no panel.Wayne Zou
1. Add MIPI LCD ID detection. 2. Disable MIPI clock when no MIPI LCD panel deteced. 3. Add timeout feature for register read/write to improve error handle. Signed-off-by: Wayne Zou <b36644@freescale.com>
2012-02-17ENGR00173964 make hdmi audio init dependent on hdmi video initAlan Tull
Don't show hdmi as an audio playback device if hdmi isn't configured on the command line. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-02-15ENGR00174106-3 - EPDC fb: Support EPDC v2.0Danny Nold
- Added new register definitions for EPDCv2.0 - Added support for 64 LUTs - Conditionalized code for EPDC versions 1.0, 2.0, and 2.1 - Support for EPDC auto-waveform selection - Support for collision test mode - Support for PxP bypassing - Support for LUT cancellation - Support for new PxP limitations - Support for collision minimization EPDC feature - Added workaround for collision status bug (can't clear IRQ before reading collision status for LUTs 16-63) Signed-off-by: Danny Nold <dannynold@freescale.com>
2012-02-13ENGR00174243 MIPI_DSI: mipi dsi panel enable should be after IPU initWayne Zou
MIPI_DSI: mipi dsi panel enable should be after IPU init, due to ENGR00173962 change in the mxc_ipuv3_fb.c Signed-off-by: Wayne Zou <b36644@freescale.com>
2012-02-08ENGR00172342-2 EDID parse audio data blocksAlan Tull
Add functionality to parse Audio Data Blocks from EDID data to find out what modes of LPCM are suppored by the HDMI sink device. The parsed settings are saved in the hdmi mfd. The HDMI audio driver will check the settings when the audio stream is opened and will then apply appropriate constraints. If we are unable to read from the EDID, then we default to supporting Basic Audio as defined by the HDMI specification (stereo, 16 bit, 32KHz, 44.1KHz, 48KHz PCM). Signed-off-by: Alan Tull <r80115@freescale.com>
2012-02-08ENGR00171353 MIPI_DSI: mipi display blank and unblank fail fixedWayne Zou
mipi display blank and unblank fail on HW board: MX6Q_ARM2 1G SN 0112 The host processor sends PCLK, HS and VS information to display modules two frames before sleep-out command is sent. Signed-off-by: Wayne Zou <b36644@freescale.com>
2012-02-08ENGR00173962 Added HDMI enable functionSandor Yu
Whenever IPU clock change or gating, the HDMI PHY should reset or config again, otherwise the HDMI PHY will not work. It is the root cause for Ubuntu can't show GUI to HDMI device when bootup and GPU application tutorial4_es20 no output to HDMI device. Added enable function in mxcfb_set_par() to fix aboved two issue. Added HDMI initialization check, only one HDMI instanse supported. Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-02-07ENGR00173869-9: i.mx6dl: add the misc drivers supportJason Liu
This patch change is very trivial and simply just add cpu_is_mx6dl() or using cpu_is_mx6 to replace cpu_is_mx6q each driver owner will check it and adjust it accordingly later, such as sdhc etc. Signed-off-by: Jason Liu <r64343@freescale.com>
2012-02-01ENGR00171987 ipuv3 fb: add error handler for mxcfb_blankJason Chen
add error handler for mxcfb_blank. Signed-off-by: Jason Chen <b02280@freescale.com> (cherry picked from commit 1999793303187b4aa9ccbdfc53f9a4c6ab59e749)
2012-01-31ENGR00171746 LVDS: Disable channel mode to enter low power when suspendWayne Zou
1. During suspend, LVDS didn't enter low power status. It needs to disable channel mode and mux control. It can save ~8mA@3.2V. 2. Clean up the LDB route function for better readability. 3. Fix lvds clk_enable/disable bug, clk_enable/disable should base on setting_idx variable. Signed-off-by: Wayne Zou <b36644@freescale.com>
2012-01-19ENGR00171383 HDMI: blank and unblank display can not resume.Sandor Yu
It cause by HDMI Blank/Unblank function not implement. Implement the HDMI blank/unblank function. Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-01-19ENGR00171444 HDMI: Change video mode system will hang.Sandor Yu
There are two couples register for HDMI PHY interrupt/mask: HDMI_FC_INT2, HDMI_FC_MASK2 and HDMI_IH_FC_STAT2, HDMI_IH_MUTE_FC_STAT2. The register can not mixed use it, otherwise the interrupt will missing and not clean. Mask interrupt with HDMI_IH_MUTE_FC_STAT2 so check interrupt should use register HDMI_IH_FC_STAT2. Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-01-19ENGR00170912 HDMI: system hang if set hdmi_mode video=mxcfb1Sandor Yu
System will hang at PHY PLL lock wating loop, if HDMI PHY is down. Added timeout check for HDMI PHY PLL lock waiting. Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-01-09ENGR00171052 mxc hdmi: fix HDMI CSC clock settingSandor Yu
Move HDMI csc clock setting to fucntion mxc_hdmi_enable_video_path. Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-01-09ENGR00170938-2 mxc hdmi: Enable HDMI output color space convertSandor Yu
Enable HDMI output CSC. Enable HDMI under scan. Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-01-09ENGR00170800 mxc hdmi add more video mode to default modelistSandor Yu
Add all non-interlaced CEA mode to default modelist Add XGA and SXGA video mode to default modelist Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-01-09ENGR00170534 mxc hdmi: hot-plug detect state notify and recordingSandor Yu
1. create sys node for fb name, cable state, edid data 2. call kobject_uevent_env pass cable state Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-01-09ENGR00169872-2 rework hdmi initialization and hotplug sequenceAlan Tull
This commit intends to implement the flowchart and details documented in the HDMI Transmitter Controller User Guide section entitled "Programming Model". Some input is also from the Synopsys API code. The HDMI specification requires HDMI to set itself to VGA DVI mode before reading the EDID. So follow this sequence when HDMI is hotplugged: 1. Hdmi connector is plugged in, HDMI video gets an interrupt. 2. Clear out video mode list. Add only VGA DVI mode to list. 3. Request VGA DVI mode (call fb_set_var()) 4. HDMI video driver will get FB_EVENT_MODE_CHANGE callback and call mxc_hdmi_setup() to set up HDMI. 5. Read the edid and add video modes from edid. Select the video mode that is similar to the command line default. 6. Request VGA DVI mode (call fb_set_var()) 7. HDMI video driver will get FB_EVENT_MODE_CHANGE callback and do mxc_hdmi_setup(). Also included is a workaround for an overflow condition in the HDMI. The frame composer has an arithmetic unit that gets updated every time we write to one of the FC registers. But sometimes, depending on the relation between the tmds and sfr clocks, it may happen that this unit doesn't get updated, even though the registers are holding correct values. The workaround for this is, after completing the controller configuration, to rewrite one of the FC registers (i.e. FC_INVIDCONF) three or four times with the same value, and then follow it up by a SW reset to the TMDS clock domain (MC_SWRSTZ). We clear the overflow condition as described above every time we change video mode. Also an overflow interupt handler will clear the overflow condition if it happens again. This overflow condition is expected (and not a problem) when we are in DVI (non-HDMI) mode, so we do not worry about it in that case. Signed-off-by: Alan Tull <alan.tull@freescale.com>
2012-01-09ENGR00170168-1 ipuv3 fb: add non FB_VMODE_YWRAP supportJason Chen
when use pan display, the case could be: 1. a small window wrap in a big frame buffer 2. a frame switch in a serial buffers the ipuv3 fb driver used to support case 1, and for case 2, if the fb format is interleaved, there is no problem, but for non-interleaved format (like I420), there will be a display bug. Signed-off-by: Jason Chen <b02280@freescale.com>
2012-01-09ENGR00170145-2 ipuv3 fb: reserve overlay fb buffer with valid resourceXinyu Chen
Reserve the overlay fb triple buffer when we have a valid resource for start and end. Clear the GB fb buffers when we reserve memory for it. Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
2012-01-09mxcfb: add BACKLIGHT_RAW type for kernel upgradeWayne Zou
Signed-off-by: Wayne Zou <b36644@freescale.com>
2012-01-09ENGR00169657 mxc_edid: no aspect vmode setting for detailed timing blockJason Chen
Add aspect ratio setting into vmode for detailed timing block. Signed-off-by: Jason Chen <b02280@freescale.com>
2012-01-09ENGR00163669-3 mipi_dsi: Add blank/unblank support for mipi dsi displayWayne Zou
mipi_dsi: Add blank/unblank support for mipi dsi display Signed-off-by: Wayne Zou <b36644@freescale.com>
2012-01-09ENGR00163669-1 mxc fb: remove FB_EVENT_PREMODE_CHANGE for mxc fb driversWayne Zou
remove FB_EVENT_PREMODE_CHANGE for mxc ldb/tve drivers add dispdrv setup interface for ldb/tve drivers re-structure the dispdrv framework for display devices Signed-off-by: Wayne Zou <b36644@freescale.com>
2012-01-09ENGR00169509-2 ipuv3 fb: change wait for vsync ioctl irq from eof to nfackJason Chen
change wait for vsync ioctl irq from eof to nfack Signed-off-by: Jason Chen <b02280@freescale.com>
2012-01-09ENGR00163616 [mx6q]hdmi will hang in daily build imageTony Lin
make sure the pointer is valid before accessing Signed-off-by: Tony Lin <tony.lin@freescale.com>
2012-01-09ENGR00163120 pwm backlight: work-around for lvds panel blank issue on mx6qJason Chen
make all display can control pwm backlight. NOTE!!!: it's not a good solution, will bring side-affect of no backlight display device can disable pwm backlight of other display device. Signed-off-by: Jason Chen <b02280@freescale.com>
2012-01-09ENGR00162881 Workaround for some MX6x boards failed read EDID dataSandor Yu
HDMI video mode setting in command line will not work if no EDID data reading from HDMI sink. Creat a default modelist for HDMI video mode when no EDID data. Then default video mode can work even if no EDID data. Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-01-09ENGR00162665 ipuv3 fb: fix non-interleave format wrong color issueJason Chen
fix fb offset base address under non-interleave format. Signed-off-by: Jason Chen <b02280@freescale.com>
2012-01-09ENGR00162663 ipuv3 fb: add vertical flip supportJason Chen
support vertical flip for fb. just set it by: echo 1 > /sys/class/graphics/fb0/rotate Signed-off-by: Jason Chen <b02280@freescale.com>
2012-01-09ENGR00162475 ipuv3 fb: fix camera preview failureYuxi Sun
fix camera preview failure when using double buffer mode for frame buffer Signed-off-by: Yuxi Sun <b36102@freescale.com>