summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2010-04-02ARM/tegra: delete SDIO DDK and DDK-based MMC host drivertegra-9.12.9Gary King
Change-Id: I30872e9905b7bdf1cca56e53089e5cfde7586798 Reviewed-on: http://git-master/r/1026 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-04-01Fix NvRmMemUnpin so it ignores NULL memhandlesAcorn Pooley
Change-Id: Iffad8a511bb6434b26e58d8dacf24a5751c23610 Reviewed-on: http://git-master/r/1028 Reviewed-by: Acorn Pooley <apooley@nvidia.com> Tested-by: Acorn Pooley <apooley@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-03-30tegra: SMSC LAN V4 driver integration to reduce power during OS idleNarendra Damahe
Change-Id: I5dacba846a7c979cf556470699c4b1e036c72ede Reviewed-on: http://git-master/r/970 Reviewed-by: Narendra Damahe <ndamahe@nvidia.com> Tested-by: Narendra Damahe <ndamahe@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-03-30Use CONFIG_ARCH_TEGRA_XX_SOC instead of RM capsNagesh Penumarty
Use CONFIG_ARCH_TEGRA_XX_SOC defines for differentiating between various tegra SOCs instead of getting the SOC caps from the RM. With this change enabling quirks for various chips would be much simpler. Tested on Android, whistler. Bug 661035 SD 3.0 support in the linux native driver. Change-Id: I0a85f3464d00080673a351d1614f311f1855bdae Reviewed-on: http://git-master/r/969 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-29tegra spi: fixed a coding bug that was forcing the SPI signal mode to zero..Sheshu Shenoy
Change-Id: I316f614ae6d866f642a1ae5f6b1e19b37e50cae2 Reviewed-on: http://git-master/r/973 Tested-by: Sheshagiri Shenoy <sshenoy@nvidia.com> Reviewed-by: Udaykumar Rameshchan Raval <uraval@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-03-29cpuidle: always return with interrupts enabledKevin Hilman
In the case where cpuidle_idle_call() returns before changing state due to a need_resched(), it was returning with IRQs disabled. The idle path assumes that the platform specific idle code returns with interrupts enabled (although this too is undocumented AFAICT) and on ARM we have a WARN_ON(!(irqs_disabled()) when returning from the idle loop, so the user-visible effects were only a warning since interrupts were eventually re-enabled later. On x86, this same problem exists, but there is no WARN_ON() to detect it. As on ARM, the interrupts are eventually re-enabled, so I'm not sure of any actual bugs triggered by this. It's primarily a correctness/consistency fix. This patch ensures IRQs are (re)enabled before returning. Reported-by: Hemanth V <hemanthv@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com> Cc: Arjan van de Ven <arjan@linux.intel.com> Cc: Len Brown <len.brown@intel.com> Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: "Rafael J. Wysocki" <rjw@sisk.pl> Tested-by: Martin Michlmayr <tbm@cyrius.com> Cc: <stable@kernel.org> [2.6.31.x] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Change-Id: Ide8e1fe20ba7b30ae321f520b620dfb2e3614022 Reviewed-on: http://git-master/r/982 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-29nvec_battery:registering battery as wakeup source and battery events.Sachin Nikam
1. Making Battery and AC present as a wakeup source 2. Registering battery events:present, charging, remaining capacity 3. Handling battery odm flags and events in nvec_battery.c Change-Id: I814960ab5f065e6aaad72ea1c403ad9c8d6a1af8 Reviewed-on: http://git-master/r/907 Reviewed-by: Sachin Nikam <snikam@nvidia.com> Tested-by: Sachin Nikam <snikam@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-03-23input: add keyboard controller support for tegraGary King
implement a keyboard input driver for tegra's internal matrix keyboard controller (16x8 support on Tegra 2 class processors). supports * power management * limit wakeup to a subset of keys * platform-defined remapping of key to keycode * platform-defined pin configuration add support for converting tegra ODM kit APIs to kbc platform data, so existing clients will continue to function Change-Id: If1496e7ada4f6f18a3e98a15ebc5f925f254bf65 Reviewed-on: http://git-master/r/933 Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Tested-by: Gary King <gking@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-03-22tegra fb: Cleanup partially removed fb disable code.Venkata(Muni) Anda
An ioctl to disable fb used to exist and called from the nvrm daemon code. This was partially removed sometime back and there are still traces of that code causing some confusion which is cleaned up by this commit. ioctl define is left as-is so maintain compatibility to user mode code. Change-Id: I3f792d6be075a8754ea448d588e484afc67bd8ba Reviewed-on: http://git-master/r/878 Reviewed-by: Venkata (Muni) Anda <vanda@nvidia.com> Tested-by: Venkata (Muni) Anda <vanda@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-03-21tegra usb: Switching of USB busy hints, when no active USB tranferstegra-9.12.8sgadagottu
are happening though a device connection on host port. Currently for harmony, an intergrated SMSC hub present on USB3. Because of this device connection is present on USB3 and USB power busy hints are always on. To avoid this, for host by default busy hints are off and USB busy hints will be on for : 1.Bulk and isochronus transfers 2.Interrupts transfers with buffer length >= 256. Busy hint will be on for pre-defined amount of time and after that busy hints will be off automatically. With this in idle state power is reduced. Tested on : Harmony Enumeartion is happening fine. LAN and USB HID devices are working fine Change-Id: Ifd653bebfb52c7702f7d24bf11ccf93e62ea0f66 Reviewed-on: http://git-master/r/915 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-18tegra usb: Integrating power aware LAN 9500 driver from SMSCNarendra Damahe
Integarting SMSC v1.01.06.03 (03/18/2010) LAN driver to tegra. This new version is a power aware driver and support suspend/resume functionality. Bug 635375 : [AP20 \ Android] SMSC Ethernet LAN(9514) 3rd Party driver power management in Android Tested on : Harmony Change-Id: I112a8d9805f3ce6fed45999130c7c8004865bb98 Change-Id: I112a8d9805f3ce6fed45999130c7c8004865bb98 Reviewed-on: http://git-master/r/884 Reviewed-by: Narendra Damahe <ndamahe@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-18tegra pm: add suspend/resume to tegra-sdhci driverDeepesh Gujarathi
Implement suspend/resume functionality for the tegra-sdhci driver. Call the sdhci_suspend/resume functions which handles the power off and re-enumeration of sd memory cards. We ignore suspend/resume requests for all sdio devices asssuming that the individual drivers will manage their own power. For tegra devices, the wifi driver implements its own early suspend model and hence is ignored by the sdhci driver. Change-Id: I5041d314123bac958da7775ee24bd2dc1be55ab5 Change-Id: I5041d314123bac958da7775ee24bd2dc1be55ab5 Reviewed-on: http://git-master/r/852 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Rahul Bansal <rbansal@nvidia.com> Tested-by: Rahul Bansal <rbansal@nvidia.com> Reviewed-by: Venkata (Muni) Anda <vanda@nvidia.com>
2010-03-17tegra nvec: suspend/resume without nvec mouse connectedNinad Malwade
- when mouse is not present or connected to board, do not register the mouse driver with EC bus driver. - Bug 663803 Change-Id: Iec11af103c4ab00a9d01e66969fceb6161cec1e2 Reviewed-on: http://git-master/r/862 Reviewed-by: Ninad Malwade <nmalwade@nvidia.com> Tested-by: Ninad Malwade <nmalwade@nvidia.com> Reviewed-by: Varun Wadekar <vwadekar@nvidia.com> Tested-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-03-12nvmap: add barriers around atomic_read and atomic_setGary King
add SMP memory barriers before atomic_read and after atomic_set to ensure that any changes to the values are properly flushed so that they are visible to all processors in the system, since neither operator guarantees atomicity. change the poison flag to be a non-zero value, so that zero-filled memory isn't improperly detected as a valid handle. re-enable error prints for pinning & unpinning handles with no local references, now that the performance regression-causing misuse in the codec firmware is resolved. Change-Id: Ibbf5f0ad48f83f5eb475afb6dec8633adba8e3ca Reviewed-on: http://git-master/r/844 Reviewed-by: Antti Hatala <ahatala@nvidia.com> Tested-by: Antti Hatala <ahatala@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-11tegra touch: enable multi-touchVarun Wadekar
adding multi-touch support to the touch screen driver. Tested with Gallery3D, Multitouch Visualizer and Multitouch Visualise test apps. Fod Bug 653317 Change-Id: I2976ab91c06a54de4772d88c3d96d72a753205ed Reviewed-on: http://git-master/r/834 Tested-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-by: Harry Hong <hhong@nvidia.com> Tested-by: Harry Hong <hhong@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-03-11serial: delete tegra DDK serial driverGary King
this driver is no longer being used, and its continued existence just causes confusion. Change-Id: Ia5b4a350b6590bbd0e8914625e9e81951096fb8c Reviewed-on: http://git-master/r/843 Reviewed-by: John Davis <jodavis@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-09tegra serial: Tx Path OptimizationsAnantha Idapalapati
Based on profiling, observed UART Tx to be mostly waiting for a previous DMA to be finished so that it can proceed for further processing of data from upper layers. Two Mmodifications are implemented as part of this commit 1. Forming a DMA request for smaller transfers and waiting for DMA request to be finished introduced overhead. Implemented a polling based transfers for transfers less than a certain limit. 2. Implemented a parallel activity between "DMA Buffer -> UART FIFO" and "Application -> DMA Buffer" copies. introduced a new DMA Buffer which can be made ready by the time DMA finishes use of another DMA Buffer that was filled by Driver. Bug ID: 652334 Change-Id: I30cad291553f9c0c67cb95afa67e468446f7ffd7 Reviewed-on: http://git-master/r/743 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-08[nvmap] fix strided read/write loop incrementGary King
in the process of cleaning up the implementation of do_rw so that it could be called from both ioctl and kernel contexts, the loop increment for source and distination addresses was erroneously set to the element size, rather than the provided strides. bug 660448 Change-Id: I02e2b2b980f90a2171d811192b667883f2a3ab41 Reviewed-on: http://git-master/r/805 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-08tegra: Commenting the error prints for memory pin/Unpin functionsNinad Malwade
- On behalf of Gautam Moharir - Bug 660462 Change-Id: I66e22e247ce5df6135f31c75ae91ec5d0b11e666 Reviewed-on: http://git-master/r/792 Reviewed-by: Ninad Malwade <nmalwade@nvidia.com> Tested-by: Ninad Malwade <nmalwade@nvidia.com> Reviewed-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-05tegra: EHCI bus suspend/resume requires CONFIG_PMScott Williams
If CONFIG_PM is not selected, don't compile EHCI bus suspend/resume. Change-Id: Ia89612fa3d82dc671accc597e4d1ca05f56eaa5c Reviewed-on: http://git-master/r/783 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-05[nvmap] handle NULL return for pin multiple, fix infinite loopGary King
the handle alignment parameter query had an off-by-one bug in its loop initializer which caused any carveout handle to trigger an infinite loop. the only caller of this API was the debug EGL driver, which used it to verify that the allocation matched the requested alignment. also, if the user passes NULL as the address array when pinning multiple handles to ioctl_pinop, pin the handles and skip the output write, rather than returning a permission error. big thanks to antti for finding the infinite loop. bug 660526 Change-Id: I90f819a231b5a8bef5b473252122cdbefc744efb Reviewed-on: http://git-master/r/782 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-04[usb mass storage] return -EINVAL on NULL requestGary King
there appears to be a race condition which causes req to be NULL. issue a warning and return -EINVAL in this case, rather than dereferencing a NULL pointer Change-Id: I46d7fdd63ec6fb09bdda18e1a1e5509af079beab Reviewed-on: http://git-master/r/768 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-04nvmap: implement nvmap as a full memory manager driverGary King
previously, the task of managing RM-managed memory handles was split between nvos (OS page allocation), the RM (heap management for carveout & IRAM heaps, and handle life-time management), nvreftrack (abnormal process termination) and nvmap (user-space read/write/map of memory handles). this resulted in an opaque system that was wasteful of kernel virtual address space, didn't support CPU cache attributes for kernel mappings and couldn't fully unwind leaked handles (e.g., if the application leaked a pinned handle the memory might never be reclaimed). nvmap is now a full re-implementation of the RM memory manager, unifying all of the functionality from nvreftrack, nvos, nvmap and nvrm into one driver used by both user and kernel-space clients. add configs to control paranoid operation. when paranoid is enabled, every handle reference passed into the kernel is verified to actually have been created by nvmap; furthermore, handles which are not global (the GET_ID ioctl has not been called for it) will fail validation if they are referenced by any process other than the one which created them, or a super-user process (opened via /dev/knvmap). each file descriptor maintains its own table of nvmap_handle_ref references, so the handle value returned to each process is unique; furthermore, nvmap_handle_ref objects track how many times they have been pinned, to ensure that processes which abnormally terminate with pinned handles can be unwound correctly. as a compile-time option, fully-unpinned handles which require IOVMM mappings may be stored in a segmented (by size) MRU (most-recently unpinned) eviction cache; if IOVMM space is over-committed across multiple processes, a pin operation may reclaim any or all of the IOVMM areas in the MRU cache. MRU is used as the eviction policy since graphics operations frequently operate cyclically, and the least-recently used entry may be needed almost immediately if the higher-level client starts (e.g.) rendering the next frame. introduce a concept of "secure" handles. secure handles may only be mapped into IOVMM space, and when unpinned their mapping in IOVMM space will be zapped immediately, to prevent malicious processes from being able to access the handle. expose carveout heap attributes for each carveout heap in sysfs, under the nvmap device with sub-device name heap-<heap name> * total size * free size * total block count * free block count * largest block * largest free block * base address * name * heap usage bitmask carveout heaps may be split at run-time, if sufficient memory is available in the heap. the split heap can be (should be) assigned a different name and usage bitmask than the original heap. this allows a large initial carveout to be split into smaller carveouts, to reserve sections of carveout memory for specific usages (e.g., camera and/or video clients). add a split entry in the sysfs tree for each carveout heap, to support run-time splitting of carveout heaps into reserved regions. format is: <size>,<usage>,<name> * size should be parsable with memparse (suffixes k/K and m/M are legal) * usage is the new heap's usage bitmask * name is the name of the new heap (must be unique) carveout heaps are managed using a first-fit allocator with an explicit free list, all blocks are kept in a dynamically-sized array (doubles in size every time all blocks are exhausted); to reduce fragmentation caused by allocations with different alignment requirements, the allocator will compare left-justifying and right-justifying the allocation within the first-fit block, and choose the justification that results in the largest remaining free block (this is particularly important for 1M-aligned split heaps). other code which duplicated functionality subsumed by this changelist (RM memory manager, NvOs carveout command line parser, etc.) is deleted; implementations of the RM memory manager on top of nvmap are provided to support backwards compatibility bug 634812 Change-Id: Ic89d83fed31b4cadc68653d0e825c368b9c92f81 Reviewed-on: http://git-master/r/590 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-03nvec_battery:Adding a new sysfs attribute "status_poll_period"Sachin Nikam
The default Battery status poll period is 30 Sec. Adding a new sysfs attribute by which this polling period can be modified. To view the polling period:- cat /sys/devices/nvec/nvec_battery/status_poll_period To modify polling period:- echo <newvalue> > /sys/devices/nvec/nvec_battery/status_poll_period bug 646822 Synopsis:[Harmony/android] Battery status is not updated whenever there is any change in battery/power supply property Change-Id:I3b17be7f01fcf91f1c268fdb36fe348ddcf5f626 Reviewed-on: http://git-master/r/742 Reviewed-by: Mayuresh Kulkarni <mkulkarni@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-03tegra usb: Making USB busy hints off on resume, when there is no adbsgadagottu
cable/usb device connection Currently on resume from LP1, though there is no adb cable/USB device connected to USB1/USB3 then also usb busy hints are getting on. With this change on resume: For gadget driver, if cable is not connected then busy hints made off. For host driver, if device(s) are not connected then busy hints are off. Code Clean-up for power improvement Tested on : Whistler board USB1 OTG + USB3 host Tested with all possible connection on USB1 and USB3 Change-Id: I6d210bba1264d9c0134d586d3f67ff609ba2b3fe Reviewed-on: http://git-master/r/745 Reviewed-by: Narendra Damahe <ndamahe@nvidia.com> Tested-by: Narendra Damahe <ndamahe@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-02Proper fix for commit I5c6914ef8906eed80cba15249b0760d71e3d0255Venkata(Muni) Anda
csd_struct version on some of the cards is 4.4 cards is 3. This change skips the check for that verison. Change-Id: Ib44344237c99e1a52e1b3eb864e96194b090929b Reviewed-on: http://git-master/r/739 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-02tegra udc: Add USB charger supportVenkat Moganty
Adding support for usb charger detection and setting the charging current limit through the regulator for drawing the vbus current. Bug 631316 USB charging support in Android Tested on: whistler/Android Change-Id: Ib73ac660d1546fbbdc0ed19ca0f25e04b3676886 Reviewed-on: http://git-master/r/693 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-02tegra usb: Clean up of host initializationRama Kandhala
Usb host initialization code clean up for using native calls instead of Rm APIs. Change-Id: I98af3666f310cf44554f78bcdec47eb860d71f18 Reviewed-on: http://git-master/r/717 Reviewed-by: Pavan Kunapuli <pkunapuli@nvidia.com> Tested-by: Pavan Kunapuli <pkunapuli@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-03-02mmc.c: support ext_csd revisions in eMMCv4.4 specPavan Kunapuli
eMMC v4.4 cards report ext_csd version of 5. Mmc card enumeration fails for these cards. Included the latest version numbers. Change-Id: I5c6914ef8906eed80cba15249b0760d71e3d0255 Reviewed-on: http://git-master/r/734 Reviewed-by: Jitendra Aditya Lanka <jlanka@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-01tegra regulator: Add regulator driverVenkat Moganty
Adding regulator driver to set the pmu charging current limit for drawing the current through the USB charger/USB host. Bug 631316 Change-Id: I65581af883fd8b86c9ddd2ddf93aac9cc88d3f56 Reviewed-on: http://git-master/r/692 Reviewed-by: John Davis <jodavis@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-01tegra uart: Resetting baudrate variable if controller get reset.Laxman Dewangan
Resetting the baudrate variable which stores the current baudrate after resetting the controller. Change-Id: Ia1abf68738897941690644252dbc3d3e4bf6bb0f Reviewed-on: http://git-master/r/712 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-02-26tegra mmc: update card_detect before calling callbackGary King
the card detect callback needs card_detect to be set correctly in order to properly handle error cleanup when the card is removed during transfer. Change-Id: I6540f47875c56582edb4f62d4615687d59d67d93
2010-02-26Merge "tegra NVEC: Bus driver architecture for nvec drivers" into ↵Gary King
android-tegra-2.6.29
2010-02-26Merge "tegra touch: handle second finger transitions" into android-tegra-2.6.29Gary King
2010-02-26Merge "tegra-w1: Add support read_bit, write_bit and touch_bit routines ↵Gary King
Change-Id: I313de2e32b1dd64470ce7eb9f21a60c590e689c6" into android-tegra-2.6.29
2010-02-26Merge "tegra uart: Removing the modification of the mctrl" into ↵Gary King
android-tegra-2.6.29
2010-02-26tegra NVEC: Bus driver architecture for nvec driversNinad Malwade
- nvec_user is the bus driver - tegra-nvec [keyboard], nvec_mouse [touchpad], nvec_battery are the client drivers for nvec. - verified: suspend-resume ordering: This is synchronous now. - Issues: after few suspend-resume EC is failed to suspend. [working on this issue] - Bug 648447 - Adding device_unregister for nvec bus driver. Change-Id: I3c30ceb50a89f67d71050089766897bd7691848d
2010-02-25tegra-w1: Add support read_bit, write_bit and touch_bit routinesHoang Pham
Change-Id: I313de2e32b1dd64470ce7eb9f21a60c590e689c6
2010-02-25tegra mmc: Fixed data getting copied on write protected sdcardAbhishek Aggarwal
The issue was due to incorrect card present check in sdhci-tegra.c because of which the ro status of card was always returned as -1. This implied that host does not support reading ro switch and the card was assumed to be write enabled. Fixed by correcting the card present check. Bug 657078 ([AP20/Android/Whistler/Storage]: Able to copy data even though sdcard is write-protected)
2010-02-25tegra touch: handle second finger transitionsVarun Wadekar
second finger transitions were not being handled properly and due to this apps were not able to distinguish individual finger movements. tested on whistler with MultiTouch Visualizer Bug 653317 Change-Id: I34e07fe71f20e63a5dfa23582c9066d2cd3c74e2
2010-02-24tegra sdhci: initialize card_detectGary King
commit 829e8e97 introduced a per-host card_detect mechanism, but didn't initialize the card_detect value when controllers registered themselves. as a result, fixed cards (e.g., emmc) or cards inserted at boot time were not detected. Change-Id: I2f701873d7e078648166af8d826d25cc7efc099f
2010-02-24mmc: Fix kernel crash when SD card is repeatedly plugged in-out.Abhishek Aggarwal
In mmc_cleanup_queue, queuedata is being set to null before stopping the mmc_queue thread. This triggers cleaning up of request queue while it is still being accessed from the thread which results in null pointer dereferencing in its execution path thus causing the crash. Fixed it by: 1. Stopping the thread first and then making queuedata null. 2. If card is not present then clean up the queue to prevent further processing of requests. Part of fix for Bug 619171 Change-Id: I4360667e843f41d8e889db3df7755476a1c36714
2010-02-24tegra mmc: Impelement new present state quirk for sdhci-tegra.Abhishek Aggarwal
Enabled new present state quirk(SDHCI_QUIRK_PRESENT_STATE_REGISTER_INVALID) for tegra and modified the driver to report the card present status based on GPIO. Part of fix for Bug 619171 Change-Id: I2003fa4210818cb477910df56ccd0f1f4f62fd56
2010-02-24mmc: Add new present state quirk to sdhciAbhishek Aggarwal
Tegra does not use the present state register for determining card present status and thus returns incorrect status. Aadded a quirk(SDHCI_QUIRK_PRESENT_STATE_REGISTER_INVALID) to enable the host controller to query for card present status in a platform specific way. Part of fix for Bug 619171 Change-Id: I396f9dbbfb8f21651625403503cec9a5aac3e711
2010-02-23tegra uart: Removing the modification of the mctrlLaxman Dewangan
The serial_core have the modem state variable mctrl which was getting modified by the tegra uart driver. The low level driver should not modify this variable as serial core uses this for the modem control statesi and uses in future for controling the modem states. Removing the modification of this variable from low level driver. Tested with suspend/resume with BT on whistler by monitoring the modem signals. Change-Id: Ib6244c5160e40623a40e4764f5f156dc4f386ec9
2010-02-22keyboard: remove suspend/resume calls from tegra nvec driverGary King
occassionally, the keyboard stops functioning after the system resumes from suspend state; this may be due to a failure enabling keyboard scanning mode during suspend. disable suspend/resume calls from nvec keyboard driver until a solution for this problem is resolved (e.g., converting nvec to a bus). Change-Id: Id9f83a41852c8fec293bd43a94acaa287c184be0
2010-02-19Merge "tegra w1: Fix a lot of reset bus errors if no 1-wire device exists in ↵Gary King
the system Change-Id: Idb7f83fcfee31ad6accbbabb80bd98477ceca3f2" into android-tegra-2.6.29
2010-02-18tegra w1: Fix a lot of reset bus errors if no 1-wire device exists in the systemHoang Pham
Change-Id: Idb7f83fcfee31ad6accbbabb80bd98477ceca3f2
2010-02-17tegra usb:Fix suspend/resume failure in OTG mode.Venkat Moganty
In OTG mode during suspend/resume functionalities both device driver and host driver are accessing the USB1 controller registers with out checking the operation mode. Host driver is reading wrong status values from the registers causing the stack dump. This is fixed by checking the OTG state and guarding the hardware to access by only one driver(host or device), which is currently in operation. Bug 651253 : [Whistler] : USB gadget and/or EHCI bus suspend/resume API causes crash 1st after suspend/resume Tested on : Android/whistler with suspend/resume framework enabled. Suspend/resume sequence work fine with OTG enabled.
2010-02-15Merge "tegra: remove delayed suspend from sdhci driver" into ↵Gary King
android-tegra-2.6.29