summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
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-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-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-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-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-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>
2013-07-05ENGR00264286 pfuze:fix LDO ramp up time calculate error.Robin Gong
fix the calculate error. Signed-off-by: Robin Gong <b38343@freescale.com>
2013-07-04ENGR00264875 enet: fix DMA map/unmap mismatchFugang Duan
Enable "CONFIG_DMA_API_DEBUG" in kernel, and system generate warning when run up. WARNING: /home/b29397/work/projects/linux-2.6-imx/lib/dma-debug.c:865 check_unmap+0x6f8/0x7d8() net eth0: DMA-API: device driver tries to free DMA memory it has not allocated [device address=0x00000000443d7040] [size=2048] [<80025f60>] (warn_slowpath_common+0x0/0x6c) from [<80026070>] (warn_slowpath_fmt+0x38/0x40) r9:00000000 r8:00000800 r7:807bfb0c r6:807a3d48 r5:00000000 It is dma memory map/unmap mismatch issue caused by kernel upgrade. Signed-off-by: Fugang Duan <B38611@freescale.com>
2013-07-03ENGR00269421 [IPU] - Y444 Format Conversion is not using correct bpp.Oliver Brown
Correct bytes per pixel for the Y444 pixel format. Signed-off-by: Oliver Brown <oliver.brown@freescale.com>
2013-07-02ENGR00269245 MX6SL HDMI: print error message when HDMI cable pluginSandor Yu
When HDMI cable plugin, the frame buffer driver will print error message "can't do pan display when fb is blank", it is cause by sii902x driver call fb_set_var after fb power down. sii902x driver should not mangement fb blank state, it should only care its own power state. Remove fb_blank function and replace it with sii902x power management function. Signed-off-by: Sandor Yu <R01008@freescale.com>
2013-07-02ENGR00261285-02 Lcdif FB: Fix video timing settingSandor Yu
Correct HSYNC_PERIOD, VSYNC_PERIOD, HORIZONTAL_WAIT_CNT and VERTICAL_WAIT_CNT setting. In MX6SL RM, these parmeters define as followed: - HSYNC_PERIOD: Total number of CLK_DIS_LCDIFn cycles between two positive or two negative edges of the HSYNC signal. - VSYNC_PERIOD: Total number of units between two positive or two negative edges of the VSYNC signal. - HORIZONTAL_WAIT_CNT:In the DOTCLK mode, wait for this number of clocks from falling edge (or rising if HSYNC_POL is 1) of HSYNC signal to account for horizontal back porch plus the number of DOTCLKs before the moving picture information begins. - VERTICAL_WAIT_CNT: In the DOTCLK mode, it accounts for the veritcal back porch lines plus the number of horizontal lines before the moving picture begins. After apply the patch, run HDMI CTS with video mode 480p,720p and 1080p test case 7-16~7-19, 7-21~7-27 and 7-33 pass. Signed-off-by: Sandor Yu <R01008@freescale.com>
2013-07-01ENGR00261285-01 Remove unsupported function from sii902x drvierSandor Yu
Remove suspend/resume function in i2c driver struct. Sii902x power management function have implemented by fb interface. Signed-off-by: Sandor Yu <R01008@freescale.com>
2013-06-27ENGR00238991-03 MX6 Add HDCP functionSandor
The patch include HDMI HDCP patch kernel part: - Add HDMI DDC pin config function. - Add HDCP enable/disable system file. - Read EDID via HDMI internal I2C when HDCP enable. - Add hdcp_enable in the struct of hdmi_data_info. - Handle HDCP interrupter and set device event when HDCP state changed. - Add IOCTL for HDCP application to get HDMI configuration. Signed-off-by: Sandor <R01008@freescale.com>
2013-06-25ENGR00268442 mmc: remove the boot partition access codes on 3.0.35Richard Zhu
Regarding to the following community commit, remove all the boot partition access codes added before. - 371a689f64b0da140c3bcd3f55305ffa1c3a58ef mmc: MMC boot partitions support. Allows device MMC boot partitions to be accessed. MMC partitions are treated effectively as separate block devices on the same MMC card. - Boot partition access howto: - To enable write access to /dev/mmcblkXbootY, disable the forced read-only access with: echo 0 > /sys/block/mmcblkXbootY/force_ro To re-enable read-only access: echo 1 > /sys/block/mmcblkXbootY/force_ro - Signed-off-by: Richard Zhu <r65037@freescale.com>
2013-06-24ENGR00258998: mlb unit test should exit after click stop on mitbTerry Lv
This patch will do the following: 1. For mlb will not be able to know whether the final package is completely sent, add a delay for final package to be sent. 2. Adjust MLB's iram buffer usage. Old code will add addtional usage of iram buffer. 3. Code format change. 4. In resume function, calling init function after clock is enabled. Signed-off-by: Terry Lv <r65388@freescale.com>
2013-06-24ENGR00268385 v4l2 fg overlay:disable fb ywrap when enable overlayLiu Ying
This patch disables framebuffer ywrap flag when we enable overlay, because the display double buffers are not ywrapped. This may avoid wrong preview pictures on platforms which use NV12 pixel format for overlay framebuffer. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2013-06-19ENGR00262528-2 usb: host: the clock needs to be off if probe failsPeter Chen
The clock needs to be off if probe fails. Signed-off-by: Peter Chen <peter.chen@freescale.com>
2013-06-19ENGR00266285-1 usb: gadget: using non-buffer & non-cache memory for dma bufferPeter Chen
It is the same issue with ENGR00217721, and it is also needed for normal usb case. Signed-off-by: Peter Chen <peter.chen@freescale.com>
2013-06-17ENGR00240112-2 crypto: caam: add ecb(aes) crypto algorithm to caam.Zhang Jiejing
add ecb(aes) support for caam algorithm, the caam H/W support both ecb and cbc, add the algorithm into template. Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
2013-06-17ENGR00240112-1 caam: fix user space crypto API support.Zhang Jiejing
This patch fix the CAAM support for Crypto User Space API support. in the dma_map_sg_chained() function, the chained mode will loop until the scatter list end, but when the scatter list end, it will return null and orignal code will set this to the sg list point used by dma_sync, so it will panic. When do chain dma, use a tmp do going through the list. Signed-off-by Zhang Jiejing <jiejing.zhang@freescale.com>
2013-06-17ENGR00181680-2 No audio when play 3 streams after 3~10 seconds sometimesb02247
sdma: bd is bufferable dma buffer, interrupt handler can not get correct data after sdma script updated. Which will cause there is no interrupt after failed period number times in the interrupt handler. This is a workaround. Signed-off-by: b02247 <b02247@freescale.com>