FM configuration failure is due to two issues. Since the calibration
will take around 6 seconds to complete, any commands sent to SOC
during that time will fail.Added a state machine to prevent the
execution of another command while FM calibration is in progress.
The other issues is with the Get tuner command.FM kernel driver is
sending the Rx specific command to get the Tx configuration.
Send the proper command to get the TX configuration parameters.
CRs-Fixed: 317658
Change-Id: I54e637c267cbdb88d15d68d8ad7ceb72f985c54d
Signed-off-by: Srinivasa Rao Uppala <uppalas@codeaurora.org>
Because the IBs used for context switching are not allocated
by userspace, a separate search is needed to find them
in adreno_find_region.
Change-Id: I4c2a180333ae54ecbf257fd8c90ec2e3f748ad95
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Some hangs are fooling the postmortem dump code into
running off the end of a buffer. Fix this by making
its bounds check logic work better by reusing the
logic from kgsl_find_region().
CRs-Fixed: 319312
Change-Id: If6cc01369f4b0634d7e19494b8d021643abb8a39
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
This change disables all the HDCP interrupts upon de-authentication.
In addition, we also clear the HDCP AUTH_FAIL_INFO register upon
processing the AUTH_FAIL_INT interrupt. This is required for passing
HDCP compliance for MSM8960
Change-Id: Iefe544c8c972e4d3b5fa4ccdd513c411d1781b3d
CRs-Fixed: 321221
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Delay in headset removal causes adverse effects in
userspace such as delay (loss) in audio/video routing.
Delay was introduced to reject spurious switch events. These
events are already rejected based on the headset status.
CRs-Fixed: 321721
Change-Id: I34346a83cc673d7a7856ea1f43f858a5e040265d
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Use deferable timer in background operations thread,
so that it won't cause unnecessary wakeups. Typically,
wakeups are seen in the range 60ms to 2secs (for HZ=100)
after the thread is scheduled out. In general, during this
delay the processor can go into sleep, if there is no other
activity. Since, the work done in this background operation
is not critical and can be handled as soon as when timer
expires and processor wakes up for other critical events,
we mark the timer responsible for wakeup of this thread
as deferable timer. Otherwise, the processor wakesup
unnecessarily to handle the background operations causing
higher power consumption in idle state.
Change-Id: Ic168525c6b33600ad23017d00ea9723cf8a738d2
Signed-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org>
LTC4088 is high efficiency USB powerpath controller
and Li-Ion/Polymer battery charger. This driver
enables the charger, allows to set current limits,
and detection.
Change-Id: I844431210cfd6e71d02fa7ffb730ee56d8417273
Signed-off-by: Jay Chokshi <jchokshi@codeaurora.org>
Add two APIs, 1) set_current_limit API and 2) set_charging_by.
set_current_limit api is used for external control, such as for USB
driver to tell a charger driver the maximum current to draw.
set_charging_by is used to change the state of the charger.
Change-Id: I147eab37836b54627ca1458167eb117ba3eacd7a
Signed-off-by: Willie Ruan <wruan@codeaurora.org>
When mmap is called to remove a mapping, the mmap code
takes care of removing all the entries so it isn't
necessary to call unmap versions. However, there may be
cases where heaps need to do other buffer clean up when
a userspace buffer is unmapped. Add an unmap_user function
to the ion heap ops. This callback needs to happen in
vma_close, so move the decrementing of the overall user map
call back as well.
Change-Id: I8e5716774dd973828f76e03ec43e8e8ecf8c7936
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
Ion allows multiple mmaps of the same buffers. This means that
incrementing the usermap count in mmap and decrementing it in
release is not sufficient as release will only ever be called
once. Fix this by only doing the reference count change in the
vma_open and close which are called whenever mmap is called.
Change-Id: I6d17c0f563d0b90481d8e092c1e206f2b33c8e00
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
Hotplug occurs frequently enough on our targets that its messages are
clogging up the logs. There is no need for any messages to be printed
when hotplug is successful.
Change-Id: Icf213ab409ba428f39439f886cdf4c070a48bfbf
Signed-off-by: Jeff Ohlstein <johlstei@codeaurora.org>
When performing cpu hotplug tests the kernel printk log buffer gets flooded
with pointless "Switched to NOHz mode..." messages. Especially when afterwards
analyzing a dump this might have removed more interesting stuff out of the
buffer.
Assuming that switching to NOHz mode simply works just remove the printk.
Change-Id: I1746f8c0119a512055716c3fd77a966b735ca49b
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Link: http://lkml.kernel.org/r/20110823112046.GB2540@osiris.boeblingen.de.ibm.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Jeff Ohlstein <johlstei@codeaurora.org>
The HPH PA's are turned OFF while setting up MBHC hardware for
insertion detection. It is also required to turn off the DAC's for
both HPH Left and Right channels.
Turning off HPH DAC's avoids probable fake insertion interrupts.
Change-Id: I73290a01739bd0872d8d3eaddf8666c43aa087a2
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
With headset inserted and no recording, the MIC BIAS is switched to
VDDIO to avoid noise on Headphone due to button polling. When this
switch happens, it is required to pause the headset polling before
the switch and restart it again when the switch is done
This will make the MIC BIAS switch smooth and will avoid click/pop
noise that may happen during the switch
Change-Id: I092d1915b379173b88a38584bf1701cce833c9ae
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
When the headset is inserted more than three quarter inside, the tip
of headset plug just touches the HPH Left line on Headset jack. This
causes an interrupt, but is identified as fake insertion interrupt,
since the headset is still not completely inserted and the microphone
voltage has not settled. This happens continously because after detecting
fake insert, the current logic re-enables insertion detection interrupt.
Once the fake insert interrupt is triggered, the HPH left schmitt trigger
is turned OFF and the MIC line schmitt trigger is turned ON. Hence the
continous interrupts do not occur anymore. Further detection happens
based on MIC line schmitt trigger until the headset is either
completely inserted or completely removed.
CRs-Fixed: 317673
Change-Id: I58f0cd5c6e5ee56348013e585fbb455d4d73efaa
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
Remove iomaps and interrupt declarations for legacy timers
as these are no longer required after moving over to
ARM generic timer implementation.
Change-Id: Iadcbc0b9a1bfc173b0f87f5db8b5e4674ba68dfd
Signed-off-by: Sathish Ambley <sambley@codeaurora.org>