Passes a name to nvmap_create_client so it can be tracked
for debugging.
Change-Id: I47c958549c29fb3d5299f6c693e1be79b27a29f3
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Passes a name to nvmap_create_client so it can be tracked
for debugging.
Change-Id: Id4aa9804d8cc8c04c44f51602362435fb877d1af
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
This modifies the api to allow the user to specify a name
for their clients. This will allow the system to track
allocations from the kernel by name.
Change-Id: I44aad209bc54e72126be3bebfe416b30291d206c
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Moves the file tracking clients to debugfs
Add a debugfs file to track the list of allocations per client
Change-Id: I2bb683e3ac0599fa05d962c79ef0b7cbd0007d75
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Set pll_m_out1, sclk, and hclk to 120 MHz, and pclk to 60 MHz.
Drivers that require a faster bus speed can use a shared bus clock
reference to increase the sclk frequency up to 240 MHz, which will
also increase pll_m_out1, hclk, and pclk.
Change-Id: Ic491da80de1d95e6550cf9351eae185210f55b2a
Signed-off-by: Colin Cross <ccross@android.com>
Move the flush_work outside of stop_tx, do it during suspend and
shutdown instead. Move the tty portion of the tx work into
the dma complete callback, and only handle polling on the fifo and
then requeuing the dma in the work function.
Change-Id: I56db6504d35e5e7019379dc8a4323b4a27c72e59
Signed-off-by: Colin Cross <ccross@android.com>
Get rid of dvfs_lock, replacing it with the cansleep flag on clocks.
Clocks with the cansleep flag set will lock a mutex before calling
into dvfs.
Also does the regulator api calls during late init, after the
regulators have been probed.
Signed-off-by: Colin Cross <ccross@android.com>
Change-Id: I5b8bd249bd4f3ae495f2076f1e6d2bfb38737f29
Give each clock its own lock, and remove all lock traversals from
parent to child clocks to prevent AB-BA deadlocks.
Signed-off-by: Colin Cross <ccross@android.com>
Change-Id: I0afb7d1bca956439b1a4f17bbc6748aaec706b49
The sdhci core calls clock functions with a spinlock held, which
conflicts with the mutex in dvfs clocks. Disable dvfs on sdmmc
for now.
Signed-off-by: Colin Cross <ccross@android.com>
Change-Id: I59c0648ab6718571794e082d1f4828f158d00031
Prints a log message if the nvmap allocate ioctl fails.
Change-Id: Ia0777bc2fcd665dafff0f8948b01faad3f552d72
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
- Remove duplicate code between probe() and resume(), make new function
i2s_configure()
- When master, pass the sample rate from the board info
- Clean up some checkpatch.pl complaints.
Change-Id: I0169d9a70c02eaf2173b1f1941a545792c01bc6b
Signed-off-by: Iliyan Malchev <malchev@google.com>
The tegra_camera device includes all clock and regulator
functionality needed to support camera on tegra.
Change-Id: I281f1cb5f360276af832309e35dbe17c98b62bb3
Signed-off-by: Dima Zavin <dima@android.com>
Creates /dev/spdif_out and /dev/spdif_out_ctl for playback and control
settings. Playback is working.
Signed-off-by: Iliyan Malchev <malchev@google.com>
In the current implementation handles hold references to a
client and clients hold references to their handles. As a
result when a process terminates it's handles can't be cleaned
up and we leak memory. Instead only hold references to handles
from clients.
Change-Id: Iba699e740a043deaf0a78b13b4ea01544675078f
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
This patch adds the ability to track the total allocations in a
given carveout heap by client. It also adds a sys file to print
the list of clients, their pids and their respective carveout sizes
Change-Id: I34fc97c3be574d2bd30d7594320ff05f6e13c476
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
There is one wmb missing in the usb host controller driver after the queue head
update. Due to this data transaction is not happening on the bus after urb
submission by the hcd driver. Register updates/queue heads data in the memory
is not reflected on the AHB bus. After adding the wmb after queue head update
data transaction the USB bus started with out any delay.
originally fixed by Venkat Moganty <vmoganty@nvidia.com>
Change-Id: Ic834df5172ac2f2eb3bced317d38b4a2e7a44801
Signed-off-by: Jay Cheng <jacheng@nvidia.com>
The regulator framework may need to change certain regulators when
entering suspend.
Change-Id: I584e92b3c32cbd1a63325831822e2704a3dd2774
Signed-off-by: Greg Meiste <w30289@motorola.com>
The hdmi block contains a divider that is not visible to the clock
subsystem, prevent auto dvfs on it so that clk_set_rate can set the
input clock higher than 148.5 MHz.
Change-Id: I7f09f4d099e2f24166a65b1b582fe16c1451deba
Signed-off-by: Colin Cross <ccross@android.com>
* read blocks in a single command instead of byte at a time
* allow reading past segment 0 (edid > 256 bytes)
* handle mutiple extention blocks
* add debugfs file for reading edid
Change-Id: Iec8182cdbccdaa2142e4bbc892202d2e8d73c23b
Signed-off-by: Erik Gilling <konkers@android.com>
The PLLP registers are now being restored by the low-level resume code,
and the CPU may be running off PLLP, so don't touch them during clock
resume.
Change-Id: Ida248a929c8b59f2e51f43dbbef1cd792ef68737
Signed-off-by: Colin Cross <ccross@android.com>
Save and restore the PLLP registers in the platform suspend code, as
the CPU clock may be sourced from the PLLP registers later, before
the clock resume that used to re-enable PLLP has been called.
Change-Id: I0ffc18d8a7f2d62c544328bd44ca7cf62848bc44
Signed-off-by: Colin Cross <ccross@android.com>
In LP1 suspend, or during a failed LP0 suspend, the core power is
not turned off and the timer register is not reset. Saving the
timer value during suspend and adding it to the offset after resume
will cause the timer value to double for each suspend cycle.
To fix, when resuming subtract the current value of the timer
register from the offset. Also, use the rtc registers to add
the time that passed during suspend.
Change-Id: I9f7ee2089b98cf66af45271f8478fbd9eb2ee250
Signed-off-by: Colin Cross <ccross@android.com>
The 32k clocksource is never used, because it is always registered
at the same time as the us clocksource, which has a higher rating.
Using the 32k clocksource would cause a race condition with the
tegra_rtc driver on the RTC shadow registers. Remove the 32k
clocksource, add a replacement tegra_read_rtc_ms function for the
suspend code to track suspend time, and add a comment on
read_persistent_clock that it should never be called while the
tegra_rtc driver is running. It is currently only called from
timekeeping init, suspend, and resume.
Change-Id: Ic964578e9923b0f0338959f75de1ac170f850337
Signed-off-by: Colin Cross <ccross@android.com>