Age | Commit message (Collapse) | Author |
|
Setting the dma burst size for slink based on tarnsfer size. If transfer
size is multiple of 16 bytes then set burst size as 4 word otherwise 1 word.
For other dma requestor, the dma burst size is 1 word.
Change-Id: I9c699b124c5f8f4c4b1fb3b916da5f235faa8704
Reviewed-on: http://git-master/r/2476
Reviewed-by: Michael Hsu <mhsu@nvidia.com>
Tested-by: Michael Hsu <mhsu@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>
|
|
To touch task->flags directly is racy. thaw_process() still has race
(changing non_current->flags, but this is another issue) though, I think
it's much better off.
So, use thaw_process() instead.
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Change-Id: Ifcd4aa521a7bb1f3b263ac4dbb3c483deb935ae8
Reviewed-on: http://git-master/r/2423
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
during a system suspend operation without MMC_UNSAFE_RESUME, the mmc stack
removes all of the cards on the bus so that they can be redetected during
resume
for data cards, the remove operation causes calls to sync the file
systems on the mounted partitions
however, since this happens during the device driver suspend path,
tasks will already be frozen, including the bdi flusher task which are
responsible for performing all of the queued operations to sync the removed
card's file system. since the superblock sync is a blocking operation, this
causes a deadlock, as the suspend operation is blocked on a frozen task
this patch causes the fs-writeback code to skip the superblock sync if
the bdi flusher tasks are freezing or already frozen, to prevent the
deadlock
Change-Id: I5970ac9a50f1968ba5f413a46be0c2e16222581c
Reviewed-on: http://git-master/r/2373
Reviewed-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Tested-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
Added support for wake event delay, and CPU power off time controls.
Exposed the respective settings as ODM PMU properties.
Bug 690326.
Change-Id: I2c30365de3fce4e2d45b1e66c7af9087f10d8451
Reviewed-on: http://git-master/r/2377
Tested-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
Forced delay routine alignment - without it calibration results (BogoMIPS
and loops_per_jiffy) may very depending on the code layout.
Change-Id: I0abcacf947c6e451b72bdb4f2ec5fee160ad68b2
Reviewed-on: http://git-master/r/2455
Tested-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
Added non-Android configuration for Tegra Whistler platform.
Bug 694513
Bug 693422
Change-Id: I9696d1ce44bfd4195e1544ae90344a9afe6558c3
Reviewed-on: http://git-master/r/2435
Tested-by: Yu-Huan Hsu <yhsu@nvidia.com>
Reviewed-by: Winnie Hsu <whsu@nvidia.com>
Tested-by: Winnie Hsu <whsu@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
Added non-Android configuration for Tegra Harmony platform.
Bug 694513
Bug 693422
Change-Id: I3eae367803868373ff9c0e10686f535aa8ee4151
Reviewed-on: http://git-master/r/2448
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Tested-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
Change-Id: Ie08e1384cc8896ad23eac96e942cf54ae7792015
Reviewed-on: http://git-master/r/2444
Tested-by: Winnie Hsu <whsu@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
Expanded CPU power off (LP2 state) policies as follows:
(a) "Enter in Low Corner" - LP2 is entered and DVFS tick interrupt is
masked only when DVFS is in low corner.
(b) "Mask in Low Corner" - LP2 is entered independently of DVFS, but DVFS
tick interrupt is masked only when low corner is hit
(c) "Ignore Low Corner" - LP2 is entered and DVFS tick interrupt is masked
independently of DVFS low corner.
Ported from android-tegra-2.6.29, but set default policy to (c), which is
the same as current android-tegra-2.6.32 kernel behavior (on 2.6.29 kernel
(a) was default).
Added sysfs node to change and evaluate policies.
Change-Id: I22e89f4d58dfa2e2fb668154c1ae2cd301fbe1ca
Reviewed-on: http://git-master/r/2359
Tested-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-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>
|
|
Bug 663469
nvrm is split into two nodes, /dev/knvrm and /dev/nvrm.
/dev/nvrm has access to limited set of API's.
Added validation of params in the API's that can be
accessed from /dev/nvrm.
Change-Id: I57c2aae000bf873fe85db00df66ec004c2882b5c
Reviewed-on: http://git-master/r/2300
Reviewed-by: Gary King <gking@nvidia.com>
Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
Tested-by: Krishna Reddy <vdumpa@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>
|
|
Bug 696988
Change-Id: Id814b03c89d5cd48c6b779b55fdb7f5ee56f06f8
Reviewed-on: http://git-master/r/2347
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>
|
|
MC error interrupts are useful debug features, so implement them
separately from the RM; also, enhance the printouts to include the
client name, so that cross-checking the status value against a separate
list isn't necessary
Change-Id: I9aa2857388bf252bbcd2f3048eae0fb63d90a011
Reviewed-on: http://git-master/r/2280
Tested-by: Gary King <gking@nvidia.com>
Reviewed-by: Scott Williams <scwilliams@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>
|
|
Change-Id: I6ee6d3a6ce9defa25a30343932db309d05feb557
Reviewed-on: http://git-master/r/2289
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>
|
|
Change-Id: I78359ccf3defc70e623735925d423cb048f68075
Signed-off-by: Colin Cross <ccross@android.com>
Reviewed-on: http://git-master/r/2286
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
Change-Id: I08165ea202530bc65be9d418a889dd0622a3ac4f
Signed-off-by: Colin Cross <ccross@android.com>
Reviewed-on: http://git-master/r/2285
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
Saved tegra idle LP2 time in PMC scratch register for DVFS logging.
Change-Id: Ia7c4bf2168e7d9dacab36a7d000c930ee9a85650
Reviewed-on: http://git-master/r/2290
Tested-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-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>
|
|
a NULL pointer check for the ODM kit SDIO property was incorrectly
entered as a check against the instance ID, which resulted in SDHCI
instance 0 never being registered.
bug 693414
Change-Id: I29b21d9d215ec1aeafd3d22a4468e0960c52621b
Reviewed-on: http://git-master/r/2189
Reviewed-by: Gary King <gking@nvidia.com>
Tested-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>
|
|
Change-Id: I8abd263268f3764e843b39ef3d545a0e658e898b
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>
|
|
In the multplexed pinmux option, it is require to unconfigure the
current configured pinmux and need to move the pingroup to safe option.
The function NvRmPinMuxConfigSelect() was not handling properly the
request for selecting the multiplexed pinmux option.
Change-Id: I2869fedfaa9c47cd9af18581dc1555966138f145
Reviewed-on: http://git-master/r/2242
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
Added explicit RM state update in RM kernel resume path (no need to
rely on "the 1st resumed driver must report its state to RM")
ported from android-tegra-2.6.29
Change-Id: Idb86728fcb5c73e2874f3077a9d665f0b241c8e6
Reviewed-on: http://git-master/r/2232
Reviewed-by: Trivikram Kasivajhula <tkasivajhula@nvidia.com>
Tested-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
Replaced dynamic busy hints allocation with busy hints pool.
bug 686569
ported from android-tegra-2.6.29
Change-Id: Ie64dfc1a060e2d574b5970018c95f61acb735e07
Reviewed-on: http://git-master/r/2225
Tested-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Trivikram Kasivajhula <tkasivajhula@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
Convert /dev/nvos to a general purpose node, /dev/nvos and a super
user node, /dev/knvos. /dev/nvos exposes semaphore related
functionality whereas /dev/knvos will be used for interrupt
and memory management. Track the semaphores in a rbtree
so that we do not stomp on anybody else's space and corrupt
the memory.
Change-Id: I98bacb7312fd3eb86122dde80381b74ae865ce57
Reviewed-on: http://git-master/r/2192
Tested-by: Varun Wadekar <vwadekar@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
Change-Id: I6246fa04cbd9f22ba7b932700af044ad0193da6d
Reviewed-on: http://git-master/r/2201
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
Change-Id: I573c74b7982020b5b282a276aa1cdc6171162c73
Reviewed-on: http://git-master/r/2217
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
Supports CBC & ECB encryption/decryption, AnsiX9.31 RNG, SSK/SBK/User Key,
fine-grain uid/gid access control and ability for privileged user to reset
the engine. A device node (/dev/nvaes) is provided to enable access from
user-land.
based on work done by David Le Tacon (dletacon@nvidia.com)
Change-Id: I1a9c29b964ca15e6fec70389c2000306ef604086
Reviewed-on: http://git-master/r/2216
Reviewed-by: David Le Tacon <dletacon@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
This new power state corresponds to doing an LP2 like operation
at the end of Linux's suspend/resume sequence. When LP1/LP0
are working, we can replace SimpleSuspend with the real
Suspend/DeepSleep operations. The SimpleSuspend state
can also be used as a "sanity" state to assist in
debugging power issues.
Change-Id: Id7d2df0b263c0e2dc2b6bfe1e2f647a9c0d2f747
Reviewed-on: http://git-master/r/2160
Tested-by: Trivikram Kasivajhula <tkasivajhula@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
to ensure that no CPUs are added or removed between the time the
system starts to suspend and the time it exits resume, register a
pm_notifier which disabled dynamic hotplug on SUSPEND_PREPARE and
re-enables it on POST_SUSPEND.
Change-Id: I6b24495b7992b4a3e47ad3c31e48ef9bd65eb2f0
Reviewed-on: http://git-master/r/2153
Reviewed-by: Trivikram Kasivajhula <tkasivajhula@nvidia.com>
Tested-by: Trivikram Kasivajhula <tkasivajhula@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
due to a swapped source and destination value, wait_for_us was returning
the time it started looping, not the time it exited
Change-Id: I53455413ad969b7e02979c150883a2f18b222bd2
Reviewed-on: http://git-master/r/2152
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
If the CPU turns off prematurely during a suspend operation, the system
cannot recover as the wake events would not have been set up yet.
Change-Id: I7f989d1d7d03c40341b63935280325621d35b408
Reviewed-on: http://git-master/r/2100
Tested-by: Trivikram Kasivajhula <tkasivajhula@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
the allocated RM DMA handle was not being returned to the caller,
causing a segfault in a number of circumstances, and incorrect
behavior in others; fix this and enhance the error detection in
NvRmStartDmaTransfer to catch this in the future
additionally, it appears that no-timeout and no-signal was a valid
mode of operation in the previous code, so add support for this to
the new code
Change-Id: I954fdbf7307fbae8946292215ebec79750ffbda7
Reviewed-on: http://git-master/r/2018
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
the DMA API expects that the peripheral address supplied by the client
is a valid APB address in the system memory map (0x7000:xxxx); however,
the I2C code was only providing the offset of the register relative
to the start of the controller's aperture.
it's not clear how this ever worked, but the additional error checking
in the new RM DMA-on-native DMA implementation choked on this, highlighting
the problem
Change-Id: I4e10be05e03a6feeff4b0a26b5f870caf9ee5e1c
Reviewed-on: http://git-master/r/2017
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
the latest gcc 4.4.0 builds segfault while compiling page-writeback.c
with value-range-propogation enabled. disable this optimization on this
file
Change-Id: I43ae05f7c8401a406bc02f6b0b87fadc1c281cfe
Reviewed-on: http://git-master/r/2009
Reviewed-by: Narendra Damahe <ndamahe@nvidia.com>
Tested-by: Narendra Damahe <ndamahe@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: I6519568f20c4cd859c198d82c2a3007305a61317
UTMIP pads were turned off before the UTMI phy is set in to the suspend mode.
This is corrected by turning off the UTMIP power control pads after phy is
suspended.
Added workaround for ULPI to bring out of suspend by setting USB2_CLK_OVR_ON
bit in CLK_RST_CONTROLLER register.
Change-Id: I3219946e6351c8ddf5e036dfc3a3f2b3693e99a6
Enable Clock Over On bit for all three controllers during phy resume and
disable during the suspend. Added timeout for the phy clock wait loops.
Change-Id: I71324cc89b4e3031ecc94ee5c05ba6193bab6533
add timeouts to all infinite polling loops to prevent soft lockups when
restoring the phy
Change-Id: I067d50fe26c8e951d92e4e36814d20d9ad2022f2
Reviewed-on: http://git-master/r/1836
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
Change-Id: Ic19d154a2825dc38c01f7ba7690f97aaa26f9313
Reviewed-on: http://git-master/r/1834
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
Change-Id: I90df26b7657a9511ba439cba188bfb9782a66d40
Reviewed-on: http://git-master/r/1833
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
register the tegra_accelerometer, tegra_scrollwheel and
tegra_vibrator ODM kit devices if enabled in the kernel config
Change-Id: I436095452940cef4b22b4cdba20fa778fea57116
Reviewed-on: http://git-master/r/1832
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
Change-Id: I82b4c5b61f6a52ae3ebc93a28219c15da446b040
Reviewed-on: http://git-master/r/1831
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|