Age | Commit message (Collapse) | Author |
|
Enable registration of suspend_ops with kernel. This will enable
platform specific low power states based on odm query.
Change-Id: Ie38fc67fe76124d21f0f6ca107a89efd9e4ec8b1
|
|
We implement suspend_ops->valid, suspend_ops->begin,
suspend_ops->enter and suspend_ops->end.
For suspend_ops->begin :
Check if CPU1 is in reset or not.
If not, reset it and maintain this state.
For suspend_ops->end :
Check if CPU1 was reseted by suspend_ops->begin.
If yes, take it out of reset.
For harmony board, add a timed wake lock as a WAR.
For suspend_ops->enter :
Do a odm query for lowest power state.
Call the appropriate low power state (LP1/LP0)
routine based on SOC type.
Change-Id: I6f4be75978573bba94e95723c023abc091e06d1e
|
|
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
|
|
into android-tegra-2.6.29
|
|
Bug 653500
This is an issue in RM transport.
This is because of sleep time when the buffer is not ready to send msg.
The sleep of 1msec is taking 10 to 20msec time as linux jiffy time is 10msec.
This fixed by using the polling for one jiffy time and using sleep afterwards.
Change-Id: I6656dc5e1e4cca20b115cd6b489e6a7f95944f0a
|
|
This changes is applicable to harmony odm.
Change-Id: I85d744a80b71533576c3896ebd21f0b34ea5de91
|
|
the system Change-Id: Idb7f83fcfee31ad6accbbabb80bd98477ceca3f2" into android-tegra-2.6.29
|
|
android-tegra-2.6.29
|
|
|
|
Moved EMC DFS low corner back to 50MHz (from 18MHz - affects LPDDR2
platforms). This is done since new AudioMixer unable to reach 18MHz
LC - optimization is in progress (bug 654473).
Change-Id: Iaf9acf0160dd3c07a1ff0a0bacd4bdc36d620e2c
|
|
Nand was seen as active device during suspend as Ddk Nand suspend code
was getting bypassed. Ddk Nand Suspend clocks call disables clock after
any operation. Later when suspend API found the clock disabled
RM voltage control calls were getting skipped. Modified suspend
implementation to use new suspend flag that skips suspend call
only when suspend is done once.
Tested on: harmony. Nand no longer active when entering lp1
Reviewed by: vbyravarasu
Change-Id: Iebda224a5b4eaeed77186abd096f67ee6473966e
|
|
Bug 642072: Power Aware NvRM Daemon
- Added /sys/power/nvrm/notifier as an interface to nvrm_daemon.
- Added pm_notifier, which notifies nvrm_daemon.
- Apply p4 change 5506101 with or before this change.
Change-Id: I8e170389661be9a1c55fbd37b95e0c5c276506b3
|
|
Change-Id: Idb7f83fcfee31ad6accbbabb80bd98477ceca3f2
|
|
android-tegra-2.6.29
|
|
android-tegra-2.6.29
|
|
android-tegra-2.6.29
|
|
To avoid the re-enumuration on wakeup from low power state, USB controller
context is saved before entering into suspend state and on resume the
stored context is restored. To restore the context properly, USB controller
needed to be programmed in the steps provided by the hardware team. With
this on wakeup, no re-enumurtion is happening.
Bug 594395 : Fast Wake for USB Modems
Bug 635371 : [AP20 \ Android] Baseband 3rd Party driver power management
in Android
Tested on : Android/whistler with suspend/resume framework enabled.
Tested for USB2 External ULPI + USB3 UTMI ports on Whistler
Tested for USB3 UTMI port on Harmony
Change-Id: Iba1b1a199d83c5b03bed192282e826996518d7b7
|
|
android-tegra-2.6.29
|
|
into android-tegra-2.6.29
|
|
android-tegra-2.6.29
|
|
with the change to allocate messages < MAX_SIZE on the stack
inside the dispatcher, there were actually 2 on-stack copies
of the message being maintained: one in the dispatcher, and
one in the RM transport code itself.
the transport code copied the message in order to prepend
a 3-word header; however, since the entire message was then
copied into a memory handle to send it to the AVP, the
internal copy is unnecessary; the message header can be
written directly to the memory handle and then the buffer
provided by the dispatcher can be copied directly into
the memory handle
Change-Id: I3a748192d7e45445bc821456e170670cc3fb0e98
|
|
Change-Id: I82dbf8c0a0aefcbb77b9596e46858f7c79376b9c
|
|
|
|
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.
|
|
In order to keep this file in sync with audiofx header file
adding in properties namely PowerState and EndOfStream.
|
|
|
|
|
|
The LP1 power state serves as a bridge between LP0 and LP2
states. In the LP1 state, memory is put in self refresh, plls
are turned off aggressively, and drivers are shutdown.
Change-Id: Ia02de8644d4c091aa5ccd012b287bdb55e7224e8
|
|
Added spinlock primitives to NvOs.
Converted PMC scratch registers access mutexes to spin-locks.
Change-Id: I862baf4d3a7a8fcdf1e8552356805afd4ac897c3
|
|
Moved EMC DFS low corner from 50MHz to 18MHz (affects LPDDR2 platforms).
It is possible now, since EMC BCT configuration bug 632015 is fixed.
Change-Id: I3a5bc3ebb7fb5fac1e70327970b6a215152d1cab
|
|
This change simply calls the appropriate suspend/resume APIs of
nvrm_kernel respectively. Return -1 in case of error.
This change is must when we enable system power management.
Change-Id: I698f7d7d3daf9eeb63872ddf2f8a216d3f3e9166
|
|
android-tegra-2.6.29
|
|
android-tegra-2.6.29
|
|
android-tegra-2.6.29
|
|
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.
|
|
- Add SRC and convert pin in Standard Input Path.
- Modify the TEGRA_DEFAULT_BUFFER_SIZE to 8KB,
it fixes the breaks in 8bit Mono playback.
- Add S16_BE in supported format to support .au format.
Sample data and other fields are stored in Big endian
form in a-law(au) format.
- Fix review comments on Patch Set 1.
For Bug [LDK/Whistler/ALSA] Attempt to a-law(au)
audio record results application/device hang(9/10).
Change-Id: I8be2b8c85506ae60f10d5a0318e34a888be9e71c
|
|
|
|
android-tegra-2.6.29
|
|
into android-tegra-2.6.29
|
|
android-tegra-2.6.29
|
|
change the buffer size from the default (4KiB) to 16KiB. testing has
shown that the additional buffer size dramatically improves file
transfer performance on Harmony
Change-Id: Ibbf917daffafab6bd7544d89ec111b15dfdb42df
|
|
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
|
|
Bug 650789
Bug 650790
The performance drop was because of moving RM transport into kernel.
After moving it into kernel, for every transport API call, there is
an additional overhead of allocating and freeing memory. This is causing
the performance drop. As the message buffer's max size is 256 bytes,
This performance issue is fixed by using buffer allocated on stock instead
of NvOsAlloc buffer.
Also removed unnecessary nvrm_rpc.h file.
Updated code to allocate memory from heap, if the message size is bigger
than stack buffer.
Change-Id: I9ec01a2bf4a97623446424a6b6abddb869e6f7a6
|
|
on VIPT, ASID-tagged, instruction caches (as are used on most ARMv7A
implementations), invalidating the kernel's instruction cache when
a VM_EXEC page is modified by flush_ptrace_access is insufficient,
since the physical address will be mapped with a different virtual address
and a different ASID in the child process being modified.
when debugging, particularly on SMP systems, this can result in breakpoints
triggering SIGILL errors. the appropriate fix this is documented on
page b3-24 of the ARMV7 architecture reference manual: invalidating the
entire instruction cache.
additionally, incorporate some feedback RMK made about commit
d289f584b9a0be78232e1c8c5844eaaa211aa984.
Change-Id: I0eef82d69fc802c447479fa40384c21222bc32ea
|
|
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
|
|
Updating the capability structure to support the uart controller
version 1.2
Updating the relocation table entry for the uart with version number
as 1.2.
Bug 627427 Ap20 UART FIOF triggers are not same as the AP15.
Change-Id: Ia1f676f1d9401008a3958bc8743252ea2cc61ddc
|
|
CONFIG_HIGHMEM (support for > ~600MiB RAM) is enabled by default for
Harmony with this change.
Change-Id: I510a9bff6fb1a98137c24d5790bb0b526a5c553e
|
|
the drivers are written to behave correctly with writecombined memory,
rather than SO, and SO mappings are really, really slow
Change-Id: I6ab9e4f506bbefed5d6d0ec7de36b78ee3b39c42
|
|
Include the function prototype for the private API that
was not added.
tested with local compilation for android.
|
|
android-tegra-2.6.29
|