Wait for Start Of Frame interrupt, then wait 20 us, before starting
port resume. Workaround for hardware issue that can cause the SOF to
be sent out at the same time as the phy speed change.
Change-Id: I91ccbd2902448e87aa3cdf1970305de22efa1c10
Signed-off-by: Colin Cross <ccross@android.com>
Make sure that the last byte has been received by the uart during
suspend after RTS is deasserted.
Change-Id: I3517ec058fdca912ff5ad8770d2b1c5015385385
Signed-off-by: Andrei Warkentin <andreiw@motorola.com>
Signed-off-by: Colin Cross <ccross@android.com>
Updates the tegra_hsuart driver to match the changes in the Tegra
dma engine.
Change-Id: Iaaf8770166156c1a6d889a6a11bae517626781ee
Signed-off-by: Colin Cross <ccross@android.com>
Calling the complete callback when a request is cancelled leads to
locking problems in the callback, which could be called from an IRQ
with no locks held, or from whatever context called
tegra_dma_dequeue_req. Instead, expect the caller to handle the
now-cancelled request as needed.
Also removes tegra_dma_dequeue, since all users can be trivially
converted to tegra_dma_dequeue_req.
Change-Id: If699239c09c78d1cd3afa0eaad46535b1d401a24
Signed-off-by: Colin Cross <ccross@android.com>
In debug prints for stuck WAITs differentiate WAIT_SYNCPT
vs. WAIT_SYNCPT_BASE and fix some build warnings.
Change-Id: Ia47375614c676a9f93216fbfaaf6856c3df42e2e
Signed-off-by: Chris Johnson <cwj@nvidia.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>
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
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>
typeo was causing 1080p VICs to never be populated
Change-Id: Idde037cf0d4b71370cff7e65a2135b8c60a91fa0
Signed-off-by: Erik Gilling <konkers@android.com>
In underflow recovery, if the clocks are not enabled when the dc is brought
out of reset writes to the DC will sometimes hang.
Change-Id: If37de79f755196550018f94080ab2beed84ca326
Signed-off-by: Erik Gilling <konkers@android.com>
get_spare_fuse was calling tegra_apb_readl and passing an
offset, but tegra_apb_readl requires a physical address.
Fix it by calling tegra_fuse_readl instead, which takes
an offset.
Fixes a crash booting on A03 parts, where get_spare_fuse
is used to determine the difference between A03 and A03
prime.
Change-Id: Ie386dc099e1c14eeb36262bfcc882e29a40a8da6
Signed-off-by: Colin Cross <ccross@android.com>
In mtp_read(), if wait_event_interruptible() returns an error, we need to
remove the request from the EP queue. Else, on the next call to mtp_read(), we
will attempt to enqueue the request again, potentially corrupting the
queue. This is what happens with musb_gadget_queue(), which does not check for
duplicate requests.
Based on a similar change to f_adb.c
Signed-off-by: Mike Lockwood <lockwood@android.com>
Change-Id: I165411a14342666cbac02fb8cb171580ab0826aa
Reviewed-on: http://git-master/r/14464
Reviewed-by: Jon Mayo <jmayo@nvidia.com>
Tested-by: Jon Mayo <jmayo@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Signed-off-by: Jon Mayo <jmayo@nvidia.com>
Change-Id: I89fc144428b140288126790065902ea9e49b41e4
Reviewed-by: Jon Mayo <jmayo@nvidia.com>
Tested-by: Jon Mayo <jmayo@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Signed-off-by: Jon Mayo <jmayo@nvidia.com>
Change-Id: I7e8d9b5fa275af738fe22be2082a709a3902bdee
Reviewed-by: Jon Mayo <jmayo@nvidia.com>
Tested-by: Jon Mayo <jmayo@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Signed-off-by: Jon Mayo <jmayo@nvidia.com>