summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
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-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-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-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-11ENGR00263553 fb: Change type uint to unsigned int in struct mxcfb_update_dataRobby Cai
This file could be included in user-space application while uint is not quite standard type. This patch changed to unsigned int to avoid to include specific header file. This is requested from mm team. Signed-off-by: Robby Cai <R63905@freescale.com> (cherry picked from commit 318a325b8c19d1ba7c1451797da5a161e787c64d)
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-06-19ENGR00266285-3 mm: dmapool: export for normal casePeter 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-05-14ENGR00262270 IPUv3:Basic 16-bit generic data support for SMFC chanLiu Ying
This patch adds basic 16-bit generic data support for SMFC channel. Although we didn't verify capturing frames with 16-bit generic data, this could be a good starting point for developers to go on with. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2013-04-17Merge remote-tracking branch 'fsl-linux-sdk/imx_3.0.35_4.0.0' into ↵jb4.2.2_1.0.0-gaguoyin.chen
imx_3.0.35_android
2013-04-16can: dev: let can_get_echo_skb() return dlc of CAN frameMarc Kleine-Budde
can_get_echo_skb() is usually called in the TX complete handler. The stats->tx_packets and stats->tx_bytes should be updated there, too. This patch simplifies to figure out the size of the sent CAN frame. Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2013-04-16can: dev: let can_get_echo_skb() return dlc of CAN frameMarc Kleine-Budde
can_get_echo_skb() is usually called in the TX complete handler. The stats->tx_packets and stats->tx_bytes should be updated there, too. This patch simplifies to figure out the size of the sent CAN frame. Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2013-04-15ENGR00257847-2 MX6Q/DL-Fix Ethernet performance issue when WAIT mode is activeRanjani Vaidyanathan
All of the interrupts from the ENET block are not routed to the GPC block. Hence ENET interrupts are not able to wake up the SOC when the system is in WAIT mode. And the ENET interrupt gets serviced only when another interrupt causes the SOC to exit WAIT mode. This impacts the ENET performance. To fix the issue two options: 1. Route the ENET interrupt to a GPIO. Need to enable the CONFIG_MX6_ENET_IRQ_TO_GPIO in the config. 2. If the GPIO mechanism cannot be used and is not enabled by the above mentioned config, the patch will disable entry to WAIT mode until ENET clock is active. When the ENET clock is disabled, WAIT mode will be automatically enetered. Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
2013-04-15ENGR00258357-5: mlb: Use circle buf macros to replace old ringbuf mechanismTerry Lv
Use circle buf to replace old ringbuf mechanism. Change to use circle buffer in read, write, rx isr and tx isr functions. In first design of MLB, it's using it's own mechanism to manage ring buffer, like in mxc_mlb.c. And then, I saw that kernel already had a serials of circ buffer macros which can be used to manage ring buffers. This patch is to use circle buffer macros to manage mlb internal ring buffers. For detail of circle buffers, you can refer to linux-2.6-imx/Documentation/circular-buffers.txt. Signed-off-by: Terry Lv <r65388@freescale.com>
2013-04-15ENGR00258357-5: mlb: Use circle buf macros to replace old ringbuf mechanismTerry Lv
Use circle buf to replace old ringbuf mechanism. Change to use circle buffer in read, write, rx isr and tx isr functions. In first design of MLB, it's using it's own mechanism to manage ring buffer, like in mxc_mlb.c. And then, I saw that kernel already had a serials of circ buffer macros which can be used to manage ring buffers. This patch is to use circle buffer macros to manage mlb internal ring buffers. For detail of circle buffers, you can refer to linux-2.6-imx/Documentation/circular-buffers.txt. Signed-off-by: Terry Lv <r65388@freescale.com>
2013-04-12ENGR00257847-2 MX6Q/DL-Fix Ethernet performance issue when WAIT mode is activeRanjani Vaidyanathan
All of the interrupts from the ENET block are not routed to the GPC block. Hence ENET interrupts are not able to wake up the SOC when the system is in WAIT mode. And the ENET interrupt gets serviced only when another interrupt causes the SOC to exit WAIT mode. This impacts the ENET performance. To fix the issue two options: 1. Route the ENET interrupt to a GPIO. Need to enable the CONFIG_MX6_ENET_IRQ_TO_GPIO in the config. 2. If the GPIO mechanism cannot be used and is not enabled by the above mentioned config, the patch will disable entry to WAIT mode until ENET clock is active. When the ENET clock is disabled, WAIT mode will be automatically enetered. Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
2013-04-10Merge remote-tracking branch 'fsl-linux-sdk/imx_3.0.35_4.0.0' into ↵guoyin.chen
imx_3.0.35_android
2013-04-10ENGR00257947 mtd: use memcpy to replace the memcpy_fromioHuang Shijie
During the read of NOR, the kernel actually calls the inline_map_copy_from() to read the data out. And inline_map_copy_from() will use the memcpy_fromio() to do the real job. The memcpy_fromio macro maps _memcpy_fromio() in the current code. But the _memcpy_fromio() will use readb() to do the copy work one byte by one byte. This makes the read performance of NOR very slow(about 2~3MB/s). A similiar discussion could be found in: http://lists.infradead.org/pipermail/linux-arm-kernel/2009-November/003860.html This patch replace the memcpy_fromio with memcpy which is optimized by the kernel. The following is the result from mtd_speedtest with M29W256GL7AN6E: ================================================= mtd_speedtest: MTD device: 2 mtd_speedtest: not NAND flash, assume page size is 512 bytes. mtd_speedtest: MTD device size 4194304, eraseblock size 131072, page size 512, count of eraseblocks 32, pages per eraseblock 256, OOB size 0 mtd_speedtest: testing eraseblock write speed mtd_speedtest: eraseblock write speed is 845 KiB/s mtd_speedtest: testing eraseblock read speed mtd_speedtest: eraseblock read speed is 19504 KiB/s mtd_speedtest: testing page write speed mtd_speedtest: page write speed is 845 KiB/s mtd_speedtest: testing page read speed mtd_speedtest: page read speed is 19140 KiB/s mtd_speedtest: testing 2 page write speed mtd_speedtest: 2 page write speed is 846 KiB/s mtd_speedtest: testing 2 page read speed mtd_speedtest: 2 page read speed is 19320 KiB/s mtd_speedtest: Testing erase speed mtd_speedtest: erase speed is 233 KiB/s mtd_speedtest: Testing 2x multi-block erase speed mtd_speedtest: 2x multi-block erase speed is 225 KiB/s mtd_speedtest: Testing 4x multi-block erase speed mtd_speedtest: 4x multi-block erase speed is 224 KiB/s mtd_speedtest: Testing 8x multi-block erase speed mtd_speedtest: 8x multi-block erase speed is 225 KiB/s mtd_speedtest: Testing 16x multi-block erase speed mtd_speedtest: 16x multi-block erase speed is 225 KiB/s mtd_speedtest: Testing 32x multi-block erase speed mtd_speedtest: 32x multi-block erase speed is 225 KiB/s mtd_speedtest: Testing 64x multi-block erase speed mtd_speedtest: 64x multi-block erase speed is 224 KiB/s mtd_speedtest: finished ================================================= Signed-off-by: Huang Shijie <b32955@freescale.com>
2013-04-10ENGR00257947 mtd: use memcpy to replace the memcpy_fromioHuang Shijie
During the read of NOR, the kernel actually calls the inline_map_copy_from() to read the data out. And inline_map_copy_from() will use the memcpy_fromio() to do the real job. The memcpy_fromio macro maps _memcpy_fromio() in the current code. But the _memcpy_fromio() will use readb() to do the copy work one byte by one byte. This makes the read performance of NOR very slow(about 2~3MB/s). A similiar discussion could be found in: http://lists.infradead.org/pipermail/linux-arm-kernel/2009-November/003860.html This patch replace the memcpy_fromio with memcpy which is optimized by the kernel. The following is the result from mtd_speedtest with M29W256GL7AN6E: ================================================= mtd_speedtest: MTD device: 2 mtd_speedtest: not NAND flash, assume page size is 512 bytes. mtd_speedtest: MTD device size 4194304, eraseblock size 131072, page size 512, count of eraseblocks 32, pages per eraseblock 256, OOB size 0 mtd_speedtest: testing eraseblock write speed mtd_speedtest: eraseblock write speed is 845 KiB/s mtd_speedtest: testing eraseblock read speed mtd_speedtest: eraseblock read speed is 19504 KiB/s mtd_speedtest: testing page write speed mtd_speedtest: page write speed is 845 KiB/s mtd_speedtest: testing page read speed mtd_speedtest: page read speed is 19140 KiB/s mtd_speedtest: testing 2 page write speed mtd_speedtest: 2 page write speed is 846 KiB/s mtd_speedtest: testing 2 page read speed mtd_speedtest: 2 page read speed is 19320 KiB/s mtd_speedtest: Testing erase speed mtd_speedtest: erase speed is 233 KiB/s mtd_speedtest: Testing 2x multi-block erase speed mtd_speedtest: 2x multi-block erase speed is 225 KiB/s mtd_speedtest: Testing 4x multi-block erase speed mtd_speedtest: 4x multi-block erase speed is 224 KiB/s mtd_speedtest: Testing 8x multi-block erase speed mtd_speedtest: 8x multi-block erase speed is 225 KiB/s mtd_speedtest: Testing 16x multi-block erase speed mtd_speedtest: 16x multi-block erase speed is 225 KiB/s mtd_speedtest: Testing 32x multi-block erase speed mtd_speedtest: 32x multi-block erase speed is 225 KiB/s mtd_speedtest: Testing 64x multi-block erase speed mtd_speedtest: 64x multi-block erase speed is 224 KiB/s mtd_speedtest: finished ================================================= Signed-off-by: Huang Shijie <b32955@freescale.com>
2013-04-09ENGR00257658 Revert "ENGR00256893-2 MX6Q/DL-Fix Ethernet performance issueJason Liu
This reverts commit 573bab0be2427d6664420eaf9d8e272dbe9d840f. i.mx6dl/dq sabreauto/sabresd board will boot up failed randomly with this patch-set, thus revert it. [Jason] Signed-off-by: Jason Liu <r64343@freescale.com> Signed-off-by: Huang Shijie <b32955@freescale.com>
2013-04-07Merge remote-tracking branch 'fsl-linux-sdk/imx_3.0.35_4.0.0' into ↵guoyin.chen
imx_3.0.35_android
2013-04-07ENGR00257658 Revert "ENGR00256893-2 MX6Q/DL-Fix Ethernet performance issueJason Liu
This reverts commit 573bab0be2427d6664420eaf9d8e272dbe9d840f. i.mx6dl/dq sabreauto/sabresd board will boot up failed randomly with this patch-set, thus revert it. [Jason] Signed-off-by: Jason Liu <r64343@freescale.com>
2013-04-03ENGR00256893-2 MX6Q/DL-Fix Ethernet performance issue when WAIT mode is activeRanjani Vaidyanathan
All of the interrupts from the ENET block are not routed to the GPC block. Hence ENET interrupts are not able to wake up the SOC when the system is in WAIT mode. And the ENET interrupt gets serviced only when another interrupt causes the SOC to exit WAIT mode. This impacts the ENET performance. To fix the issue two options: 1. Route the ENET interrupt to a GPIO. Need to enable the CONFIG_MX6_ENET_IRQ_TO_GPIO in the config. This patch provides support for routing the ENET interrupt to GPIO_1_6. Routing to this GPIO requires no HW board mods. If the GPIO_1_6 is being used for some other peripheral, this patch can be followed to route the ENET interrupt to any other GPIO though a HW mode maybe required. 2. If the GPIO mechanism cannot be used and is not enabled by the above mentioned config, the patch will disable entry to WAIT mode until ENET clock is active. When the ENET clock is disabled, WAIT mode will be automatically enetered. Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
2013-04-02ENGR00256893-2 MX6Q/DL-Fix Ethernet performance issue when WAIT mode is activeRanjani Vaidyanathan
All of the interrupts from the ENET block are not routed to the GPC block. Hence ENET interrupts are not able to wake up the SOC when the system is in WAIT mode. And the ENET interrupt gets serviced only when another interrupt causes the SOC to exit WAIT mode. This impacts the ENET performance. To fix the issue two options: 1. Route the ENET interrupt to a GPIO. Need to enable the CONFIG_MX6_ENET_IRQ_TO_GPIO in the config. This patch provides support for routing the ENET interrupt to GPIO_1_6. Routing to this GPIO requires no HW board mods. If the GPIO_1_6 is being used for some other peripheral, this patch can be followed to route the ENET interrupt to any other GPIO though a HW mode maybe required. 2. If the GPIO mechanism cannot be used and is not enabled by the above mentioned config, the patch will disable entry to WAIT mode until ENET clock is active. When the ENET clock is disabled, WAIT mode will be automatically enetered. Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
2013-04-03Merge remote-tracking branch 'fsl-linux-sdk/imx_3.0.35_4.0.0' into ↵guoyin.chen
imx_3.0.35_android Conflicts: drivers/net/fec.c
2013-03-06Merge remote-tracking branch 'fsl-linux-sdk/imx_3.0.35' into imx_3.0.35_androidguoyin.chen
Conflicts: drivers/video/mxc/ldb.c
2013-03-01timer: fix the too many reries on the per-cpu event deviceJason Liu
There are so many retries happen on the per-cpu event device when run the command 'cat /proc/timer_list', as following: root@~$ cat /proc/timer_list Timer List Version: v0.6 HRTIMER_MAX_CLOCK_BASES: 3 now at 3297691988044 nsecs Tick Device: mode: 1 Per CPU device: 0 Clock Event Device: local_timer max_delta_ns: 8624432320 min_delta_ns: 1000 mult: 2138893713 shift: 32 mode: 3 next_event: 3297700000000 nsecs set_next_event: twd_set_next_event set_mode: twd_set_mode event_handler: hrtimer_interrupt retries: 36383 the reason is that the local timer will stop when enter C3 state, we need switch the local timer to bc timer when enter the state and switch back when exit from the that state.The code is like this: void arch_idle(void) { .... clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ENTER, &cpu); enter_the_wait_mode(); clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_EXIT, &cpu); } when the broadcast timer interrupt arrives(this interrupt just wakeup the ARM, and ARM has no chance to handle it since local irq is disabled. In fact it's disabled in cpu_idle() of arch/arm/kernel/process.c) the broadcast timer interrupt will wake up the CPU and run: clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_EXIT, &cpu); -> tick_broadcast_oneshot_control(...); -> tick_program_event(dev->next_event, 1); -> tick_dev_program_event(dev, expires, force); -> for (i = 0;;) { int ret = clockevents_program_event(dev, expires, now); if (!ret || !force) return ret; dev->retries++; .... now = ktime_get(); expires = ktime_add_ns(now, dev->min_delta_ns); } clockevents_program_event(dev, expires, now); delta = ktime_to_ns(ktime_sub(expires, now)); if (delta <= 0) return -ETIME; when the bc timer interrupt arrives, which means the last local timer expires too. so, clockevents_program_event will return -ETIME, which will cause the dev->retries++ when retry to program the expired timer. Even under the worst case, after the re-program the expired timer, then CPU enter idle quickly before the re-progam timer expired, it will make system ping-pang forever if no interrupt happen. We have found the ping-pang issue during the video play-back test. system will freeze and video not playing for sometime until other interrupt occured to break the error condition. The detailed information, please refer to the LKML:https://lkml.org/lkml/2013/2/20/216 which posted by Jason Liu. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Jason Liu <r64343@freescale.com> Tested-by: Jason Liu <r64343@freescale.com> Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
2013-03-01timer: fix the too many reries on the per-cpu event deviceJason Liu
There are so many retries happen on the per-cpu event device when run the command 'cat /proc/timer_list', as following: root@~$ cat /proc/timer_list Timer List Version: v0.6 HRTIMER_MAX_CLOCK_BASES: 3 now at 3297691988044 nsecs Tick Device: mode: 1 Per CPU device: 0 Clock Event Device: local_timer max_delta_ns: 8624432320 min_delta_ns: 1000 mult: 2138893713 shift: 32 mode: 3 next_event: 3297700000000 nsecs set_next_event: twd_set_next_event set_mode: twd_set_mode event_handler: hrtimer_interrupt retries: 36383 the reason is that the local timer will stop when enter C3 state, we need switch the local timer to bc timer when enter the state and switch back when exit from the that state.The code is like this: void arch_idle(void) { .... clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ENTER, &cpu); enter_the_wait_mode(); clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_EXIT, &cpu); } when the broadcast timer interrupt arrives(this interrupt just wakeup the ARM, and ARM has no chance to handle it since local irq is disabled. In fact it's disabled in cpu_idle() of arch/arm/kernel/process.c) the broadcast timer interrupt will wake up the CPU and run: clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_EXIT, &cpu); -> tick_broadcast_oneshot_control(...); -> tick_program_event(dev->next_event, 1); -> tick_dev_program_event(dev, expires, force); -> for (i = 0;;) { int ret = clockevents_program_event(dev, expires, now); if (!ret || !force) return ret; dev->retries++; .... now = ktime_get(); expires = ktime_add_ns(now, dev->min_delta_ns); } clockevents_program_event(dev, expires, now); delta = ktime_to_ns(ktime_sub(expires, now)); if (delta <= 0) return -ETIME; when the bc timer interrupt arrives, which means the last local timer expires too. so, clockevents_program_event will return -ETIME, which will cause the dev->retries++ when retry to program the expired timer. Even under the worst case, after the re-program the expired timer, then CPU enter idle quickly before the re-progam timer expired, it will make system ping-pang forever if no interrupt happen. We have found the ping-pang issue during the video play-back test. system will freeze and video not playing for sometime until other interrupt occured to break the error condition. The detailed information, please refer to the LKML:https://lkml.org/lkml/2013/2/20/216 which posted by Jason Liu. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Jason Liu <r64343@freescale.com> Tested-by: Jason Liu <r64343@freescale.com> Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
2013-02-27Merge remote-tracking branch 'fsl-linux-sdk/imx_3.0.35' into imx_3.0.35_androidguoyin.chen
Conflicts: arch/arm/mach-mx6/Makefile arch/arm/mach-mx6/board-mx6dl_hdmidongle.h arch/arm/mach-mx6/board-mx6q_hdmidongle.c arch/arm/mach-mx6/board-mx6q_hdmidongle.h arch/arm/mach-mx6/board-mx6q_sabreauto.c arch/arm/mach-mx6/board-mx6q_sabrelite.c drivers/media/video/mxc/capture/csi_v4l2_capture.c drivers/media/video/mxc/capture/ipu_csi_enc.c drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel.c drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel.h drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal.h drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_compiler.h drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_enum.h drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_options.h drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c drivers/mxc/vpu/mxc_vpu.c drivers/usb/gadget/arcotg_udc.c drivers/video/mxc/mxc_ipuv3_fb.c drivers/video/mxc_hdmi.c include/linux/mxcfb.h sound/soc/imx/imx-wm8962.c
2013-02-20ENGR00251015-1 FB/IPU: Add mxcfb ioctrl to update IPU DP CSC matrixWayne Zou
Add mxcfb ioctrl MXCFB_CSC_UPDATE to update IPU DP CSC matrix for display adjustment. This patch defines the ioctrl interface in header file. Signed-off-by: Wayne Zou <b36644@freescale.com>
2013-01-31ENGR00242239-1 Camera app be freezed when taking 5M pic in MX6DLguoyin.chen
Make CARVEOUT ION heap be configured to be cachable as platform data Signed-off-by: guoyin.chen <guoyin.chen@freescale.com>
2013-01-23ENGR00240972-1 IPU: Add deinterlace frame rate double flagsWayne Zou
Add deinterlace frame rate double flags for ipu header file Signed-off-by: Wayne Zou <b36644@freescale.com>
2013-01-21ENGR00239734 Mx6 HDMI PHY: Add 2 variable to pass board specific configSandor Yu
The PHY register 0x9 and 0xe should setting to different value in different board to pass HCT. Add variable phy_reg_vlev and phy_reg_cksymtx to pass phy config data. Signed-off-by: Sandor Yu <R01008@freescale.com> (cherry picked from commit 844aab72e7edcdced9f8e4e0d8e54eb4b0461cd9)
2013-01-18ENGR00239734 Mx6 HDMI PHY: Add 2 variable to pass board specific configSandor Yu
The PHY register 0x9 and 0xe should setting to different value in different board to pass HCT. Add variable phy_reg_vlev and phy_reg_cksymtx to pass phy config data. Signed-off-by: Sandor Yu <R01008@freescale.com>
2013-01-08ENGR00238813 ASRC: add check before release ASRC pairChen Liangjun
Add check before relase ASRC pair to prevent ASRC register operation while clock is not enabled. The ASRC clock is disable while index is not applied. Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-11-30Merge remote-tracking branch 'fsl-linux-sdk/imx_3.0.35_1.1.0' into ↵Xinyu Chen
imx_3.0.35_android Conflicts: arch/arm/mach-mx6/board-mx6q_sabrelite.c arch/arm/mach-mx6/board-mx6q_sabresd.c arch/arm/plat-mxc/cpufreq.c
2012-11-28ENGR00234781 input: add novatek touch screen driver.Zhang Jiejing
This patch add device drvier for novatek touch screen driver. This touch screen chip will be support because it have more populary screen size. Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
2012-11-27ENGR00234781 input: add novatek touch screen driver.Zhang Jiejing
This patch add device drvier for novatek touch screen driver. This touch screen chip will be support because it have more populary screen size. Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
2012-11-15ENGR00233570-1 ASRC: Use hook to add support for ASRC loadableGe Lei
ASoC ESAI machine driver and pcm platform driver use the APIs from mxc_asrc.c, but once ASRC is used as a loadable module, these files can't find the APIs from this ko. In this patch, we use 'asrc_p2p_hook' to hook the APIs which will be used in ASoC ESAI machine driver and pcm platform driver. Signed-off-by: Ge Lei <b42127@freescale.com>
2012-11-14ENGR00233427 ASRC: add interface to modify ASRC input/output watermarkChen Liangjun
In this patch, add interface to modify ASRC input/output watermark. Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-11-08Merge remote branch 'fsl-linux-sdk/imx_3.0.35' into imx_3.0.35_androidXinyu Chen
Conflicts: arch/arm/plat-mxc/dvfs_core.c drivers/input/keyboard/mpr121.c drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c include/linux/i2c/mpr.h sound/soc/imx/imx-wm8962.c
2012-11-06ENGR00231266-1: fsl_devices add csi_tx_addrAdrian Alonso
* Add csi_tx_addr, so it can override slave addr for adv7280 tvin decoder device Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-11-06ENGR00231773-8 ASRC: prevent user app from processing input/output processingChen Liangjun
To finish a buffer convert in ASRC, user should 1. prepare input buffer, 2. prepare output buffer 3. wait for output buffer's completion 4.wait for input buffer's comletion. The flow make user application ugly. In this patch, pack steps above to 1 stop: ASRC_CONVERT. Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-11-06ENGR00231773-5 ASRC: use poll mode to receive last period of ASRC dataChen Liangjun
ASRC driver use DMA to transfer data from ASRC output FIFO to memory. However, DMA way require the data number in ASRC output FIFO being larger than watermark level. Thus a dma request can trigger a DMA burst. For the last period of output data, its number is possiblely less than output FIFO watermark level. In this case, the output DMA would pending for the last period of output data until timeout. In this patch: 1 divide expected output data length into 2 parts: DMA part and poll part. Using DMA to get the DMA part data and poll mode to get the poll part. 2 to prevent user from processing these 2 parts above, kernel buffers would be untouchable. User application only need send its data buffer address to driver instead of query the kernel buffer. Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-11-06ENGR00231773-4 ASRC: use scatter list and stall bit for asrc convertChen Liangjun
In the origin code, ASRC driver use cyclic way to process DMA task transfering data to/from ASRC input/output FIFO. In this case, it is necessary that user application should promise that the input buffer flow is continuous. If not, there would be 0 data be inserted into data flow. The output data would be noisy. In this patch, 1 use scatter list instead of cyclic SDMA: with scatter list, SDMA would stop when the applied scatter list nents are finished. 2 set stall bit for ASRC "memory->ASRC->memory" convert to stop ASRC convert when input data is not send into ASRC input FIFO in time. Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-11-06ENGR00231773-3 ASRC: use kzalloc to allocate buffer to support scatterlistChen Liangjun
For ASRC's "memory -> ASRC -> memory" using, new driver would support model below: user input one buffer into ASRC and an corresponding output buffer would be poped out. There is no timing requirement between this input buffer and next input buffer. Thus driver would not use the cyclic way to config SDMA and scatterlist is used. buffer allocated by dma_alloc_coherent() can't support scatterlist well. In this patch, use kzalloc to allocate buffer to support scatterlist. Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-11-06ENGR00231773-2 ASRC: add work struct for asrc output data receiveChen Liangjun
SDMA driver can't promise receive all output data generated. Cause when the data in output FIFO is less than ASRC output FIFO watermark, there would be no DMA request generated and thus no SDMA transfer would happens. In this patch, add work struct to support ASRC driver receive last part of data in OUTPUT FIFO in polling way. Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-11-06ENGR00231773-1 ASRC: remove queue operation in ASRC driverChen Liangjun
According to ASRC memory->ASRC->memory requirement, driver should satisfy the feature below: user application would passed into one buffer and waiting until the output buffer is generated. In this case, only one buffer is on processing and it is no necessary to use the queue to do the convert. What is worse, queue operation would make the ASRC driver hard to understand and maintain. In this patch, remove the queue operation in ASRC driver. Signed-off-by: Chen Liangjun <b36089@freescale.com>