summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2013-08-27ENGR00275429 Recovery: Screen flashing found when wipe data in recovery modeguoyin.chen
Android Recovery UI framework uses FBIOPUT_VSCREENINFO with yoffset update to update display. Both elcdif and ipuv3 FB will set var.activate to be FB_ACTIVATE_FORCE in driver's probe. User space will get the VSCREENINFO with activate been set to FB_ACTIVE_FORCE. Each FBIOPUT_VSCREENINFO with only yoffset update will make the driver reinit.The activate should be cleared once set_par() been finished. HDMI driver should only reinit hdmi only when the mode changed. fbmem will broadcast MODE_CHANGE for each FBIOPUT_VSCREENINFO ioctl even it only have yoffset update. Signed-off-by: guoyin.chen <guoyin.chen@freescale.com>
2013-08-23ENGR00274478 fix gpu memory multi-lock failureXianzhong
this issue cause system boot with multi-user switch on JB4.3, root cause is gpu memory cannot be multi-locked in same process, gpu memory lock reference is added to allow multi-lock in kernel driver. Signed-off-by: Xianzhong <b07117@freescale.com> Acked-by: Jason Liu
2013-08-19ENGR00275613 [EVK_6SL]: system crash when boot without 5640 cameraFang Hui
Fixed by add check for cam->sensor Signed-off-by: Fang Hui <b31070@freescale.com>
2013-08-16ENGR00275408 Wifi: fix rtl8723as reopen error issueJianzheng Zhou
We enable WOW mode last commit, it will try to set mmc host's power capability to keep power on at some points. Delete this act which is bond with one force scan action. For we didn't add force scan function in it. We are using runtime_pm feature to trigger scan when doing init. Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
2013-08-16Merge remote-tracking branch 'fsl-linux-sdk/imx_3.0.35_4.1.0' into ↵guoyin.chen
imx_3.0.35_android
2013-08-16ENGR00275459 mx6sl: csi/v4l: fix kernel dump when do repeated streamon/streamoffrel_imx_3.0.35_4.1.0_rc3rel_imx_3.0.35_4.1.0Robby Cai
When do stream on/off in pair repeatedly without close the v4l device, the kernel dump happens: Unable to handle kernel paging request at virtual address 00200200 pgd = c0004000 [00200200] *pgd=00000000 Internal error: Oops: 805 [#1] PREEMPT Modules linked in: CPU: 0 Not tainted (3.0.35-06027-gbbea887-dirty #21) PC is at camera_callback+0x15c/0x1c8 LR is at 0x200200 pc : [<c03747d0>] lr : [<00200200>] psr: 20000193 sp : c0b0fed0 ip : 00200200 fp : daf1102c r10: daf11034 r9 : 00100100 r8 : daf11098 r7 : daf11100 r6 : daf11034 r5 : daf11000 r4 : c0b0e000 r3 : 00000000 r2 : 00000001 r1 : 00000001 r0 : daf114b8 Flags: nzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel Control: 10c53c7d Table: 8cc8c059 DAC: 00000015 ... Process swapper (pid: 0, stack limit = 0xc0b0e2e8) Stack: (0xc0b0fed0 to 0xc0b10000) fec0: c0374674 822a4000 daf11000 c0b87eb4 fee0: 00000000 00000027 c0b73904 c0b305e0 00000001 c0374090 da2bbbe0 c0b0e000 ff00: 00000000 c00acc58 00000000 c0098058 00989680 c0b305e0 c0b0e000 00000000 ff20: 00000002 00000001 c0b0e000 00000000 00000000 c00acdf8 00000000 c0b0e000 ff40: 9e4e7881 c0b305e0 c0b0e000 c00aee44 c00aed9c c0b43c6c 00000027 c00ac634 ff60: 00000270 c004257c ffffffff f2a00100 00000027 c00417cc 20000000 00000006 ff80: f40c4000 00000000 c0b0e000 c0b6a924 c0b1876c c0b18764 80004059 412fc09a ffa0: 00000000 00000000 c0063a40 c0b0ffc0 c004f758 c0042690 80000013 ffffffff ffc0: c004266c c004294c c0b1013c 00000000 c10960c0 c00088ec c0008334 00000000 ffe0: 00000000 c00337d4 10c53c7d c0b10060 c00337d0 80008040 00000000 00000000 [<c03747d0>] (camera_callback+0x15c/0x1c8) from [<c0374090>] (csi_irq_handler+ 0x7c/0x160) [<c0374090>] (csi_irq_handler+0x7c/0x160) from [<c00acc58>] ( handle_irq_event_percpu+0x50/0x19c) [<c00acc58>] (handle_irq_event_percpu+0x50/0x19c) from [<c00acdf8>] ( handle_irq_event+0x54/0x84) [<c00acdf8>] (handle_irq_event+0x54/0x84) from [<c00aee44>] (handle_fasteoi_irq +0xa8/0x160) [<c00aee44>] (handle_fasteoi_irq+0xa8/0x160) from [<c00ac634>] ( generic_handle_irq+0x2c/0x40) [<c00ac634>] (generic_handle_irq+0x2c/0x40) from [<c004257c>] (handle_IRQ +0x30/0x84) [<c004257c>] (handle_IRQ+0x30/0x84) from [<c00417cc>] (__irq_svc+0x4c/0xa8) [<c00417cc>] (__irq_svc+0x4c/0xa8) from [<c0042690>] (default_idle+0x24/0x28) [<c0042690>] (default_idle+0x24/0x28) from [<c004294c>] (cpu_idle+0x8c/0xc0) [<c004294c>] (cpu_idle+0x8c/0xc0) from [<c00088ec>] (start_kernel+0x294/0x2e4) [<c00088ec>] (start_kernel+0x294/0x2e4) from [<80008040>] (0x80008040) Code: e88c4200 e595c030 e5858030 e8881800 (e58c8000) ---[ end trace 224150c26d2bd5f7 ]--- The root cause is cam->enc_counter is not re-initialized to 0 when calls STREAMOFF ioctl, and then in DQBUF ioctl wait_event_interruptible_timeout() sees the condition is true and access cam->done_q queue which has no strict check and could be empty. This patch adds the re-initialization and the sanity check. Also, add the pointer check for memcpy because the destination may be NULL on UERSPTR mode. Signed-off-by: Robby Cai <R63905@freescale.com>
2013-08-13ENGR00275011 Make V4L2_PIX_FMT_YUYV visiable as CSI output formatRobby Cai
V4L2_PIX_FMT_YUYV is the original format from camera and the source format for CSI. This format may be needed on Android to do CSC before encoding. We can now choose V4L2_PIX_FMT_YUYV or V4L2_PIX_FMT_UYVY for the CSI output format. Signed-off-by: Robby Cai <R63905@freescale.com>
2013-08-13ENGR00215174 wifi:fix rtl8723as suspend resume fail issueJianzheng Zhou
Fix "Timeout Waiting for Hardware Interrupt on mmc1" issue in suspend/resume which is caused by not keep power in host. Enable WOW mode in card side to enable MMC_KEEP_POWER capability of host will tackle this issue. Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
2013-08-14ENGR00274782 fixed gpu crash when baseAddress is not 0 or 2GXianzhong
The baseAddress of contiguousVidMem is the actual physical address which is not subtracted by gpu baseAddress, but the allocated physical address has been subtracted by gpu baseAddress in gckVIDMEM_Lock, so the invalid offset is produced and used to calculate the logical address. Signed-off-by: Xianzhong <b07117@freescale.com> Acked-by: Shawn Guo
2013-08-12Merge remote-tracking branch 'fsl-linux-sdk/imx_3.0.35_4.1.0' into ↵guoyin.chen
imx_3.0.35_android
2013-08-08ENGR00274493 mx6sl: csi/v4l: Fix capture incorrect data with format UYVYrel_imx_3.0.35_4.1.0_rc2Robby Cai
There's an interim buffer which should only be used when PxP CSC is used. Otherwise the video buffer gets incorrect data by copying the content of interim buffer. The patch fixes this by moving the memcpy to the right place. Signed-off-by: Robby Cai <R63905@freescale.com> (cherry picked from commit 8e0b8ff485dd7cdeabc653f1e27c271ac923710e)
2013-08-08ENGR00273432 DMA: imx-sdma: Allocate 4KB iram page size for bdNicolin Chen
One bd actually needs 4KB page size. So changed the iram_alloc() size parameter to allocate a precise iram memory for bd. This patch also removed the extra iram pool for SDMA due to its insufficient total size: SDMA allows around 48 channels to work simultaneously, so it's better to allocate memory from iram pool directly. [There will be 3KB size waste in sdma->channel_control, which is 640B but actually using 4KB due to 4KB alignment for iram pool.] Acked-by: Huang Shijie <b32955@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-08-08ENGR00273973-1 Revert "ENGR00270573-2 [MX6SL]Add support for dynamic Power GatiRobby Cai
This reverts commit 881e21c1275dcc40ccd63fb4fa46b990eeb4fb00. With the commit 881e21c1 and 7b60e285, the system will hang when do suspend and resume stress test continuouly while run edpc test in the background. Revert it now and revisit it later. Signed-off-by: Robby Cai <R63905@freescale.com>
2013-07-25Merge remote-tracking branch 'fsl-linux-sdk/imx_3.0.35_4.1.0' into ↵guoyin.chen
imx_3.0.35_android
2013-07-25ENGR00270573-2 [MX6SL]Add support for dynamic Power Gating of the display MIXRanjani Vaidyanathan
The display MIX can be power gated when EPDC, PXP and LCDIF are all inactive. This will save around 1.5mW-1.8mW of power in system IDLE mode. Need to re-initialize the EPDC and PXP whenever the display MIX is powered up as all the register state is lost when the display MIX is power gated. Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
2013-07-22ENGR00272031 Lcdif FB:Add timestamp in MXCFB_WAIT_FOR_VSYNC's return valueguoyin.chen
Android Framework need the timestamp from VSYNC to driver the UI update Signed-off-by: guoyin.chen <guoyin.chen@freescale.com>
2013-07-19ENGR00271566 usb: otg: comment otg_statemachine which we do not needPeter Chen
We have not implemented fully OTG support, so we can't call otg_statemachine since the state machine may incorrect at current dual-role switch design. At existed code, it will call otg_statemachine, in fact, it doesn't need. Besides, it causes one kernel dump at Sabreauto board due to it calls gpio API at spin lock, but at Sabreauto board the USB power GPIO is expanded by MAX7310 which calls i2c read/write and will schedule itself. Signed-off-by: Peter Chen <peter.chen@freescale.com>
2013-07-19ENGR00271827 wireless:add rtl8723as supportJianzheng Zhou
Add wifi driver for rtl8723as. Need change some cfg80211 config for it also. Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
2013-07-18ENGR00271053-3 mx6sl: csi/v4l2: remove PAGE_ALIGN for image size calculationRobby Cai
The driver should inform the upper-lever application the exact size of the image. PAGE_ALIGN macro should be removed. Signed-off-by: Robby Cai <R63905@freescale.com>
2013-07-18ENGR00271053-2 mx6sl: csi/v4l2: add strict check for crop settingRobby Cai
add the strict check for crop setting in S_CROP ioctl Signed-off-by: Robby Cai <R63905@freescale.com>
2013-07-18ENGR00271053-1 mx6sl: csi/v4l2: add cropcap ioctl supportRobby Cai
- add the CROPCAP ioctrl support Signed-off-by: Robby Cai <R63905@freescale.com>
2013-07-18ENGR00271679-2 Add SoloLite into Android JB releaseguoyin.chen
Fix the build error in csi capture Signed-off-by: guoyin.chen <guoyin.chen@freescale.com>
2013-07-18ENGR00271609 mmc: correct the wrong calculation of the boot sizeRichard Zhu
The original calculation of the boot size is wrong. Fix it by the right calculation. Signed-off-by: Richard Zhu <r65037@freescale.com>
2013-07-18ENGR00271577 sdma: fix the compiling warningHuang Shijie
In the imx6sl, we meet the compiling warning shows below: -------------------------------------------------------------------- drivers/dma/imx-sdma.c: In function Pleasesdma_iram_free: drivers/dma/imx-sdma.c:366: warning: passing argument 2 of Pleasegen_pool_free makes integer from pointer without a cast include/linux/genalloc.h:58: note: expected Pleaselong unsigned integer but argument is of type Pleaselong unsigned int *Please drivers/dma/imx-sdma.c: In function Pleasesdma_load_script: drivers/dma/imx-sdma.c:452: warning: passing argument 2 of Pleasesdma_iram_malloc makes pointer from integer without a cast drivers/dma/imx-sdma.c:352: note: expected Pleaselong unsigned int *Please but argument is of type Pleaselong unsigned integer drivers/dma/imx-sdma.c:475: warning: passing argument 1 of Pleasesdma_iram_free makes pointer from integer without a cast drivers/dma/imx-sdma.c:361: note: expected Pleaselong unsigned int *Please but argument is of type Pleasedma_addr_t drivers/dma/imx-sdma.c: In function Pleasesdma_request_channel: drivers/dma/imx-sdma.c:942: warning: passing argument 2 of Pleasesdma_iram_malloc makes pointer from integer without a cast drivers/dma/imx-sdma.c:352: note: expected Pleaselong unsigned int *Please but argument is of type Pleaselong unsigned integer drivers/dma/imx-sdma.c: In function Pleasesdma_free_chan_resources: drivers/dma/imx-sdma.c:1109: warning: passing argument 1 of Pleasesdma_iram_free makes pointer from integer without a cast drivers/dma/imx-sdma.c:361: note: expected Pleaselong unsigned int *Please but argument is of type Pleasedma_addr_t drivers/dma/imx-sdma.c: In function Pleasesdma_init: drivers/dma/imx-sdma.c:1505: warning: passing argument 2 of Pleasesdma_iram_malloc from incompatible pointer type drivers/dma/imx-sdma.c:352: note: expected Pleaselong unsigned int *Please but argument is of type Pleasedma_addr_t *Please -------------------------------------------------------------------- this patch fixes it. Signed-off-by: Huang Shijie <b32955@freescale.com>
2013-07-17ENGR00271344L Fix for ENGR00267024 introduced compilation warningJay Monkman
Fixed code so condition causing the warning never occurs. Signed-off-by: Jay Monkman <jay.monkman@freescale.com>
2013-07-17ENGR00261419 MX6Q HDMI CEC: Unit test failed put TV to powerdown.Sandor Yu
TV will been setting powerdown state when first run HDMI CEC unit test on MX6Q, but failed in the secondly run and loop in print message: sleep for ready! sleep for ready! sleep for ready! ... It is cause by cec interrupter been enabled before interrupter polarity setting, controler will received fake interrupter, and cec unit test will get wrong device state. Fix the issue with move interrupter polarity setting code before interrupter enabled. Signed-off-by: Sandor Yu <R01008@freescale.com>
2013-07-17ENGR00269623 mlb150: fix compile warningDong Aisheng
CC [M] drivers/gpu/drm/drm_global.o drivers/mxc/mlb/mxc_mlb150.c: In function 'mxc_mlb150_open': drivers/mxc/mlb/mxc_mlb150.c:1910: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'void *' .... Signed-off-by: Dong Aisheng <b29396@freescale.com>
2013-07-15ENGR00270802 usb: otg: delete redundant vbus off operationPeter Chen
The problem locates at: fsl_otg_start_host(fsm, 0); if (pdata->wake_up_enable) pdata->wake_up_enable(pdata, false); otg_drv_vbus(fsm, 0); fsl_otg_start_host(fsm, 0) internally calls fsl_otg_drv_vbus(), which does the same thing as otg_drv_vbus(fsm, 0). More critically, we need disable VBUS wakeup before close VBUS operation, otherwise unexpected VBUS wakeup will occur. The solution is to remove the call of fsl_otg_drv_vbus() in fsl_otg_start_host(). Signed-off-by: Peter Chen <peter.chen@freescale.com>
2013-07-15ENGR00269468 IPUv3 dev:Silence an annoying warning messageLiu Ying
We call the function ipu_calc_stripes_sizes() to calculate stripe settings for vdi split mode. Chances are that the parameters output_frame_width and maximal_stripe_width for the function satisfy the relationship 'output_frame_width <= maximal_stripe_width' and make the function return non-zero value. This causes the IPU device driver generates an annoying warning message, though the default stripe settings still can work. This patch simply silences the warning message by reducing the print log level from error to debug. Signed-off-by: Liu Ying <Ying.Liu@freescale.com> (cherry picked from commit 58d6cb0f2d5013c7a6f7b163ce8834019f0dcbc0)
2013-07-15Merge remote-tracking branch 'fsl-linux-sdk/imx_3.0.35_4.1.0' into ↵guoyin.chen
imx_3.0.35_android Conflicts: arch/arm/mach-mx6/Kconfig arch/arm/mach-mx6/board-mx6q_arm2.c arch/arm/mach-mx6/board-mx6q_arm2.h arch/arm/mach-mx6/board-mx6q_hdmidongle.c arch/arm/mach-mx6/board-mx6q_sabreauto.c arch/arm/mach-mx6/board-mx6q_sabreauto.h arch/arm/mach-mx6/board-mx6q_sabrelite.c arch/arm/mach-mx6/board-mx6q_sabresd.c arch/arm/mach-mx6/board-mx6q_sabresd.h arch/arm/mach-mx6/clock.c arch/arm/mach-mx6/pcie.c arch/arm/plat-mxc/include/mach/iomux-mx6q.h arch/arm/plat-mxc/include/mach/pcie.h drivers/dma/imx-sdma.c drivers/input/touchscreen/egalax_ts.c drivers/media/video/mxc/capture/csi_v4l2_capture.c drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c drivers/mxc/mlb/mxc_mlb150.c drivers/mxc/thermal/thermal.c drivers/net/fec.c drivers/usb/host/ehci-arc.c drivers/video/mxc/mxc_ipuv3_fb.c include/linux/fec.h sound/soc/imx/imx-wm8962.c
2013-07-15ENGR00270996 net:fec: fix fec probe fail due to gpio_irq check errorFugang Duan
Board files correctly define fec gpio irq to wake up wait mode since FEC interrupt cannot connect to GPC, otherwise board files define fec gpio irq to -1. So, fec probe function check the gpio irq to decide whether fec use gpio irq or fec irq. Current irq checking logic is incorrect. Correct the gpio irq checking. Signed-off-by: Fugang Duan <B38611@freescale.com>
2013-07-15ENGR00270697-2 net:fec: correct fec MDC clock sourceFugang Duan
For imx6 serial silicon, fec MDC clock parent is ipg 66MHz. The current clock file define the clock source is enet_pll8 50Mhz. So, the MDC clock is more than 2.5Mhz after divider. The phy Ar8031 work fine in current MDC clock, which shows the phy have exceeding flexibility. Correct the parent clock source to make MDC clock little than 2.5Mhz. Signed-off-by: Fugang Duan <B38611@freescale.com>
2013-07-12ENGR00262502-2 [MX6Q/MX6DLS]Add commandline option to route enet irq to gpioRanjani Vaidyanathan
Add a command line option to route the ENET interrupts to the GPIO_1_6. To route the ENET interrupts to GPIO_6 add "enet_gpio_6" to the kernel command line. Also remove the CONFIG option (MX6_ENET_IRQ_TO_GPIO). This commit should be applied on top of following commits: 72c86f0b9a953e91bb1ed31021b71f337050bc28 808863866d2c17aeb3e70a7fcd094bd96db4b601 bae4d40849f3acdd9663f5a0857c9415ed7e6d5d Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
2013-07-12ENGR00269619 mxc vout:improve vb handling for 3 field deinterlacingLiu Ying
We need 2 video buffers to get a deinterlaced frame in VDI low motion mode or medium motion mode. When there is no enough video buffer in the active list, no one triggers the video buffer timer, then users may be blocked at dqueue buffer ioctrl if they are in blocking mode. In order to fix this issue, we may peek the first available video buffer in the queue list so that the buffer may be taken as a reference video buffer to do deinterlacing. If there is no video buffer in the queue list, we should make users be able to trigger the timer again when they queue buffers to the driver. Signed-off-by: Liu Ying <Ying.Liu@freescale.com> (cherry picked from commit 52d0e3f01afbf49d8d16225dede18cc71daa0570)
2013-07-10ENGR00261293-2 mx6sl: csi/v4l2: add hflip/vflip/rotation supportRobby Cai
Use ePxP to do the horizontal/vertical flip and rotation support Signed-off-by: Robby Cai <R63905@freescale.com> (cherry picked from commit d0b9c741601b766213af1332329963f4267cd0c6)
2013-07-10ENGR00261293-1 mx6sl: csi/v4l2: resize function not work for v4l2 captureRobby Cai
- the root cause is pxp input/output buffer for csi post-processing is same one, some part of content is overridded. - use S_CROP ioctl to control crop, S_FMT to control output size. Signed-off-by: Robby Cai <R63905@freescale.com> (cherry picked from commit 9f3685ea1cd4e56b5d89bfbaf48920ba862edb49)
2013-07-10ENGR00265414-8 mxc: asrc: Improve channel setting interfaceNicolin Chen
ASRC driver allows users to set channel number via PROC interface, but only passes the total number equal 10. This's not reasonable because ASRC can use total number lower than 10 if user assure each of them is an even number. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com> (cherry picked from commit d76d08c93550cf2de9b1eff569ad6c0928ba122c)
2013-07-10ENGR00265414-7 mxc: asrc: Set ASRC processing clock to recommended valueNicolin Chen
Set ASRC processing clock 56k/76k with the recommended value from spec. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com> (cherry picked from commit 0519d385f5ed78f3526b72a211ccf22ac77c102e)
2013-07-10ENGR00265414-6 mxc: asrc: Use same part of code for 3 pair configurationNicolin Chen
The pair config code was prolix. Actually the three pair could use the same part of code with different configurations. So remove the prolix code. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com> (cherry picked from commit feb58d669633b94f97f111d79f81cb4abf1bf2c1)
2013-07-10ENGR00265414-5 mxc: asrc: Remove duplicated codeNicolin Chen
There's already a same section of code above the removed one. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com> (cherry picked from commit b69af65683f17bfa701fdbb2dd3a93f53dc3503b)
2013-07-10ENGR00265414-4 mxc: asrc: Reconstruct req_pair()Nicolin Chen
The old req_pair() constrained that only Pair B could afford 6 channels, while actually not. So rewrite it to be more flexible. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com> (cherry picked from commit adbc9dbba6ee46c05c0878a8e3bab118981d62c7)
2013-07-10ENGR00265414-3 mxc: asrc: Add missing input clock and output clockNicolin Chen
Added missing clock and revised the clock map for v2 Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com> (cherry picked from commit c7e1b9af10cb579efaf7c4644170f6f8bee401e2)
2013-07-10ENGR00265414-2 mxc: asrc: Fix wrong comments for the I/O P/D offsetNicolin Chen
The comments for the input/output prescaler and divider were swapped, so reverse them. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com> (cherry picked from commit bb6347bc5acb1d59e001063968c18d1056807cf9)
2013-07-10ENGR00265414-1 mxc: asrc: Fix incorrect offset for output clock P/D of Pair CNicolin Chen
The offset of output clock prescaler and divider were swapped, so reverse them. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com> (cherry picked from commit 4cda1ac12a8fdef84082212fb8fc5590c6c22fe7)
2013-07-10ENGR00255920-2 mxc vout:wait for 2 vsyncs when streamoffLiu Ying
Some expiring video buffers may have been rendered to display triple buffers for display. The relevant triple buffers are set to be ready and depend on the display hardware engine to switch them to be active on screen in turn automatically. So, we need to wait for at least 2 vsyncs to make sure all of the expiring video buffers be shown on display already. Signed-off-by: Liu Ying <Ying.Liu@freescale.com> (cherry picked from commit f7479db43eb2fa9bdb03c1ce99239a3136345105)
2013-07-10ENGR00255920-1 mxc vout:Remove cancel_work_sync() when streamoffLiu Ying
We hope the queued works can be done before streamoff, since the works will render expiring video buffers to display. But, the function cancel_work_sync() cannot guarantee this. Instead, it may cancel some queued works before they starts to work. This patch removes the function call cancel_work_sync() when streamoff. We rely on the function flush_workqueue() right after it to make sure queued works be done before streamoff. Signed-off-by: Liu Ying <Ying.Liu@freescale.com> (cherry picked from commit d88f6f7eaf3b78e667de46aa355cf366a1142e47)
2013-07-09ENGR00270045: thermal: Add timeout for temperature updateAnson Huang
Need to add timeout for temperature update, otherwise, if suspend comes during thermal sensor measurement, its power will be turned off, and after resume, the delay work thread will never get finish flag and result in thread forever loop, temperature will never get updated. And if we wait for the measurement finish before suspend, the time is too long for suspend, as one single measurement would take as long as 100ms which is not good for suspend, so just add a timeout. Signed-off-by: Anson Huang <b20788@freescale.com>
2013-07-08ENGR00264701-2 Add new ioctl to lock VPU deviceHongzhang Yang
Add VPU_IOC_LOCK_DEV to lock VPU device Signed-off-by: Hongzhang Yang <Hongzhang.Yang@freescale.com>
2013-07-08ENGR00264650 VPU can not playback after driver reloadHongzhang Yang
Picked from 3.5.7 branch and removed linux version check Bug: VPU can not playback after driver reload - To reproduce (if VPU is never powered off) 0. Build VPU driver as a loadable module 1. Playback 2. Unload driver 3. Reload driver 4. Playback VPU was blocked in vpu_DecGetInitialInfo. Root cause: VPU is still alive after unload Solution: Reset VPU state before unload Signed-off-by: Hongzhang Yang <Hongzhang.Yang@freescale.com>
2013-07-05ENGR00258366 dma: imx-sdma: make channel0 operations atomicHuang Shijie
This patch is rewrited by the patch : "2ccaef0520d18d0 dma: imx-sdma: make channel0 operations atomic" device_prep_dma_cyclic may be call in audio trigger function which is atomic context, so we make it atomic too. - change channel0 lock to spinlock. - Use polling to wait for channel0 finish running. Signed-off-by: Richard Zhao <richard.zhao@freescale.com> Signed-off-by: Huang Shijie <b32955@freescale.com>