summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2012-04-12ENGR00179485 fix android CTS hang up issueRichard Liu
fix android CTS hang up issue provided by Viv Signed-off-by: Richard Liu <r66033@freescale.com> Acked-by: Lily Zhang
2012-04-12ENGR00179510 ipu capture: fix system hang when running captureYuxi Sun
Add _ipu_get() and _ipu_put() when calling ipu_csi_get_sensor_protocol function. Signed-off-by: Yuxi Sun <b36102@freescale.com>
2012-04-09Merge remote branch 'fsl-linux-sdk/imx_3.0.15' into imx_3.0.15_androidXinyu Chen
2012-04-07ENGR00179130 Setting 480p Hsync and Vsync polarity is incorrectSandor Yu
Fix IPU DI registr DI_GENERAL incorrect initialize. Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-04-06ENGR00178875-3 VDOA: Add VDOA driver support on i.MX6Wayne Zou
VDOA needs to sync with IPU. Add VDOA driver support under IPU drivers. Signed-off-by: Wayne Zou <b36644@freescale.com>
2012-04-06ENGR00172303 - FEC : fix 'eth0: tx queue full!' issue.Fugang Duan
The issue is hard to reproduce in normal envrionment. And the reproduce rate is about 40% when doing VTE auto test. while the driver did report being busy when the link is down or no transmission buffers are available, it did not stop the queue, causing instant retries. furthermore, transmission being triggered with link down was caused by unconditional queue wakes, especially on timeouts. Now, wake queue only if link is up and transmission buffers are available, and dont forget to wake queue when link has been adjusted. next, add stop queue notification upon driver induced transmission problems, so network stack has a chance to handle the situation. Signed-off-by: Fugang Duan <B38611@freescale.com>
2012-04-06ENGR00177235-1 SDMA: add p2p dma modeChen Liangjun
Add support for p2p(peripheral to peripheral) dma mode in SDMA module. 1 Add p2p script membership in struct sdma_channel to support device to device tranfer. 2 P2P dma script need more configure information then memory to peripheral or peripheral to memory script. we configure these information into watermark_level. Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-04-06ENGR00178642-1 gpu-viv: fix suspend/resume issue for #304Richard Zhao
Signed-off-by: Richard Zhao <richard.zhao@freescale.com> Acked-by: Lily Zhang
2012-04-06ENGR00179059 RTC: enable wakealarm attributeFrank Li
Set 10s wake alarm from now by below command echo +10 > /sys/class/rtc/rtc0/wakealarm Signed-off-by: Frank Li <Frank.Li@freescale.com>
2012-04-05ENGR00178951-1 serial/imx: dead lock dedected when handle sysrqJason Liu
imx_rxint -> spin_lock_irqsave(&sport->port.lock, flags); And then it will call the following functions: uart_handle_sysrq_char -> handle_sysrq -> printk -> __call_console_write_drivers -> imx_console_write -> Here the imx_console_write function will call: spin_lock_irqsave(&sport->port.lock, flags); The A-A deadlock happens. We need spin_unlock before handle sysrq char and spin_lock again after it. Signed-off-by: Jason Liu <r64343@freescale.com>
2012-04-05serial/imx: support to handle break characterHui Wang
The imx UART hardware controller can identify BREAK character and the imx_set_termios() can accept BRKINT set by users, but current existing imx_rxint() can't pass BREAK character and TTY_BREAK to the tty layer as other serial drivers do (8250.c omap_serial.c). Here add code to handle BREAK character and pass it to tty layer. To detect error occurrence, i use URXD_ERR to replace (URXD_OVRRUN | URXD_FRMERR | ...) because any kind of error occurs, URXD_ERR will always be set to 1. I put the URXD_BRK to the first place to check since when BREAK error occurs, not only URXD_BRK is set to 1, but also URXD_PRERR and URXD_FRMERR are all set to 1. This arrangement can filter out fake parity and frame errors when BREAK error occurs. Signed-off-by: Hui Wang <jason77.wang@gmail.com> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> (cherry picked from commit 019dc9ea8d528eb3640bbba604e1e5a2f6994b1f)
2012-04-05ENGR00178932 USB: fix two USB otg common bug for i.MX6make shi
- Built in gadget device driver, plug in USB cable with no response, the reason is USB VBUS wakeup is not enable after OTG switch,make sure pdata->port_enables is 1 even if the pdata is otg device pdata. -Without modprobe or built in gadget device driver,after plug out the USB otg cable,will output "wait otg vbus change timeout!".The reason is we get error otgsc data after USB enter low power mode. Signed-off-by: make shi <b15407@freescale.com>
2012-04-05ENGR00178646-1 [CPUFreq]Fix interactive governor bugAnson Huang
1. When system not boot up all cores, interactive governor will not work; 2. Adjust the default timer_rate to 50ms instead of 20ms to avoid too many freq up/down change. Signed-off-by: Anson Huang <b20788@freescale.com>
2012-04-04ENGR00175724-2 IPU: change ipu_device thread process mode to interrupt mode.Wayne Zou
IPU: change ipu_device thread process method to interrupt drive mode to get better IPU post-processing load balance. Signed-off-by: Wayne Zou <b36644@freescale.com>
2012-04-01ENGR00178642-1 gpu-viv: fix suspend/resume issue for #304Richard Zhao
Signed-off-by: Richard Zhao <richard.zhao@freescale.com> Acked-by: Lily Zhang
2012-04-01ENGR00178631 MX6: fix audmux build errorGary Zhang
fix the build error for audmux located at drivers\mxc\dam Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-03-30mmc: block: fixed NULL pointer dereferenceJaehoon Chung
We already check for ongoing async transfers when handling discard requests, but not in mmc_blk_issue_flush(). This patch fixes that omission. Tested with an SDHCI controller and eMMC4.41. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Per Forlin <per.forlin@linaro.org> Cc: <stable@kernel.org> Signed-off-by: Chris Ball <cjb@laptop.org>
2012-03-30mmc: block: fixed NULL pointer dereferenceJaehoon Chung
We already check for ongoing async transfers when handling discard requests, but not in mmc_blk_issue_flush(). This patch fixes that omission. Tested with an SDHCI controller and eMMC4.41. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Per Forlin <per.forlin@linaro.org> Cc: <stable@kernel.org> Signed-off-by: Chris Ball <cjb@laptop.org>
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-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>
2012-03-30Merge remote branch 'fsl-linux-sdk/imx_3.0.15' into imx_3.0.15_4.6.6Xinyu Chen
Conflicts: arch/arm/configs/imx6_defconfig arch/arm/configs/imx6_updater_defconfig arch/arm/mach-mx6/board-mx6q_sabreauto.c arch/arm/mach-mx6/board-mx6q_sabresd.c arch/arm/mach-mx6/clock.c arch/arm/mach-mx6/localtimer.c drivers/cpufreq/Makefile drivers/cpufreq/cpufreq_interactive.c drivers/input/keyboard/gpio_keys.c drivers/media/video/mxc/capture/Kconfig drivers/media/video/mxc/capture/mxc_v4l2_capture.c drivers/mmc/card/block.c drivers/mmc/host/sdhci-esdhc-imx.c drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c drivers/usb/otg/fsl_otg.c drivers/video/mxc/mxc_ipuv3_fb.c include/linux/fsl_devices.h include/linux/mmc/host.h sound/soc/imx/Kconfig sound/soc/imx/Makefile sound/soc/imx/imx-hdmi-dma.c sound/soc/imx/imx-wm8958.c
2012-03-29ENGR00177264 Merge vivante 4.6.6p2 kernel part codeLoren Huang
Merge vivante 4.6.6p2 kernel part code Signed-off-by: Loren Huang <b02279@freescale.com> Acked-by: Lily Zhang
2012-03-29ENGR00178290-2 mmc: sdhci: introduce QUIRK_BROKEN_AUTO_CMD23 for mx6Dong Aisheng
We observed a few commands timeout when using auto cmd23. The root cause is still unkonwn. This patch is a workaround to not use auto cmd23 temporarily. Signed-off-by: Dong Aisheng <b29396@freescale.com>
2012-03-29ENGR00178290-1 Merge mmc: sdhci-esdhc-imx: Enable ADMA2Dong Aisheng
Add auto cmd23 fix. The original commit merged is: 97e4ba6a5 Subject: [PATCH 1/1] mmc: sdhci-esdhc-imx: Enable ADMA2 Eanble the ADMA2 mode for freescale esdhc imx driver, tested on MX25 3DS board, MX51 BBG board and MX53 LOCO board. This patch is only used to enable the ADMA2 for MX51/53 platforms. MX25/35 can't support the ADMA2 mode, set BROKEN_ADMA quirk on MX25/35 platforms. The ADMA mode supported or not can be distinguished by bit 20 of the Capability Register (offset 0x40) in the FSL eSDHC module. Signed-off-by: Richard Zhu <richard.zhu@linaro.org> Tested-and-acked-by: Eric Miao <eric.miao@linaro.org> Signed-off-by: Chris Ball <cjb@laptop.org> Signed-off-by: Dong Aisheng <b29396@freescale.com>
2012-03-28ENGR00178302 IPUv3:Enable error interrupts defaultlyLiu Ying
This patch enables IPUv3 error interrupts defaultly. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2012-03-28ENGR00178052 v4l2_capture:Correct multi-sensor uninstallationrel_imx_3.0.15_12.03.00Yuxi Sun
Point the current sensor to the right existent camera, and remove the detached one Signed-off-by: Yuxi Sun <b36102@freescale.com>
2012-03-28ENGR00177302 ASRC: change clock managementChen Liangjun
1 close clock when asrc is not working. 2 enable the asrc core clock when user sucessfully request an ASRC pair and disable it when the pair is release.So the call from ESAI using the p2p DMA mode can be support. Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-03-28ENGR00177756 usb-host: quit system suspend after usb remote wakeup occursPeter Chen
If the usb remote wakeup occurs before bus(roothub) suspend, it can stop the system suspend process, the patch adds handle error message process for roothub. If the remote wakeup occurs after bus(roothub) suspend, then the suspend will go on suspending, and usb phy will fail to respond wakeup signal. This patch is suggested by: Alan Stern <stern@rowland.harvard.edu> see: http://www.spinics.net/lists/linux-usb/msg58774.html Signed-off-by: Peter Chen <peter.chen@freescale.com>
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-27ENGR00177310-3 v4l2 capture: enable mclk when open functionYangYonggang
Enable mclk when opening v4l2 capture device and disable mclk when closing v4l2 capture device. If mclk is disabled when operating MIPI camera, the test is failed. Signed-off-by: Lily Zhang <r58066@freescale.com>
2012-03-27ENGR00177944 v4l2 capture: enable mclk and power up when open cameraYangYonggang
Set mclk enable and power up camera when open camera, and disable mclk, powerdown camera when close. Signed-off-by: Yuxi Sun <b36102@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-26ENGR00177944 v4l2 capture: enable mclk and power up when open cameraYuxi Sun
Set mclk enable and power up camera when open camera, and disable mclk, powerdown camera when close. Signed-off-by: Yuxi Sun <b36102@freescale.com>
2012-03-26ENGR00177589 USB: fix two USB common bug for i.MX6Peter Chen
- Without host wakeup enable, after doing system suspend/resume, plug in usb cable(both host/device) with no response, the reason is usb wakeup is not enable after suspend resume. - clock refcount will not be 0 after usb enters low power mode,the reason is OTG ID wake up not do recover hcd. Signed-off-by: Peter Chen <peter.chen@freescale.com>
2012-03-26ENGR00176177-2 Add irq count mechanism to interactive governorAnson Huang
Add irq count to CPUFreq as a freq change condition. Because some devices' working mode is unable to issue CPUFreq change because of low CPU loading, but the cpu freq will impact these devices' performace significantly. Interactive govervor will sample the cpu loading as well as the irq count which is registered. If the loading or the irq count exceed the threshold we set, governor will issue an CPUFreq change request. These devices' irq threshold and enable/disable can be modified via /sys/devices/system/cpu/cpufreq/interactive/irq_scaling echo 0xAABBBC to change the default setting as below AA : irq number BBB: threshold C :enable or disable Currently only enable USDHC3, USDHC4, GPU, SATA and USB by default, we can add device to the init struct which is located in arch/arm/mach-mx6/irq.c. Signed-off-by: Anson Huang <b20788@freescale.com>
2012-03-26ENGR00177745-1 Add interactive cpufreq governorAnson Huang
cpufreq: interactive: New 'interactive' governor This governor is designed for latency-sensitive workloads, such as interactive user interfaces. The interactive governor aims to be significantly more responsive to ramp CPU quickly up when CPU-intensive activity begins. Existing governors sample CPU load at a particular rate, typically every X ms. This can lead to under-powering UI threads for the period of time during which the user begins interacting with a previously-idle system until the next sample period happens. The 'interactive' governor uses a different approach. Instead of sampling the CPU at a specified rate, the governor will check whether to scale the CPU frequency up soon after coming out of idle. When the CPU comes out of idle, a timer is configured to fire within 1-2 ticks. If the CPU is very busy from exiting idle to when the timer fires then we assume the CPU is underpowered and ramp to MAX speed. If the CPU was not sufficiently busy to immediately ramp to MAX speed, then the governor evaluates the CPU load since the last speed adjustment, choosing the highest value between that longer-term load or the short-term load since idle exit to determine the CPU speed to ramp to. A realtime thread is used for scaling up, giving the remaining tasks the CPU performance benefit, unlike existing governors which are more likely to schedule rampup work to occur after your performance starved tasks have completed. The tuneables for this governor are: /sys/devices/system/cpu/cpufreq/interactive/min_sample_time: The minimum amount of time to spend at the current frequency before ramping down. This is to ensure that the governor has seen enough historic CPU load data to determine the appropriate workload. /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load The CPU load at which to ramp to max speed. Signed-off-by: Anson Huang <b20788@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-23ENGR00139113 android usb: hold a wakelock when usb connectedXinyu Chen
To prevent the suspend failed durning USB connected. Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
2012-03-22mxc: hdmi: fix potention deadlock issueJason Chen
Signed-off-by: Jason Chen <jason.chen@linaro.org>
2012-03-22ENGR00177310-3 v4l2 capture: enable mclk when open functionLily Zhang
Enable mclk when opening v4l2 capture device and disable mclk when closing v4l2 capture device. If mclk is disabled when operating MIPI camera, the test is failed. Signed-off-by: Lily Zhang <r58066@freescale.com>
2012-03-21ENGR00177048 Merge vivante 4.6.6 kernel part codeLoren Huang
Merge vivante 4.6.6 kernel part code Signed-off-by: Loren Huang <b02279@freescale.com> Acked-by: Lily Zhang
2012-03-21ENGR00171874 fix ASRC noise bug for i.MX6Chen Liangjun
Solve the ASRC noise: 1 change the DMA mode from normal mode to loop mode. 2 use dma_alloc_coherent alloc dma buffer instead of kzalloc. Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-03-21ENGR00176299-4 usb host suspend/resume can't work randomlyTony LIU
driver part Signed-off-by: Tony LIU <junjie.liu@freescale.com>
2012-03-21ENGR00176299-2 usb host suspend/resume can't work randomlyTony LIU
usb core part Signed-off-by: Tony LIU <junjie.liu@freescale.com>
2012-03-19ENGR00177046: Add the platform dependency for PXP in KconfigRobby Cai
If there's no dependency, build will be broken when do `make ARCH=arm CROSS_COMPILE=<cross-compiler path> allmodconfig' `make' because PXP module will be turned on. This patch fixed it. Signed-off-by: Robby Cai <R63905@freescale.com>
2012-03-18ENGR00176629 [Thermal]Add 1.2G supportAnson Huang
Fix bug of saving previous cpufreq not support up to 1.2G freq. Max length set to 7 instead of 6. Signed-off-by: Anson Huang <b20788@freescale.com>
2012-03-16ENGR00176567 gpio_keys: Set the IRQF_NO_SUSPEND flag to wakeup buttonXinyu Chen
We should not disabled GPIO irq when doing suspend. During suspend, kernel will call suspend_device_irq() to disable all the irqs (just set a disabled flag, no mask) On the another side, The handle_level_irq will check the irq's disable status to determin it should be handled or unmasked. If the GPIO interrupt happened just after the above suspend_device_irq(), we enters handle_leve_irq(), mask and ack the GPIO irq, then return directly without handle or unmask this irq because of it's disabled. That means the GPIO IMR bit is not set and we can not wake up by the GPIO key button. Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
2012-03-16ENGR00175884 System resume failed when the power key was pressed shortlyLin Fuzhen
Some platform like Android needs to get the power key event to reume the other devcies such as FB, TS. System resume failed when the gpio power key was pressed shortly sometime, but can resume the by long press the power key. The root cause of this issue is that the GPIO IRQ is registered as device IRQ, but device IRQs will just be enabled after early resume finished, so when the power key press shortly, the gpio-irq may still disabled in that time, and the ISR will be ignored and could not detect the key down event. To fix this bug, add the IRQF_EARLY_RESUME flag to the irq if platform has specified that the button can wake up the system , in this way, this irq will be enabled during syscore resume, so that the power key press can be handled and reported as early as possible. Signed-off-by: Lin Fuzhen <fuzhen.lin@freescale.com>
2012-03-16ENGR00175844 irq: enable IRQF_EARLY_RESUME irq when dpm_suspend_noirq failedXinyu Chen
The dpm_suspend_noirq routing calls suspend_device_irqs() first to disable all the irq no matter what flags it has. Then it enumerates the device driver on dpm_suspend_list to call their suspend_noirq pm callback. If any dev suspend failed, it will call dpm_resume_noirq to re-enable all the irq without IRQF_EARLY_RESUME, and return failed. If dpm_suspend_noirq() return failed, then no syscore_resume() can be called, that means the irq with flag IRQF_EARLY_RESUME, can not be re-enabled on this case. error = dpm_suspend_noirq(PMSG_SUSPEND); if (error) { .. goto Platform_finish; } .... error = syscore_suspend(); if (!error) { ... syscore_resume(); } ... dpm_resume_noirq(PMSG_RESUME); Platform_finish: if (suspend_ops->finish) suspend_ops->finish(); So we must enable all the irqs no matter it's IRQF_EARLY_RESUME or not. Otherwise the GPIO power key who's irq has flag of IRQF_EARLY_RESUME will be disabled forever when some device failed to suspend. Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>