summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2011-05-08ENGR00141665 hwmon: mma8451 cleanup/refine code.Zhang Jiejing
remove lost of misc code, and fix resource leak. Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
2011-05-06ENGR00143019-2 GPU: enable MMUZhou, Jie
With MMU enabled, there is no need to reserve memory for GPU at boot time Signed-off-by: Zhou, Jie <b30303@freescale.com>
2011-05-06ENGR00142977 SDHCI Refine the special delay for SMD eMMCRichard Zhu
In order to decrease the CPU loading, use CMD6(only called in the initialization procedure) but not CMD13 as the delay trigger. Signed-off-by: Richard Zhu <r65037@freescale.com>
2011-05-05ENGR00141964 - EPDC fb: Ambient temperature setting handled incorrectlyDanny Nold
- Added statement to ensure that when TEMP_USE_AMBIENT is selected as the update temperature, the latest ambient temperature is used. This code was only handled incorrectly for the case where QUEUE_AND_MERGE update scheme is used. Signed-off-by: Danny Nold <dannynold@freescale.com>
2011-05-05ENGR00142997 - EPDC fb: LUT selection should be lowest possible when LUT15 busyDanny Nold
- Modified the LUT selection code to choose the lowest available LUT when LUT15 is busy. Signed-off-by: Danny Nold <dannynold@freescale.com>
2011-05-05net: PPPoPNS and PPPoLAC fixes for android.Chia-chi Yeh
* Fix a bitmask in PPPoPNS and rename constants in PPPoPNS and PPPoLAC. * Fix a potential deadlock while releasing PPPoLAC/PPPoPNS socket. PPP driver guarantees that no thread will be executing start_xmit() after returning from ppp_unregister_channel(). To achieve this, a spinlock (downl) is used. In pppolac_release(), ppp_unregister_channel() is called after sk_udp is locked. At the same time, another thread might be running in pppolac_xmit() with downl. Thus a deadlock will occur if the thread tries to lock sk_udp. The same situation might happen on sk_raw in pppopns_release(). * Force PPPoLAC and PPPoPNS to bind an interface before creating PPP channel. It is common to manipulate the routing table after configuring PPP device. Since both PPPoLAC and PPPoPNS run over IP, care must be taken to make sure that there is no loop in the routing table. Although this can be done by adding a host route, it might still cause problems when the interface is down for some reason. To solve this, this patch forces both drivers to bind an interface before creating PPP channel, so the system will not re-route the tunneling sockets to another interface when the original one is down. Another benefit is that now the host route is no longer required, so there is no need to remove it when PPP channel is closed. * Avoid sleep-inside-spinlock in PPPoLAC and PPPoPNS. Since recv() and xmit() are called with a spinlock held, routines which might sleep cannot be used. This issue is solved by following changes: Incoming packets are now processed in backlog handler, recv_core(), instead of recv(). Since backlog handler is always executed with socket spinlock held, the requirement of ppp_input() is still satisfied. Outgoing packets are now processed in workqueue handler, xmit_core(), instead of xmit(). Note that kernel_sendmsg() is no longer used to prevent touching dead sockets. In release(), lock_sock() and pppox_unbind_sock() ensure that no thread is in recv_core() or xmit(). Then socket handlers are restored before release_sock(), so no packets will leak in backlog queue. * Fix msg_iovlen in PPPoLAC and PPPoPNS. Although any positive value should work (which is always true in both drivers), the correct value should be 1. Signed-off-by: Chia-chi Yeh <chiachi@android.com>
2011-05-05net: add PPP on PPTP Network Server (PPPoPNS) driver for Android VPN.Chia-chi Yeh
Signed-off-by: Chia-chi Yeh <chiachi@android.com>
2011-05-05net: add PPP on L2TP Access Concentrator (PPPoLAC) driver for Android VPN.Chia-chi Yeh
Change-Id: I3ae3ee7520951ae24269db0ef2898c6455cf6bcc Signed-off-by: Chia-chi Yeh <chiachi@android.com>
2011-05-03ENGR00141235-1 mag3110: Add mag3110 3-Axis magnetometer support.Sammy He
Add mag3110 3-Axis magnetometer support which is used in e-Compass. Signed-off-by: Sammy He <r62914@freescale.com>
2011-05-03ENGR00142679 SCC2 and SAHARA: changes to support loadable modulesAnish Trivedi
To allow SCC2 and SAHARA drivers to work as loadable modules, needed to add GPL license to SAHARA driver, export a couple of functions from SCC2 driver, and the following data buffer mapping change in SAHARA driver: When compiled as a loadable module, a data buffer to be DMA'ed in the SAHARA driver may not be in the kernel direct-mapped region but in the "Kernel module space" between TASK_SIZE and high_memory-1 (see http://www.arm.linux.org.uk/developer/memory.txt). In this scenario, the driver canno simply use the __pa macro to obtain the physical address. It must walk the page tables to find the page and use the page_to_phys function to find the physical address that corresponds to the data buffer. Signed-off-by: Anish Trivedi <anish@freescale.com>
2011-05-03ENGR00142729 SRTC: Add missing delay for writes to LP registersAnish Trivedi
Writes to LP domain registers take 3 clock cycle of the CKIL clock. There were some writes in the driver that did not have this necessary delay. Not all writes require this delay. The delay simply needs to be added before the next read or return to upper layers of the driver. Signed-off-by: Anish Trivedi <anish@freescale.com>
2011-04-27ENGR00141486-4 backlight: ath6kl: remove build warning messageLily Zhang
remove building warning message in pwm backlight driver and ath6kl driver Signed-off-by: Lily Zhang <r58066@freescale.com>
2011-04-27ENGR00141486-3 serial: remove building warning messageLily Zhang
remove building warning message in serial core driver Signed-off-by: Lily Zhang <r58066@freescale.com>
2011-04-27ENGR00141486-2 i.mx drivers: remove building warning messageLily Zhang
remove building warning message in i.mx drivers Signed-off-by: Lily Zhang <r58066@freescale.com>
2011-04-27ENGR00142631 usb: id is 0 for default mode for mx53 loco boardPeter Chen
Due to this limitation, the device driver needs to change correspondingly. Add one notice to notify the user that the otg function can't be used at mx53 loco board, and defconfig need to change for support only one usb function (host/device) at one image Signed-off-by: Peter Chen <peter.chen@freescale.com>
2011-04-22ENGR00142410 MX50 PXP: Fix PxP operation may time out or hang upRobby Cai
There might be a chance that clk_disable() is called when PxP task is in process. Add this check before actually disable PxP clock to fix this issue. Signed-off-by: Ko Daiyu <R18641@freescale.com> Signed-off-by: Robby Cai <R63905@freescale.com> (cherry picked from commit 9b1a26230650c5d20c21bc614482cc5f6f786e46)
2011-04-22ENGR00142459 - EPDC fb: TCE underrun workaroundDanny Nold
- Add new LUT selection method to always prefer a higher order LUT than those currently active. - Handle TCE underrun interrupts. Continue with normal operation and prevent them from bringing down the EPDC driver. - Add option to prevent TCE underruns - tce_prevent - Add method to synchronize submission of updates when potentially vulnerable to TCE underrun. Signed-off-by: Danny Nold <dannynold@freescale.com>
2011-04-22ENGR00142487 GPMI : use the platform's partition layout firstlyHuang Shijie
If the user has his own partition layout such as Android user. We can use it in the first priority. Signed-off-by: Huang Shijie <b32955@freescale.com>
2011-04-20ENGR00142347-3 input: egalax_ts, add suspend and force single mode support.Zhang Jiejing
- add suspend support for egalax_ts. - add force single mode support, it can enabled by #define FORCE_SINGLE_POINTER_SUPPORT this macro. This is for ubuntu which not support multiple touch. If you want to use this touch screen on ubuntu, please define this marco Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
2011-04-20ENGR00142347-1 input: add basic support for EETI eGalax touch screenZhang Jiejing
This patch add support for EETI eGalax touchscreen. EETI eGalax serial touch screen controller is a I2C based multiple touch screen controller, it can supports 5 pointer multiple touch. This driver add single pointer support and multiple pointer support. Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
2011-04-20ENGR00142351 mxc_gpu: autogating: add pending flagZhou, Jie
pending indicate the timer has been fired but clock not yet disabled. This patch fixs the bug that sometimes in irq handle it tries to enable clock and cause BUG. Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
2011-04-18ENGR00127174-2 SPI driver: Add DMA mode supportRichard Zhu
Enable 32bits per words SPI DMA, and verified on MX51 BBG SPI_NOR Signed-off-by: Richard Zhu <r65037@freescale.com>
2011-04-15ENGR00141554 tve: fix atomic schedule issue in ueventJason Chen
uevent should not be sent during lock hold. Signed-off-by: Jason Chen <b02280@freescale.com>
2011-04-12ENGR00141918 - EPDC fb: Fix update merging to ensure best waveform is appliedDanny Nold
- Refined update merging approach to aggressively merge while selecting the waveform mode conservatively - Reverted IST code which attempted to detect and resolve the missed collision artifact. This code actually creates artifacts by sometimes resubmitting updates and causing out-of-order update completion artifacts. Signed-off-by: Danny Nold <dannynold@freescale.com>
2011-04-11ENGR00141923 input: max11801: adjust calibration orientationZhang Jiejing
adjust orientation for correct HW connection. Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
2011-04-08ENGR00141478-1 SAHARA: Move header file to include directoryAnish Trivedi
The user mode libsahara library relied on header file drivers/mxc/security/sahara2/include/sahara.h. However, to make the lib build after headers_install step and to remove dependency on kernel source, moved this header to include/linux/mxc_sahara.h. These are the necessary changes in the SAHARA driver to use the new header file in the new location. Signed-off-by: Anish Trivedi <anish@freescale.com>
2011-04-07ENGR00141485 - EPDC fb: Change default update scheme to Queue & MergeDanny Nold
- Change from Snapshot scheme to Queue & Merge scheme for improved performance. Signed-off-by: Danny Nold <dannynold@freescale.com>
2011-04-05USB: serial/usb_wwan, fix tty NULL dereferenceGreg Kroah-Hartman
From: Jiri Slaby <jslaby@suse.cz> commit 38237fd2be9421c104f84cc35665097bdce89013 upstream. tty_port_tty_get may return without any problems NULL. Handle this case and do not oops in usb_wwan_indat_callback by dereferencing it. The oops: Unable to handle kernel paging request for data at address 0x000000d8 Faulting instruction address: 0xc0175b3c Oops: Kernel access of bad area, sig: 11 [#1] PowerPC 40x Platform last sysfs file: /sys/devices/pci0000:00/0000:00:00.0/0000:01:00.0/0000:02:09.2/usb1/idVendor Modules linked in: NIP: c0175b3c LR: c0175e7c CTR: c0215c90 REGS: c77f7d50 TRAP: 0300 Not tainted (2.6.37-rc5) MSR: 00021030 <ME,CE,IR,DR> CR: 88482028 XER: 2000005f DEAR: 000000d8, ESR: 00000000 TASK = c7141b90[1149] 'wvdial' THREAD: c2750000 GPR00: 00021030 c77f7e00 c7141b90 00000000 0000000e 00000000 0000000e c0410680 GPR08: c683db00 00000000 00000001 c03c81f8 88482028 10073ef4 ffffffb9 ffffff94 GPR16: 00000000 fde036c0 00200200 00100100 00000001 ffffff8d c34fabcc 00000000 GPR24: c71120d4 00000000 00000000 0000000e 00021030 00000000 00000000 0000000e NIP [c0175b3c] tty_buffer_request_room+0x2c/0x194 LR [c0175e7c] tty_insert_flip_string_fixed_flag+0x3c/0xb0 Call Trace: [c77f7e00] [00000003] 0x3 (unreliable) [c77f7e30] [c0175e7c] tty_insert_flip_string_fixed_flag+0x3c/0xb0 [c77f7e60] [c0215df4] usb_wwan_indat_callback+0x164/0x170 ... References: https://bugzilla.kernel.org/show_bug.cgi?id=24582 Cc: Amit Shah <amitshah@gmx.net> Cc: baoyb <baoyb@avit.org.cn> Signed-off-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-01ENGR00140702-3 mxc_uart: refine driver for stable BluetoothZhang Jiejing
- Remove tty_buffer_request_room() in mxcuart_readdma_callback() tty_insert_flip_string will call tty_buffer_request_room() in his loop, but if we call it here, it will return 0, and we will lost some read data. - Remove tasklet when dma_writeback, it's will cause hci lost data when write(tx). since when this dma callback maybe re-order the next buffer data, it will mess up data, make it to a direct call to perpare next dma buffer. Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
2011-04-01ENGR00140702-1 BT: backport atheros 2.6.38 AR3001 bt driverZhang Jiejing
Atheros AR3001 UART bt driver already upstream in 2.6.38 backport these driver to our kernel to fix file transfer data lost bug. Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
2011-03-31ENGR00141400 GPU: Improve GPU clock gatingZhou, Jie
seperate interrupt handling and clk_enable for Z160 and Z430 Signed-off-by: Zhou, Jie <b30303@freescale.com>
2011-03-31ENGR00141396 ipuv3 fb: add event notification into android earlysuspend callbackXinyu Chen
As some framebuffer drivers like tve, ldb using fb notification to get blank/unblank event, and shutdown/open the related clock. From android view, we do not explicitly call the IOBLANK ioctl from user space, but do it in the ipuv3 fb driver's earlysuspend. So we must done the event notification in earlysuspend callback instead of doing it in the IOBLANK ioctl. Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
2011-03-30ENGR00141393 usb: revert one tiny changePeter Chen
The variables for low power should be updated after phcd updated Signed-off-by: Peter Chen <peter.chen@freescale.com>
2011-03-30ENGR00141312 tve: add uevent for tve cable detectionJason Chen
When cable mode changed, below uevent will be sent out: EVENT=NONE EVENT=CVBS0 EVENT=YPBPR EVENT=SVIDEO under /sys/devices/platform/tve.0 Signed-off-by: Jason Chen <b02280@freescale.com>
2011-03-29ENGR00141299: NAND/MXC: Fix the build warningJason Liu
Fix the the following build warning, drivers/mtd/nand/mxc_nd2.h:498:7: warning: "CONFIG_ARCH_MXC_HAS_NFC_V2" Signed-off-by: Jason Liu <r64343@freescale.com>
2011-03-28ENGR00141152-6 tve: make default display optionJason Chen
tve driver change. Signed-off-by: Jason Chen <b02280@freescale.com>
2011-03-28ENGR00141152-5 sii902x: make default display optionJason Chen
sii902x driver change. Signed-off-by: Jason Chen <b02280@freescale.com>
2011-03-28ENGR00141152-4 mxc edid: make default display optionJason Chen
mxc edid driver change. Signed-off-by: Jason Chen <b02280@freescale.com>
2011-03-28ENGR00141152-3 ldb: make default display optionJason Chen
ldb driver change. Signed-off-by: Jason Chen <b02280@freescale.com>
2011-03-28ENGR00141161 ipuv3: add bgr24 fmt support for diJason Chen
add bgr24 fmt support for di Signed-off-by: Jason Chen <b02280@freescale.com>
2011-03-27ENGR00141155-2 sii902x: add related regulatorJason Chen
Add related regulator. Signed-off-by: Jason Chen <b02280@freescale.com>
2011-03-24ENGR00141092 usb: fix some tiny bugs for usbPeter Chen
For android system, the gadget driver is built in, when the usb device is on otg port, the udc suspended counter will be error at the situation. This patch fix it, if this situation is met, the udc suspended counter will be not added. Using A VBus Valid to judge whether the usb cable is connected, as some boards' vbus may higher than 0.8v(B Session Valid) Signed-off-by: Peter Chen <peter.chen@freescale.com>
2011-03-22ENGR00140950 mfg: fix the bug that ubiformat utility breaks utp protocolPeter Chen
ubiformat includes command, data, command periods, it breaks utp protocol for PUT commands. So we add two operations to fix it. One is sending busy to host before the data periods begins. The second is adding a new command to waiting ubiformat's command period. Signed-off-by: Li Xingyu <b02754@freescale.com> Signed-off-by: Peter Chen <peter.chen@freescale.com>
2011-03-21ENGR00140893-1 VPU: remove VPU IRAM config and add iram info to plat data.Sammy He
One kernel image is requested, however, we need to enable iram for performance improvement on mx53, and disable it on mx51 due to known issue. So use platform data to pass vpu iram disable/enable flag. And considering requested iram size also can be different per requirement, iram size is also set in platform data. Signed-off-by: Sammy He <r62914@freescale.com>
2011-03-21ENGR00140864-2 OV5642:Support 1080P at 15fps and PAL at 30fpsLiu Ying
This patch supports OV5642 camera to work at 1080P at 15fps and PAL at 30fps. Tested on MX53 SMD board. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2011-03-21ENGR00140864-1 OV5640:Support QSXGA(2592x1944) at 7.5fpsLiu Ying
This patch supports OV5640 camera to work at QSXGA(2592x1944) at 7.5fps. Tested on MX53 SMD board. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2011-03-18ENGR00140486-1 MX50 Add SPI NOR Flash on RD3Robby Cai
support new chip M25P32 driver via FSL SPI interface Signed-off-by: Robby Cai <R63905@freescale.com> (cherry picked from commit fd4834656499f925b185aa70d6e3ba69d7a98d69)
2011-03-17ENGR00140764 ipuv3 dev: change cache policy to writethroughJason Chen
Change from writecombine to writethrough. Signed-off-by: Jason Chen <b02280@freescale.com>
2011-03-17ENGR00140710-2 usb-device: add more device wakeup modesPeter Chen
device driver parts Following usb device wakeup modes is supported are added: -vbus failing wakeup: it happens when our SoC suspend and host's vbus failing (after host(pc) suspends 10 seconds later) -device receives reset wakeup: it happens follow below steps: --Find MSC device at pc for soc --Right-click -> Disable (this will suspend the device) --let soc go to suspend --Right-click -> Enable (this will reset the device) -device receives resume signal from pc: it can be tested by pc HSET tools Signed-off-by: Peter Chen <peter.chen@freescale.com>
2011-03-16ENGR00140638 - EPDC fb: System may hang if entering suspend while updates activeDanny Nold
- Added signalling to ensure suspend call does not return until EPDC has powered down. - Fixed race condition in IST. The working buffer (WB) process for a new update may report collision with LUTs that complete and are processed and removed by the IST before the working buffer completes. When this occurs, the collision may wait (forever) for a LUT that has already completed. This was putting the update queues into a bad state, preventing the update pipe from being flushed out. Solved this by tracking all completed LUTs after the WB process begins, and then removing them from the collision mask once the WB completes. Signed-off-by: Danny Nold <dannynold@freescale.com>