summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-03-08ENGR00253290-1 ASoC: wm8962: fix over-gained audio playback issueNicolin Chen
We put some code to set default volumes in codec driver, but later we found that one of volume was higher than 0db, which would cause over-gained volume. So this patch removed DAC default volume setting, and reverted the volume interface of it to let user control the register from user space. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-03-06ENGR00252782 mxc v4l2 capture:Support csi number attributionLiu Ying
This patch adds device attribution for video device to show csi number to userspace. The pattern is in "ipux_csix" fashion, which tells which ipu and csi is relevant to a specific video device. In this way, userspace may figure out different cameras even if they have the same type, especially, android may use this to know back/front cameras. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2013-03-06ARM: 7417/1: vfp: ensure preemption is disabled when enabling VFP accessWill Deacon
The vfp_enable function enables access to the VFP co-processor register space (cp10 and cp11) on the current CPU and must be called with preemption disabled. Unfortunately, the vfp_init late initcall does not disable preemption and can lead to an oops during boot if thread migration occurs at the wrong time and we end up attempting to access the FPSID on a CPU with VFP access disabled. This patch fixes the initcall to call vfp_enable from a non-preemptible context on each CPU and adds a BUG_ON(preemptible) to ensure that any similar problems are easily spotted in the future. Cc: stable@vger.kernel.org Reported-by: Hyungwoo Yang <hwoo.yang@gmail.com> Signed-off-by: Hyungwoo Yang <hyungwooy@nvidia.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> [Fix merge conflict] Signed-off-by: Jason Liu <r64343@freescale.com>
2013-03-06ENGR00251209-9 msl: usb: make global variable as drvdataPeter Chen
There is a bug when we try to remove wakeup module twice as g_ctrl is a globle variable, in fact, it is per controller wakeup driver, so the private data should be per device. Signed-off-by: Peter Chen <peter.chen@freescale.com>
2013-03-06ENGR00251209-8 usb: fix the build error when building usb as loadable modulePeter Chen
export usb_suspend, usb_resume, and pm_mutex Signed-off-by: Peter Chen <peter.chen@freescale.com>
2013-03-06ENGR00251209-7 usb: mark phy's low power flag as false at probePeter Chen
PHY's low power flag was false at former logic, so this change should not affect functions. Signed-off-by: Peter Chen <peter.chen@freescale.com>
2013-03-06ENGR00251209-6 msl-mx6: usb: keep the phy lower flag as true defaultlyPeter Chen
Keep the phy lower flag as true defaultly, the driver should mark it as false when the driver begins to use PHY. This fixes one bug that when build both host and gadget as loadable modules, the phy lower flag is false if the related module is not loaded, then, the wakeup interrupt will not be treated as happened if host module is loaded, but gadget is not loaded, or vice verse. Signed-off-by: Peter Chen <peter.chen@freescale.com>
2013-03-06ENGR00251209-5 usb: fix the system hang when unload gadget modulePeter Chen
- For gadget, the clock will be closed at platform code, so the driver should not be close clock beforehand. - For host, the PHY should not be low power mode when the host controller has still possibilities to use. Besides, the 5v should be off at last as some platform uses 5v for PHY's power. Signed-off-by: Peter Chen <peter.chen@freescale.com>
2013-03-06ENGR00251209-4 msl-mx6: usb: Fix system hang when unload gadget modulePeter Chen
At gadget module remove function, it closes the clock, but at platform code, it still visits register. In fact, The PHY has already been low power mode when driver's remove before platform code is called. Signed-off-by: Peter Chen <peter.chen@freescale.com>
2013-03-06ENGR00251209-3 usb: fix below build warningPeter Chen
/home/b29397/work/projects/linux-2.6-imx/arch/arm/mach-mx6/usb_dr.c: In function 'mx6_usb_dr_init': /home/b29397/work/projects/linux-2.6-imx/arch/arm/mach-mx6/usb_dr.c: 615: warning: unused variable 'imx6q_mxc_ehci_otg_data' /home/b29397/work/projects/linux-2.6-imx/arch/arm/mach-mx6/usb_dr.c: At top level: /home/b29397/work/projects/linux-2.6-imx/arch/arm/mach-mx6/usb_dr.c: 77: warning: 'fsl_platform_otg_set_usb_phy_dis' defined but not used Signed-off-by: Peter Chen <peter.chen@freescale.com>
2013-03-06ENGR00251209-2 usb: otg: fix the dp/dm will be floating when phy is no 3v3Peter Chen
For the design which the phy is no power (no 5v for VBUS), the PHY can't get dp/dm correctly, so it the port change interrpt is enabled or the host enters low power mode, the unexpected interrupt will occur. This commit will make the dp/dm as zero at otg configuration. For gadget-only, the same function is existed at probe. For host-only, the vbus will be on before port change interrupt is enabled. Signed-off-by: Peter Chen <peter.chen@freescale.com>
2013-03-06ENGR00251209-1 usb: add host 1 vbus callbackPeter Chen
The callback will be used at probe and remove Signed-off-by: Peter Chen <peter.chen@freescale.com>
2013-03-05ENGR00252727-2 [GPU]Power on VG core if there is only VG core in SoCLoren Huang
-Power on VG core to makesure VG can be initalized if there is only VG core in SoC. -Power off VG core after initalization is done. -Adjust VG power and clock state to match above changing. Signed-off-by: Loren Huang <b02279@freescale.com> Acked-by: Lily Zhang
2013-03-05ENGR00252727-1 [mxc]Add fuse check for gpu platform deviceLoren Huang
Add fuse check for gpu platform device. Bypass gpu core initialization if certain core is fused.If all gpu cores are fused, bypass gpu driver loading. Signed-off-by: Loren Huang <b02279@freescale.com>
2013-03-04ENGR00252559: mxc_v4l2_capture: ov5640: incorrect warning for XGA@15fpsSheng Nan
The following warning information should be displayed only when the format is XGA and frame rate is 30fps: pr_warning("ov5640: actual frame rate of XGA is 22.5fps\n"); Signed-off-by: Sheng Nan <b38800@freescale.com>
2013-03-04ENGR00252411: mxc_v4l2_capture: ov5642/ov5640 cannot both be set as build-in.Sheng Nan
ov5642 and ov5640 are inside choice "prompt "Select Camera/TV Decoder"" It prevents some modules are set as build-in at the same time. All the cameras inside the choice are parallel cameras. There is no need to include all of them inside a choice. Know issues: ADV7180 (out of the choice) and mipi ov camera (inside the choice) can not be both selected for ARM2 board: CSI0_MCLK pad is conflicted between adv7180 and mipi camera ext port. Developers should know this. Signed-off-by: Sheng Nan <b38800@freescale.com>
2013-03-04ENGR00237452 i.MX6:IEEE1588: disable phy Ar8031 SmartEEEFugang Duan
Connecting two boards directly more than 2 hours, Ar8031 phy link status generates glitch, which cause ethernet link down/up issue, but ethernet still be active. There have three cases to validate the issue: Item#1: If add performance stress test while runing IEEE1588, the link down/up issue cannot be found. Item#2: If insert switch between two net nodes and run IEEE1588 test, the issue also cannot be found. Item#3: If disable AR8031 SmartEEE feature, after two days overnight test, no such issue found. The issue is caused by phy Ar8031 SmartEEE feature, Item#1 and Item#2 can prevent phy enter lpm mode, which match the Item#3 test result, so disable SmartEEE feature to avoid the link issue generation. Signed-off-by: Fugang Duan <B38611@freescale.com>
2013-03-01ENGR00252418 imx6: add fuse check for available devicesDong Aisheng
Since device availability may be different on the same SoC, so we add fuse check for the supported device before we really adding the device to the kernel. This may avoid kernel crash once the CPU at the slot are changed to a different one which with different device available but the kernel is the same one. Reviewed-by: Jason Liu <r64343@freescale.com> Acked-by: Jason Liu <r64343@freescale.com> Signed-off-by: Dong Aisheng <b29396@freescale.com>
2013-03-01ENGR00252381: mxc_v4l2_capture: ov5640: incorrect return value of ov5640_probeSheng Nan
ov5640_probe always return -1 when error happens. Actually we should use the correct return value. For example, -ENODEV when no ov5640 is found. Signed-off-by: Sheng Nan <b38800@freescale.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-03-01ENGR00252071-4: mxc_v4l2_capture: enable auto detect of ov5642/5640 in sabreliteSheng Nan
- enable the auto detect for parallel ov5642 and ov5640 in sabrelite board. Signed-off-by: Sheng Nan <b38800@freescale.com>
2013-03-01ENGR00252071-3: mxc_v4l2_capture: enable auto detect of ov5642/5640 in sabresdSheng Nan
- enable the auto detect for parallel ov5642 and ov5640 in sabresd board. Signed-off-by: Sheng Nan <b38800@freescale.com>
2013-03-01ENGR00252071-2: mxc_v4l2_capture: ov5640_mipi: update probe print informationSheng Nan
Because ov5642 and ov5640 changes the probe information due to auto detect, ov5640_mipi should keep the same. - Add found information to tell user ov5640_mipi is found. - Use the same "not found" information as ov5642/ov5640. Signed-off-by: Sheng Nan <b38800@freescale.com>
2013-03-01ENGR00252071-1: mxc_v4l2_capture: auto detection parallel ov5642 and ov5640Sheng Nan
Both ov5642 and ov5640 need to be supported for parallel port of validation board and no code change is needed when change from one sensor to another. - Add additional common i2c id for ov5640 and ov5642 for auto dectection - Since two sensors will be checked because of auto detection, so use warning instead of error if sensor id don't match. - Add found information to tell user which camera is found. Signed-off-by: Sheng Nan <b38800@freescale.com>
2013-03-01ENGR00252162: mxc_v4l2_capture: ov5640: some formats have quality issueSheng Nan
The following formats have quality issue: - 30fps: 720p - 15 fps: 1080p,qsxga Quality issue happens on high resolutions. So, increase the drive capability of ov5640 can fix this problem. Signed-off-by: Sheng Nan <b38800@freescale.com>
2013-02-27ENGR00251836 IPU device: Support local alpha with alpha value in each pixelWayne Zou
Add local alpha support with alpha value in each pixel, such as RGBA pixel format. Signed-off-by: Wayne Zou <b36644@freescale.com>
2013-02-27ENGR00251830 LDB: Fix the bug of LDB separate mode for dual LVDS displayWayne Zou
Fix the bug of LDB separate mode for dual LVDS display on i.mx6. For 'ldb=sep0' option on kernel command line, it means that LVDS0 is the primary display. While 'ldb=sep1' means that LVDS1 is the primary display. For LDB separate mode, the Display Interface(disp_id) should be configured differently on the platform layer. That is, IPU DI0 to LVDS1 or IPU DI1 to LVDS0 configuration should be avoided. Signed-off-by: Wayne Zou <b36644@freescale.com>
2013-02-26ENGR00251849-2 ldo_bypass:print the ldo_bypass mode directly, not obscure numberRobin Gong
You can see "cpu regulator mode:ldo_bypass" log directly from console when boot. not "cpu regulator init ldo=1" before. Signed-off-by: Robin Gong <b38343@freescale.com>
2013-02-26ENGR00251849-1 cpufreq:print the max freq directly, not obscure numberRobin Gong
You can see "arm_max_freq=1GHz" log directly from console during boot. not "arm_max_freq=1" before. Signed-off-by: Robin Gong <b38343@freescale.com>
2013-02-26ENGR00243077 Fixed JB4.2 multi-user switch hang issueXianzhong
Gpu virtual memory has potiential hang issue exposed, Vivante will fix this hang issue with 4K contigueous memory limit. 4K limit is needless now and should be disabled by default. Signed-off-by: Xianzhong <b07117@freescale.com> Acked-by: Lily Zhang
2013-02-26ENGR00251630 MX6DQ: do not power off ARM in suspend on TO1.1Robin Gong
System will resume back failed which caused by IPG clock glich issue. The issue (TKT094231) has been fixed on MX6DQ TO1.2 and MX6DL TO1.1.It is hard to reproduced on MX6DQ TO1.1/1.0 with 0xffffffff in GPC_PGC_CPU_PUPSCR which implemented on GA release. But it is easy to reproduced with 0xf0f0 on mainline now. As we focus on latest formal chip, the problem is cleaned up until now. We will aign with the workaround on MX6DL which do not power off ARM in suspend. Signed-off-by: Robin Gong <b38343@freescale.com>
2013-02-25ENGR00251008 [GPU] 4.6.9p11 integration for DRMLoren Huang
-DRM copyright update Signed-off-by: Loren Huang <b02279@freescale.com>
2013-02-22ENGR00251005 [gpu]4.6.9p11 kernel code integrationLoren Huang
-4.6.9p11 kernel code integration -Additionally release runtime pm and regulator when destory gpu driver to avoid reference count mismatch. Signed-off-by: Loren Huang <b02279@freescale.com> Acked-by: Lily Zhang
2013-02-21ENGR00250756-4 V4L2 output: fix coding format and review commit warningWayne Zou
Fix the review commit warning such as "line over 80 characters", "no space before tabs". Signed-off-by: Wayne Zou <b36644@freescale.com>
2013-02-20ENGR00251015-2 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 implements the ioctrl interface. Signed-off-by: Wayne Zou <b36644@freescale.com>
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-02-14ENGR00244769-2 [NOR FLASH]-Improve WEIM NOR speedOliver Brown
Increase the NOR flash read speed. Added weimnor driver to use cached (and page mode) reads. Signed-off-by: Oliver Brown <oliver.brown@freescale.com>
2013-02-14ENGR00244769-1 [NOR FLASH]-Improve WEIM NOR speedOliver Brown
Increase the NOR flash read speed. Added weimnor driver to use cached (and page mode) reads. Signed-off-by: Oliver Brown <oliver.brown@freescale.com>
2013-02-06ENGR00243348 imx: pcie: disable pcie phy in kernel initializationRichard Zhu
In order to save power consumption, disable pcie phy (enable IDDQ mode) in kernel initialization. Signed-off-by: Richard Zhu <r65037@freescale.com>
2013-02-05ENGR00243339 imx: sata: disable sata phy when sata is not enabledRichard Zhu
In order to save power consumption, disable sata phy (enable PDDQ mode) in kernel level, if the sata module is not enabled in kernel configuration. Signed-off-by: Richard Zhu <r65037@freescale.com>
2013-02-05ENGR00243106 imx: pcie: enable pcie msi on imx6 platformsRichard Zhu
deprieved from boundary msi support patch add the following modifications * use the RC's line address 0x01FF8000 instead of one actual physical memory as the msi start address. The physical memory address is not mandatory required by the msi start address. * set PCI_MSI_FLAGS_ENABLE in RC's msi capability structure when the msi int is enabled. * the data of msg is only 16bit, set the upper 8bit cputype, and the msi int num to the lower 8bit. Signed-off-by: Richard Zhu <r65037@freescale.com>
2013-02-04ENGR00242327 V4L2 output: Support field format changes on frame by frame baseWayne Zou
Support interlace field format or progressive format changes on the frame by frame base for V4L2 output Signed-off-by: Wayne Zou <b36644@freescale.com>
2013-02-04ENGR00220096 USB core: remove Logitech Quickcam E3500 form usb_quirk_listmake shi
Since Logitech Quickcam E3500 is defaultly listed in usb_quirk_list on current linux kernel. So the USB camera only supports reset resume, but doesn't support normal usb suspend/resume. Actually, the USB camera works abnormally after USB reset resume, but it works well after doing normal suspend/resume. Signed-off-by: make shi <b15407@freescale.com>
2013-02-01ENGR00242788: usb: host: disable stream mode due to IC problemPeter Chen
There is a bug at chipidea core, please see below synopsis problem title and its number. STAR 9000378958 Title: Non-Double Word Aligned Buffer Address Sometimes Causes Host to Hang on OUT Retry This problem will be showed when we use Ethernet device at host port, there is an errata ERR006308 for it. The workaround for this issue is to disable stream mode at register usbmode. Signed-off-by: Peter Chen <peter.chen@freescale.com>
2013-01-31ENGR00242672 MX6 local timer:Remove enable_wait_mode global variableLiu Ying
This patch removes the unnecessary global variable declaration for enable_wait_mode. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2013-01-31ENGR00242214 IMX PWM:Correct duty cycle calculationLiu Ying
Since we've already reduced 2 cycles before writing PWMPR register, the real period cycle on PWMO is the value of period_cycles (before reducing 2). So, the following commit message of ENGR00170342, which changes the duty cycle calculation wrongly, is not reasonable: =================================================== The chip document says the counter counts up to period_cycles + 1 and then is reset to 0, so the actual period of the PWM wave is period_cycles + 2 =================================================== Revert "ENGR00170342 PWM: fix pwm output can't be set to 100% full duty" This reverts commit ac3711f7f24b94db9f78fd7e9bf134c2ecd025ab. Signed-off-by: Liu Ying <Ying.Liu@freescale.com> (cherry picked from commit b42be77aa7842834f0fb50924546701b668d7ab9)
2013-01-30ENGR00242269 MX6 PCIE:Print out link up failure logLiu Ying
This patch contains code change only to print out link up failure log like below. link up failed, DB_R0:0x001b8400, DB_R1:0x08200000! Before the change, the present print code can never be called even if the link up fails. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2013-01-29ENGR00242201-3 gpu: Makeup GPU driver for kernel 3.5.7Loren HUANG
Signed-off-by: Loren HUANG <b02279@freescale.com> Acked-by: Lily Zhang
2013-01-29ENGR00241739-2 gpu: Enable thermal hot notification in gpu driverRong Dian
Using notify mechanism instead of global variable to trigger gpu3d clock change through thermal driver Signed-off-by: Rong Dian <b38775@freescale.com> Signed-off-by: Loren Huang <b02279@freescale.com> Acked-by: Lily Zhang
2013-01-28ENGR00241739-1 thermal: providing the thermal hot notificationRong Dian
Create thermal hot's own hot notificaiton callback register and unregister function. Provide the thermal notification broadcast enable and disable through /sys fs. Signed-off-by: Rong Dian <b38775@freescale.com>