Age | Commit message (Collapse) | Author |
|
when the mtd partition command line format is used, ignoring the
return value left err set to the number of partitions, which was
later interpreted as an error return code for tegra_nand_probe,
which caused the MTD master to be unregistered (ultimately causing
NULL pointer derefs when mounting the root partition).
this fix allows bootloaders to use the standard mtdparts= syntax
for specifying partitions, rather than the tegrapart= syntax
Change-Id: Ia50a2ebe72efb213f3dd418510f01d59ad178d31
Reviewed-on: http://git-master/r/3276
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
stack-allocated transaction & data buffers were not getting memset to 0,
resulting in invalid transactions getting sent to the RM
Change-Id: I8e16f0c90f74c31cf03b69cb098436e4e64e215e
Reviewed-on: http://git-master/r/3244
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
Modify gpio module to use regulator module for controlling GPIO power rail.
Since there are some issues related to init sequence after this change, using
"postcore_initcall_sync" to involve regulator module, as well as modifying
NvRmOpenNew routine are required.
Bug Id 697774
Change-Id: Ie8002f1190da83355c0554496f9fef24d18207f5
Reviewed-on: http://git-master/r/3103
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
Integrating warning fixes from kernel .29 to .32
Change-Id: I95f0dd92e830f80cae2fb4d3383c9efa845238a9
Reviewed-on: http://git-master/r/3176
Tested-by: Sachin Nikam <snikam@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
Bug 657105
Problem:When the USB Camera is unplugged while preview
VIDIOC_DQBUF ioctl hangs in uvc_queue_waiton()
as it waits on interrupt which will never come,
as USB Camera is unplugged.
Solution:Using wait_event_interruptible_timeout() instead
of wait_event_interruptible() in function uvc_queue_waiton()
with timeout value 250 mSec so as to gracefully exit.
With this change VIDIOC_DQBUF ioctl returns error,
USB Camera driver handles this error to gracefully exit.
Change-Id: I509162ab3d50b7b52e83e015922eff2c83d6e2fb
Reviewed-on: http://git-master/r/3183
Tested-by: Sachin Nikam <snikam@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
As these changes are causing power regressions on whistler,
reverting them.
Tested on: whistler
Bug 702317
Change-Id: I025e1f4e7d58f020ced7dadff1707ac403d620ba
Reviewed-on: http://git-master/r/3180
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Tested-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
Enabled Bosch and Kionix accelerometers together.
Added an abstraction layer which would route calls to
Bosch or Kionix accelerometer based on run time detection
Testing done: observed changes in accelerometer readings
when the device is moved.
Change-Id: I7cdadb609703d6d0eeabf6e2878adb5f81c43b72
Reviewed-on: http://git-master/r/2753
Tested-by: Venu Byravarasu <vbyravarasu@nvidia.com>
Reviewed-by: Hoang Pham <hopham@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
Checking explicitly number of available bytes in transmit buffer
before writing into the transmit buffer. Removing additional checks.
Bug 700035
Change-Id: Ica2a6649e9acb2e059ebf6bb08dc5eaecdad8ed7
Reviewed-on: http://git-master/r/2990
Tested-by: Suresh Mangipudi <smangipudi@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
Adding support for USB-IF High Speed electrical test mode for device mode.
Support added for electrical test modes:
1. TEST_J
2. TEST_K
3. TEST_SE0_NAK
4. TEST_PACKET
5. TEST_FORCE_ENABLE
Bug 675483
Bug 649012
Tested on AP20/Whistler and AP20/Harmony with USB HS electrical test tool.
Change-Id: I75c0990f1e5abd55bb626bb04ffe48f0e4efe5e3
Reviewed-on: http://git-master.nvidia.com/r/2534
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com>
Reviewed-by: Ramachandrudu Kandhala <rkandhala@nvidia.com>
Tested-by: Ramachandrudu Kandhala <rkandhala@nvidia.com>
|
|
tegra 2 EHCI controllers need transfers aligned to 32B boundaries;
enable DMABOUNCE by default whenever USB_TEGRA_HCD is selected,
and create DMA pools for the EHCI devices
Change-Id: I6c391a52370e19c904cab714a4ebd223c7647329
Reviewed-on: http://git-master.nvidia.com/r/2959
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
It was observed that when trying to power down the PHY, the RS bit(0:0)
in USBCMD register was still set to RUN(1). Calling ehci_halt() before
powering down the PHY in tegra_ehci_suspend() to set RS bit to STOP(0)
before PHY is powered down.
Bug: 695655
Change-Id: I677550be63eebd5140ca466096cb796a21a1167
Reviewed-on: http://git-master/r/2929
Tested-by: Abhishek Aggarwal <aaggarwal@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
Supporting byte addressing mode cards with
EMBEDDED_MMC_START_OFFSET. Setting the card addressing
mode based on the access mode bit in OCR register.
Change-Id: Ib10543d7aa2b474e28c95bb24fff645236686689
Reviewed-on: http://git-master/r/2581
Tested-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
Touch screen drivers must report size value for presses. If
size < 0.6, then it is considered finger press. If size > 0.6,
then event is considered to be cheek press.
The distinction is important in phone mode, because cheek presses
are ignored in that mode (the user has the device next to his face
in phone mode, and will likely press cheek accidentally against
touch screen).
Bug 700050
Change-Id: I6792a888f4761672230140e011e9fdc5d60696d3
Reviewed-on: http://git-master/r/2903
Reviewed-by: Michael Hsu <mhsu@nvidia.com>
Tested-by: Michael Hsu <mhsu@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
after flushing the delayed_work queue, there is no need to keep a hold
of the delayed_work wakelock; release it to avoid causing problems in
the suspend loop, in case the cancellation of the scheduled work would
cause the normally-scheduled wake_unlock call to never be called
additionally, some host + card combinations can cause a disable operation
to be scheduled in the workqueue during mmc_host_suspend. if the system
completes the suspend down to the wakelock power driver before this
work executes, the system will fail to suspend because the delayed_work
wakelock is held. re-flush the workqueue after removing the card and
suspending the bus to avoid this race.
Change-Id: I847fb004304f81d91b03be48765af1ff52de1c5e
Reviewed-on: http://git-master/r/2890
Reviewed-by: Narendra Damahe <ndamahe@nvidia.com>
Tested-by: Narendra Damahe <ndamahe@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
hosts with non-removable cards should not need to specify
MMC_CAP_POLLING; this causes additional exits from the CPU idle
loop.
add a field to the platform data to specify that the host is
removable, and initialize card_present to true if the host
is not removable
Change-Id: I55d9c8295435deb522977b3e7380abc0f8f05721
Reviewed-on: http://git-master/r/2888
Reviewed-by: Narendra Damahe <ndamahe@nvidia.com>
Tested-by: Narendra Damahe <ndamahe@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
Adding apis for following function to hooking up tegra serial driver with
bluesleep power management:
- Clock off.
- Clock on.
- Setting flow control to desired state.
- Checking for tx fifo status.
Following 4 state of uart state machine is developed to achieve this:
UART_CLOSED, UART_OPENED, UART_SUSPEND, UART_CLOCK_OFF.
The transitions of states are as follows:
UART_CLOSED: the init state on which resource is allocated but not
opened by client or when device is closed.
UART_OPENED: Able to do data transfer.
CLOSED to OPENED by opening the port.
CLOCK_OFF to OPENED by calling function tegra_uart_request_clock_on().
SUSPEND to OPENED by calling resume().
UART_CLOCK_OFF: The controller clock is disabled and so no data transfer
can happen. At this state, controller is not ready for
deep power down.
OPENED to CLOCK_OFF by calling tegra_uart_request_clock_off().
Can not go to this state from CLOSED and SUSPEND.
UART_SUSPEND: The controller is in suspended state and ready for deep power down.
UART_CLOCK_OFF to SUSPEND:
OPENED to SUSPEND.
Change-Id: Ib0c40547665181cadd172840be9aed2cc18ba448
Reviewed-on: http://git-master/r/2819
Reviewed-by: Anantha Idapalapati <aidapalapati@nvidia.com>
Tested-by: Anantha Idapalapati <aidapalapati@nvidia.com>
Reviewed-by: Udaykumar Rameshchan Raval <uraval@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
tegra-fb driver didn't check whether frame buffer is 16bit or 32bit
allocated by bootloader and force to use 16bit display.
Check frame buffer color format to support 32bit ARGB frame buffer.
Bug 685731
Tested on Whistler
Change-Id: Ib545df6227c966d9a26d414687226f4a81bb16bd
Reviewed-on: http://git-master/r/2426
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
Correct return value for key 1 is KEY_ESC, not KEY_BACK.
Bug 684439
Change-Id: I55db604e79f9f9c3eed4e7dcb4538b096cdc69ae
Reviewed-on: http://git-master/r/2566
Tested-by: Sachin Nikam <snikam@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
fix the infinite loop triggered by multi-touch controllers
also, modify the multi-touch loops to loop over the number of fingers
supported by the controller, rather than MAX_FINGERS
bug 699471
Change-Id: I7c83aa87f9d5c75600cae36c1b40615903a95cec
Reviewed-on: http://git-master/r/2747
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
It is observed that parity is getting configured properly on set_termio()
but immediately get reset before setting the wordlen.
Fixing this issue by not resetting the parity configuartion once it is
configured.
Change-Id: Ie815adc20e883ba05245f6dd2e93b5d0cd81845a
Reviewed-on: http://git-master/r/2760
Reviewed-by: Suresh Mangipudi <smangipudi@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
To enable the tristate of the pin, the argument should be either
TEGRA_TRI_TRISTATE or true and for setting it to normal, the
argument should be either false or the TEGRA_TRI_NORMAL.
The code was passing the value of the argument in reverse, for tristate
it was passing the false and for normal it was true.
Passing the correct argument value for setting the tristate and normal.
Change-Id: I3f83ae7672dc4323f695e57c46c3878316a03324
Reviewed-on: http://git-master/r/2749
Reviewed-by: Anantha Idapalapati <aidapalapati@nvidia.com>
Tested-by: Anantha Idapalapati <aidapalapati@nvidia.com>
Reviewed-by: Suresh Mangipudi <smangipudi@nvidia.com>
Tested-by: Suresh Mangipudi <smangipudi@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
The kernel touch stack can support a max of 5 fingers at a time.
Adding support in the driver to suport 5 fingers too. The touch odm
for whistler is broken, hence disable pressure and width support.
Change-Id: I9e148bab2efa0116a6513cc8b1cb2ffc2ea27cc8
Reviewed-on: http://git-master/r/2327
Tested-by: Varun Wadekar <vwadekar@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
Moved NvEc calls from nvec-keyboard driver to keyboard odm kit where
all the remaining communication with NvEc resides.
Change-Id: I12c528a7b54a02ccef5129d022934da3476e0fcf
Reviewed-on: http://git-master/r/2471
Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
Fixed tegra_nand_read api to return correct number of
read bytes.
Change-Id: If08514052fa266b27d1a5d5d4139ae35e185f853
Reviewed-on: http://git-master/r/2593
Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
Tested-by: Krishna Reddy <vdumpa@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
Setting MMC_CAP_HIGHSPEED in host capabilites to detect
high speed eMMC cards, set high speed mode and configure
maximum supported clock frequency(52MHz).
Tested on: AP20 Android with high speed eMMC card
Change-Id: I0da6a4122a2caec1c70918b5801ddb5ac53dcbb5
Reviewed-on: http://git-master/r/2485
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
redefine an unsigned long variable as NvU32 to make gcc happy
Change-Id: I4f949c9f812e5834f61899a57a8c4a957b571c62
Reviewed-on: http://git-master/r/2521
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
Added check for handle poison before pinning. This prevents panic
(BUG_ON in _nvmap_handle_pin_locked) when trying to pin already freed
handle.
Bug 684375
Change-Id: I85ba4b37b2f193c19782edeaa562b7f77915cfc4
Reviewed-on: http://git-master/r/2478
Tested-by: Anssi Kalliolahti <akalliolahti@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
Change-Id: I86faa2f56dbfd0ed145f40b04346a85f64bab12c
Reviewed-on: http://git-master/r/2508
Reviewed-by: Scott Williams <scwilliams@nvidia.com>
Tested-by: Scott Williams <scwilliams@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
sdhci_suspend_controller should be called regardless of the type of
media in the SD slot (SDIO or memory); rip out the code which conditionally
suspended the host based on the card type
additionally, move the suspend and resume functions out of
platform_driver and into dev_pm_ops
Change-Id: I7403aec8c26ef1c4374bb376f99b54767177504b
Reviewed-on: http://git-master/r/2488
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
The device was hanging on USB cable disconnect because fsl_ep_dequeue()
function in fsl_udc_core.c was trying to access USB registers after the
phy has been powered down.
Fixed this by putting a check for vbus status and preventing the
register access if the vbus status is 0.
Bug: 696989
Change-Id: I802d6efa84b3cf20da736dfce1d546f044576b37
Reviewed-on: http://git-master/r/2394
Tested-by: Abhishek Aggarwal <aaggarwal@nvidia.com>
Reviewed-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Tested-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
When fast wakeup feature is supported by a host controller port,
then avoid the restarting of controller. Fast wakeup is enabled
on the port where device like usb modem is connected always.
BUG 692574: Fast Wakeup for USB modems
BUG 594395: Fast Wakeup
Change-Id: Iaee9f184189f8a1aa8aa0e440879600c0eb625cc
Reviewed-on: http://git-master/r/2375
Tested-by: Seshendra Gadagottu <sgadagottu@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
sd controllers in tegra socs should be disabled when idle to save power
Change-Id: If1c20e43187356c94f4c5b846e3862e30834d842
Reviewed-on: http://git-master/r/2344
Reviewed-by: Narendra Damahe <ndamahe@nvidia.com>
Tested-by: Narendra Damahe <ndamahe@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
add support for the mmc delayed suspend interface to the sdhci driver,
so that hosts which support it (controlled by a new quirk:
SDHCI_QUIRK_RUNTIME_DISABLE) can use runtime delayed suspends to reduce
the power consumption from idle SD controllers
Change-Id: Iaa6a9dfad4cb9496caca715b5a7ce9e1b533d998
Reviewed-on: http://git-master/r/2343
Reviewed-by: Narendra Damahe <ndamahe@nvidia.com>
Tested-by: Narendra Damahe <ndamahe@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
DSI one shot support requires register access in the tegra framebuffer to
poke the frame trigger bit (with both the trigger bit and the tearing effect
signal are high, a frame of pixels will be sent to the panel). The boot args
must also be expanded to have a "use tearing effect" flag.
tegra RM: Expanded Display clock configuration options.
Added an option for restricted Display clock synchronization with MIPI
PLL - select MIPI PLL as a pixel clock source, but preserve PLL settings.
To specify this option flag NvRmClockConfig_InternalClockForPads should
be set by RM client along with NvRmClockConfig_MipiSync flag (in the
absence of the former flag, MIPI PLL can be re-configured at RM discretion
- current behavior).
Change-Id: I495c2d76656efe8653aa5731c07180c2bfcd2fc0
Reviewed-on: http://git-master/r/2342
Tested-by: Arthur Spence <aspence@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
ccf5b801c changed uintf.pm_usage_cnt to an atomic_t; update this driver
to reflect the change
bug 696988
Change-Id: If587ca9c98a7f92f35a0143283c6d13a862c3d6e
Reviewed-on: http://git-master/r/2336
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
tegra_start_tx was called directly by the serial core, as
well as from dma and serial interrupts to queue the next
block of data. Separate out the "queue next data"
functionality into tegra_start_next_tx.
Also fixes TX PIO by adjusting FIFO sizes and prevents
last characters from getting lost by spinning on TEMT
before disabling clocks.
Change-Id: If8ce15490f77dcbde48f1e64959d5c3f0ec35120
Signed-off-by: Colin Cross <ccross@android.com>
Reviewed-on: http://git-master/r/2288
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
Change-Id: I4c4bc12e8c883912f8979b75a8eb418a62e77f94
Signed-off-by: Colin Cross <ccross@android.com>
Reviewed-on: http://git-master/r/2287
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
if the platform data indicates that the controller will be used in OTG
mode, do not call request_mem_region since this would conflict with
the gadget controller, causing one of the two probes to fail
bug 696526
Change-Id: I64f71af8adf7ffa27e98e4fdb42d90de4203efde
Reviewed-on: http://git-master/r/2298
Reviewed-by: Venkata (Muni) Anda <vanda@nvidia.com>
Tested-by: Venkata (Muni) Anda <vanda@nvidia.com>
Tested-by: Trivikram Kasivajhula <tkasivajhula@nvidia.com>
Reviewed-by: Abhishek Aggarwal <aaggarwal@nvidia.com>
Tested-by: Abhishek Aggarwal <aaggarwal@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
Bug 693439
Change-Id: Id251d6be11e1b251c45e811173ba770683f11c48
Reviewed-by: Narendra Damahe <ndamahe@nvidia.com>
Tested-by: Narendra Damahe <ndamahe@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
if rescan is scheduled on the work queue because the host requires
periodic polling to detect card insertions, do not acquire the wakelock;
otherwise, the system will never enter suspend.
Change-Id: I11b2711112a771a69f25b99c0234f22ceff4d9d6
Reviewed-on: http://git-master/r/2248
Reviewed-by: Trivikram Kasivajhula <tkasivajhula@nvidia.com>
Tested-by: Trivikram Kasivajhula <tkasivajhula@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
The USB device connected to USB1(OTG) port was not getting detected at
boot time. Reason being that on phy power down (host mode), there was
some delay in VBUS getting disabled. Because of this the OTG state was
getting set to "peripheral" instead of "host".
Fixed this by waiting for VBUS to be disabled in phy power down with a
max wait time of phy hardware time out (1 sec).
Change-Id: I78e561e28d942fa9931dfb88656281b02264859f
Reviewed-on: http://git-master/r/1837
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
Change-Id: I60f52fc6e91839abb11333e44fb77fdda85841f1
Reviewed-on: http://git-master/r/1830
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
Change-Id: I79ca91a26094567207eb55837b908086209cfcf2
Reviewed-on: http://git-master/r/1829
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
registers itself with the same "tegra_battery" driver name as the
NvEc battery, so disallow platforms from selecting both the ODM battery
and the NvEc battery
fix the nvec_battery driver compilation to only occur when it is selected,
rather than whenever the NvEc infrastructure is enabled
Change-Id: I9716824d0882d8cd8e693ebdad6bcc96c3f035c5
Reviewed-on: http://git-master/r/1822
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
Change-Id: I9b7a7cb461f5b7f5d4623050ed6184426e14400f
Reviewed-on: http://git-master/r/1820
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
nvmap shouldn't require MACH_TEGRA_GENERIC; it should be buildable
(sans NvRm APIs or NvOs preserved memory handle bootargs) in a stock
kernel. move the NvOs and NvRm dependencies to ifdef'd source code,
rather than Kconfigs
Change-Id: I11d4049460975bc9f2bf779c4c2fa6c7a8747583
Reviewed-on: http://git-master/r/1807
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
the driver should get the vbus_regulator using its platform device,
not an arbitrary platform device provided via platform data; now
that tegra regulators are registered semi-correctly, this hack is
not needed
Change-Id: I93e2455b7897402767d9e798cb88bc5d48b81250
|
|
add new fields to the platform data structure to allow specification of
chargers (current sources) vs regulators (voltage sources) on the platform
Change-Id: If4d0b2520a37afb96d103d6cbf78ec2fba2d02f9
|
|
Change-Id: Ife43077e4699e38339a637be5a21f1f75fb46543
|
|
Change-Id: I8d2834f5b7e73cd6a1eb6584715bdd707e23e830
|