summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
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
2010-02-15Merge "f_mass_storage: allow platform to set bulk buffer size" into ↵Gary King
android-tegra-2.6.29
2010-02-15tegra: remove delayed suspend from sdhci driverDeepesh Gujarathi
Using delayed suspend prevents the system from going into suspend. The delayed suspend work queue acquires a wakelock and the power manager kicks in before the delayed suspend gets scheduled.
2010-02-12Merge "tegra usbh: whistler suspend/resume failure fix" into ↵Gary King
android-tegra-2.6.29
2010-02-12f_mass_storage: allow platform to set bulk buffer sizeGary King
add a field to the android_usb_platform_data structure to allow platforms to specify the size of the bulk transfer buffer; if unspecified, default to the BULK_BUFFER_SIZE defined by f_mass_storage.c (previously defined as 4KiB). on harmony (tegra 2), performance of a class 10 SD card mounted as USB mass storage through this gadget has been measured to increase from ~7MB/sec read to ~17MB/sec read by increasing the buffer size from 4KiB to 16KiB. Change-Id: I0da025f1317506cbd3257fe697a9297b0516d9e9
2010-02-12tegra: implement mmc_ops enable, disable handlers in sdhci driverDeepesh Gujarathi
Implement the enable and disable handlers introduced in the mmc_ops structure. Use the enable and disable handlers for dynamic clocking of SD memory devices. SD clock is enabled when the sdhci host is claimed and clk is disabled when host is released. Use delayed suspend for better performance. Change-Id: Ied5e0f00c41abd4f6d0918405356a9983ae06552
2010-02-11tegra usbh: whistler suspend/resume failure fixBitan Biswas
With OTG disabled on whistler the suspend/resume code was hanging. The reason is because register reads hang when clocks are disabled. This fix tries to skip the suspend calls when device is already in suspend state. This avoids attempts to read register with clocks disabled. Bug 651253 : [Whistler] : USB gadget and/or EHCI bus suspend/resume API causes crash 1st after suspend/resume Reviewed by: vmoganty Tested on : whistler with suspend/resume framework enabled. Suspend/resume sequence seems to work fine on whistler and harmony with OTG disabled in kernel and odm_query. Change-Id: Iedc096648deab5c3b80350446c4ee67f625df27e
2010-02-10Merge "serial: Fix intermediate variable overflow" into android-tegra-2.6.29Gary King
2010-02-10nvmap: change from platform device to mem deviceGary King
in order to implement user vs super-user protections for the nvmap functionality, multiple device nodes need to be created with separate file operations, similar to the mem vs kmem separation. since nvmap is conceptually similar to the other "mem" class devices, the multiple device nodes are added as new minor numbers in the mem class, and the existing platform driver registration is removed. Change-Id: Ie260e4c56679682133d90a69c0985eaaa5a4d071
2010-02-11serial: Fix intermediate variable overflowAnantha Idapalapati
tegra serial driver calculates the clock values based on baudrate requested. while calculating clock values for higher baud rates, the intermediate values are getting truncated because of 32-bit overflow. Redefining the intermediate variables to 64-bit(unsigned long long instead of unsigned long) is resolving the issue.
2010-02-10Merge "mmc: add 'enable' and 'disable' methods to mmc host" into ↵Gary King
android-tegra-2.6.29
2010-02-10mmc: add 'enable' and 'disable' methods to mmc hostDeepesh Gujarathi
MMC hosts that support power saving can use the 'enable' and 'disable' methods to exit and enter power saving states. An explanation of their use is provided in the comments added to include/linux/mmc/host.h. Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Acked-by: Matt Fleming <matt@console-pimps.org> Cc: Ian Molton <ian@mnementh.co.uk> Cc: "Roberto A. Foglietta" <roberto.foglietta@gmail.com> Cc: Jarkko Lavinen <jarkko.lavinen@nokia.com> Cc: Denis Karpov <ext-denis.2.karpov@nokia.com> Cc: Pierre Ossman <pierre@ossman.eu> Cc: Philip Langdale <philipl@overt.org> Cc: "Madhusudhan" <madhu.cr@ti.com> Cc: <linux-mmc@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Conflicts: drivers/mmc/core/core.c include/linux/mmc/host.h tegra: cherry picked patch 8ea926b22e2d13238e4d65d8f61c48fe424e6f4f Change-Id: Iaaaaecd00452760a9bcea43f41af97bcbccef058
2010-02-10Revert "tegra: Dynamically control the card clock for SD memory devices"Deepesh Gujarathi
This reverts commit 179fa807239b85a471b046a5ba75dce7c0f68dec. Need to add dynamic clocking the right way, i.e. as part enable/disable mmc_ops handler. Commit to follow soon. Change-Id: I74245b0c7ba9da5c839b08fbe7dce293080a06a4
2010-02-09Merge "serial: Fix lock-up caused by the recursive calls to UART spin-lock" ↵Gary King
into android-tegra-2.6.29
2010-02-10serial: Fix lock-up caused by the recursive calls to UART spin-lockAnantha Idapalapati
Replacing the spin_lock(), spin_unlock() functions used in ISR with spin_lock_irqsave(), spin_unlock_irqrequest() functions. Change-Id: Ib7639e3dc790c2b8471098b8a435d8800adae72c
2010-02-09touchscreen: fix build break for non-early-suspend tegra driverGary King
the previous change to tegra-odm.c introduced suspend & early suspend codepaths, but the suspend code path didn't build. fix the build break, and clean up some warnings caused by not including <linux/tegra_devices.h> Change-Id: I73b40a50e508ed95bbcccac1bf5234e057c88d5d
2010-02-09Merge "tegra ec_battery : Polling for Battery and power supply info" into ↵Gary King
android-tegra-2.6.29
2010-02-09Merge "tegra: Add early_suspend and late_resume hooks to touch-screen ↵Gary King
driver" into android-tegra-2.6.29
2010-02-05Merge "tegra: Add 1-wire bus master driver for Tegra SOCs" into ↵Gary King
android-tegra-2.6.29
2010-02-05tegra: Add early_suspend and late_resume hooks to touch-screen driverBharat Nihalani
Additionally normal suspend and resume hooks have also been added in case CONFIG_HAS_EARLYSUSPEND is not enabled. Tested on Whistler by invoking suspend and resume Change-Id: I13b7402d2703cc0fd3cb3070f172f4dd09f84597
2010-02-04tegra: Add 1-wire bus master driver for Tegra SOCsHoang Pham
Fix logic pinmux config select Change-Id: I49f8c399d57455c85ed373a66db6696cdd997bec
2010-02-04Merge "tegra: Using dam_alloc_coherent instead of dma_alloc_writecombine." ↵Gary King
into android-tegra-2.6.29
2010-02-04tegra: Using dam_alloc_coherent instead of dma_alloc_writecombine.Venkata(Muni) Anda
Also Fixed a bug of ordering. Don't check for the FIFO is drained when the PIO is in flight. Change-Id: I0a0f81a2060f7f6a87dd8e5f6593d688c1c80d08
2010-02-04tegra ec_battery : Polling for Battery and power supply infoSachin Nikam
Bug 646822 Synopsis:[Harmony/android] Battery status is not updated whenever there is any change in battery/power supply property - Created a timer of interval 30 Secs which calls the function tegra_battery_poll_timer_func(). This reports to the power supply core for power supply changes for Battery, AC and USB. Which gets the updated info from EC battery driver and signals the uvent. The JNI and Battery Info application which is waiting on this uevent then updates themselves with this lateset info from /sys/class/power_supply/* - Unregsitered to power_supply in remove function. - Added suspend-resume functions - Deleting polling timer while suspend and creating it again while resume. Change-Id: I5a09bd9c6566f1732e6d2abb2e446d1e29cfdba2
2010-02-03Merge "tegra: tegra-nvec (keyboard) driver thread added into freezable ↵Gary King
state" into android-tegra-2.6.29
2010-02-03Merge "tegra rtc: work-around Y2038 issue with uninitialized PMUs" into ↵Gary King
android-tegra-2.6.29
2010-02-03Merge "tegra: Use write-combined DMA buffer for Tx DMA instead of zero-copy ↵Gary King
DMA." into android-tegra-2.6.29
2010-02-03tegra rtc: work-around Y2038 issue with uninitialized PMUsGary King
an uninitialized PMU may return a completely random value for the number of seconds; when this value is interpreted as number of seconds since 1970, this can cause severe instability if the value is >= 0x80000000UL (which is January 2038, sign-overflowing the 32b signed time_t value used in the kernel) to work-around this issue, when the RTC driver is probed, it performs an initial read of the PMU's time; if the value returned would result in a negative time_t value, the PMU RTC is reset to 0. bug 648967 Change-Id: Icee9940b5433e7e22edf98f9fcd5c7193b5c4f1f
2010-02-03tegra pm: usb host suspend/resume supportBitan Biswas
suspend/resume APIs defined for tegra usb host Bug 635299 Tested on : harmony. suspend/resume calls success. Change-Id: I5dad8bc2cc524de74c2fd3260b014de4764c604c
2010-02-03tegra: Use write-combined DMA buffer for Tx DMA instead of zero-copy DMA.Venkata(Muni) Anda
Given the constraints of Tx DMA to only use the dword aligned buffer start and dword aligned size, it would prudent to allocate a uncached DMA buffer and copy the data to that buffer before the trasmit. Main reason if Flushing L2 is not a cheap operation and the UART driver model is having to do all the operations while holding the spin-lock will not work. Change-Id: I0ca14d5809258e2a62111f0a8a5e8a8053de1a34
2010-02-03tegra: tegra-nvec (keyboard) driver thread added into freezable stateNinad Malwade
- all the EC client threads should be freezable while going into suspend and so as the nvec keyboard thread. bug 646208 Change-Id: I95285829b229d5e482f216507210258e05de792c
2010-02-02smsc95xx: configure LED outputsSteve Glendinning
SMSC LAN9500 has dual purpose GPIO/LED pins, and by default at power-on these are configured as GPIOs. This means that if LEDs are fitted they won't ever light. This patch sets them to be LED outputs for speed, duplex and link/activity. Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-02nvmap: use inner cacheable, outer non-cacheable mappingsGary King
nvmap-allocated memory is used primarily by DMA devices, and the cost of L2 maintenance generally greatly outweighs the benefit of caching the (mostly streaming) accesses. a reserved region of the kernel's virtual address space (NVMAP_BASE to NVMAP_BASE+NVMAP_SIZE) is used by nvmap as a temporary mapping area for all operations (cache maintenance, read, write) on memory handles is perfomed by mapping each page into the nvmap aperture with the same cache attributes as other active mappings. this change greatly improves the performance of drawing the drawer and web pages in Android, since the primary bottleneck in both cases has been the L2 cache maintenance operations (which no longer exist) additionally, when cache writebacks are requested on large regions (currently defined as >= 3 pages), the entire L1 data cache is flushed, to avoid the loop costs of per-line operations. Change-Id: I37e07c86eb316811f63e7200d52667debf4b7aa7
2010-02-02nvmap: fix indentationGary King
use tabs rather than spaces in nvmap.c, decompose nvmap_rw_handle to fit within 80 columns Change-Id: Ie29072ad9f32de4a0d418f487b73c0826637f551
2010-02-01Merge "tegra pm: nand suspend/resume support" into android-tegra-2.6.29Gary King
2010-02-01Merge "tegra pm: usb gadget suspend/resume support" into android-tegra-2.6.29Gary King
2010-02-01Merge "tegra: NvEC threads are added into refrigerator for suspend/resume ↵Gary King
cases" into android-tegra-2.6.29
2010-02-01tegra pm: nand suspend/resume supportBitan Biswas
suspend/resume APIs defined for Nand Bug 635299 Tested on : harmony. suspend/resume calls success. Change-Id: I6c962dd771903edd389aa50ec24e173da57ce93a
2010-02-01tegra pm: usb gadget suspend/resume supportBitan Biswas
suspend/resume APIs defined for tegra usb gadget Bug 635299 Tested on : harmony. suspend/resume calls success. Change-Id: I564fdd5539d15d04762e3b7dede3e1267d5bd44b
2010-02-01tegra: NvEC threads are added into refrigerator for suspend/resume casesNinad Malwade
- setting set_freezable_with_signal at the start of the thread - replaced NvOsSemaphoreWaitTimeout by wait_event_freezable_timeout - marked a shutdown variable and signalled the semaphore before joining with the thread Change-Id: I06a11848cc20498b57387a0c4bb55c330065768f
2010-01-29Merge "Enabled ADMA in the mmc driver." into android-tegra-2.6.29Gary King
2010-01-29Enabled ADMA in the mmc driver.Nagesh Penumarty
AP20 SDMMC controller has the following deviations from the specification. 1. Provides the specification version as 0 instead of 1. 2. Maximum allowed ADMA descriptor length is 32KB instead of 64KB. Enabled ADMA2 option in the MMC driver by adding the sw WARs for the above two issues. Tested on: Android Bug: 620234
2010-01-28tegra: Fix buges in DMA mode for high speed UART trasmit.Venkata(Muni) Anda
Mix of hardcoded values and enums caused the code to take unexepcted paths causing Tx failures. Tested with BT scanning of devices. Change-Id: Ic82f1749304262487a4bf0d2e42e5edeadcf360c
2010-01-27tegra: Added suspend/resume functionality to native high speed serial driver.Venkata(Muni) Anda
Tested with BT device after enabling the suspend ops driver. BT is working after multiple suspend/resume operations. Change-Id: I71f4c34f93e16c15e3f03676c3e5c9c5e84b43b9
2010-01-27Merge change Id4ab2295 into android-tegra-2.6.29Gerrit Code Review
* changes: fsl_udc_core: Fix USB chapter9 compliance tests.
2010-01-26mouse: use early suspend for mouse, freeze event threadGary King
since the mouse event thread expects to read from the embedded controller following an event, it should be frozen while the system goes into suspend additionally, on operating systems which support early_suspend, the mouse should cause the system to wake up; register an early_suspend handler for the mouse based on the blank screen state. bug 645292 Change-Id: Ib3dc161565da70893ccd1397e0a3be35f5283c3f