Use list_for_each_safe since the loop kfree the current list entry.
If qc_register fails, probe calls qc_deregister. qc_deregister accesses
the cdev struct, so make sure it has been initialized before returning
from qc_register.
Fix missing spin_unlock_irqrestore
Change-Id: I56db6ffaa0c7b258d383d0a6211f63318fa9c08f
Signed-off-by: Benoit Goby <benoit@android.com>
Change all rates to integer multipliers, and
Add table for 40nm Elpida
Change-Id: Ie3a4e47948f541326da664537604e2c3061e3a92
Signed-off-by: James Wylder <james.wylder@motorola.com>
Initialize arrays to utilize new signature of tegra_init_emc.
Memory types are matched internally and command line
option is no longer needed.
Change-Id: Icc7d44e4a82031638c78eeac3b172b713e0ca97b
Signed-off-by: James Wylder <james.wylder@motorola.com>
Update tegra_init_emc to provide generic memory
vendor matching. Read values from EMC_MRR_0, to
uniquely identify memory types and compare them
to table of memory passed in.
Change-Id: Ie116fa6f497076149c87ff6c0ae0621309bac65f
Signed-off-by: James Wylder <james.wylder@motorola.com>
tegra_assert_system_reset is called after the cache is disabled.
Calling writel will cause the PL310 store buffers to be drained,
which requires taking a spinlock. Taking a spinlock is not safe
after the caches are disabled. Convert to readl_relaxed and
writel_relaxed.
Change-Id: I6850179b931ca865580c0fd3fe003b46bdfa43ae
Signed-off-by: Colin Cross <ccross@android.com>
1. Implement reset_resume
2. Remove hardcoding of qmi to interface 0
3. Correctly assign bulk in and out endpoints
4. Change ethernet interface name from usbX to qmiX to remove conflicts with other drivers
5. Assign individual MAC address to each ethernet interface
6. Modify the usb device table to include subclass interface ids for motorola products
7. Remove any hardcoded interface, endpoint numbers
Change-Id: I3b08a5b0acb841e38177cdd758a16f32913246bb
Signed-off-by: Srinivas Gowrishetty <srinivas.gowrishetty@motorola.com>
The kernel now receives wait tracking data (similar to gathers and
relocs) and compares the current syncpt with the threshold value.
If it's old, it gets a kernel mapping and rewrites the method data
to use a kernel reserved syncpt that is always 0 (so trivially pops
when seen by the HW).
Patch has dependency to the user-space patches
Submitted on behalf of: Chris Johnson <cjohnson@nvidia.com>
original work by: Chris Johnson <cjohnson@nvidia.com>
Change-Id: I4d4e5d3b49cab860485c4172f87247f5b4f5ea6e
Add the updated wrigley datacard pid to the
list of flashable devices.
Change-Id: I44c0dc1d64136003eeb50df436f20e7765f058dc
Signed-off-by: James Wylder <james.wylder@motorola.com>
Do necessary waits and fifo clear according to NV. Also use 115200
as the rate set while bringing-up rx dma during init, to decrease
start-up time.
Change-Id: I5211c75607cf2880ab2b1c22ab30f2c265534a1c
Signed-off-by: Andrei Warkentin <andreiw@motorola.com>
Even though the wifi-only model has nothing attached to ehci3, the
driver still needs to be probed. This is because the USB register
settings are lost in LP0. So currently after the device resumes from
LP0 the first time, the current drain is 12mA higher! When the
ehci3 driver is present, its resume code runs and restores the
registers to a known good state, which solves the power management
issue.
Change-Id: I6329704f7a1161eb139b62002a50085eb05d2fdc
Signed-off-by: Greg Meiste <w30289@motorola.com>
This command triggers a dump of the MDM6600 RAM log buffers
into non-volatile memory, so that they can be retrieved by
bugreport or the RIL when submitting error reports. It
provides a simple path for this which does not rely on the
typical (and more error-prone) IPC mechanism.
Change-Id: I17708704b94426b1541533978478192d3f4dab89
typeo was causing 1080p VICs to never be populated
Change-Id: Idde037cf0d4b71370cff7e65a2135b8c60a91fa0
Signed-off-by: Erik Gilling <konkers@android.com>