The spoof disconnect workaround puts PHY in non-driving mode after
pull-up is disabled. Some times pull-up is not getting enabled when
PHY is in non-driving mode. As this workaround is not applicable for
28-nm PHY, remove it.
CRs-Fixed: 302394
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Add new function to handle device settings with varying data length.
Sensor vendors usually give us settings with consistent data length,
etc. group of byte or groups or word.
This new structure and function will handle cases when the data length
changes often.
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
Add a function to query whether the system is running on an
early sample of the Krait processor.
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Since socinfo.c is now built on all targets, it is safe to
uninline this function and move it into socinfo.c.
Something this big should not be inlined, anyway.
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Add a core infrastructure for transmitting idle stats to user
space for use by other devices in the system such as the GPU.
Signed-off-by: Lucille Sylvester <lsylvest@codeaurora.org>
LED mode set through pm8xxx_led_config API should be forced, not
OR'ed with the old value. For manual mode the brightness setting
should be done by LED trigger, not being turned on by default.
Signed-off-by: Willie Ruan <wruan@codeaurora.org>
On 8960 and 8064 targets, the version of gic used supports
a total of 288 interrupts (16 SGI 16 PPI and 256 SPI).
Fix the NR_MSM_IRQS to reflect this increase.
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
ALSA currently supports a 16-bit register which contains
two 8-bit two's complement gain values.
This patch modifies the same callback functions as the
above register type to support an 8-bit two's complement
gain register.
Signed-off-by: Brad Rubin <brubin@codeaurora.org>
set the correct size to the writeback buffer based on the
panel size to fix the hung issue.
Signed-off-by: Nagamalleswararao Ganji <nganji@codeaurora.org>
Drivers should now use their device names to distinguish between
clocks of the same type rather than the clock name.
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Doing two voltage readings when receiving a button press interrupt
ensures that a button was actually pressed. Sometimes a headset
insertion or removal can trigger a button press detection, and this
patch makes sure that only true button presses cause button events
to be passed up to user space.
Signed-off-by: Brad Rubin <brubin@codeaurora.org>
The new ANC file format allows calibration for multiple
headsets to be present in the same file. The "ANC Slot"
control selects which slot in the file to use for
calibration.
Signed-off-by: Brad Rubin <brubin@codeaurora.org>
Enable the GSBI bus clock when calling uart_add_one_port in
the probe function to allow a clean transition from the
early console to the regular console. The TTY layer may try
to configure the port before the early console became
deactivated, which will prematurely disable the clocks and
cause a lockup.
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
The LPA player needs to issue FLUSH to dsp while doing seek.
Thus EOS needs to be moved from trigger to close api as
it needs to drop buffers to support seek after trigger stop.
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
WCD9310 has four micbiases and each of them can be programmed to get its
power source from one of 3 available cfilters. Each cfilter can be
programmed to different voltage levels. Essentially, on WCD9310, a user
can have up to three different voltage levels to power various analog
microphones and digital microphones. As it is now, micbias voltage level
of WCD9310 is left to default value. Micbias and cfilter mapping is managed
by codec driver. Different board design can have different micbias
arrangement. Micbias configuration of wcd9310 CODEC for 8960 CDP/MTP/FLUID
is properly defined in this patch.
Signed-off-by: Patrick Lai <plai@codeaurora.org>
In Tabla 1.0, negative signal from RX3(connected lineout1 DAC)
and RX5(connected to lineout2 DAC) cannot be sent to lineout3
and lineout4 DAC's respectively. For differential speakers to
work correctly, lineout3 and lineout4 DAC still need to be
turned on even if no audio signal is sent to them.
CRs-Fixed: 298454, 300113
Signed-off-by: Kiran Kandi <kkandi@codeaurora.org>
sdio_al is not notified of charm modem shutdown causing failures
in channel communication. Similar to subsystem restart, register
for a shutdown notification and notify sdio_al clients. Register
sdio_al device as a charm device and charm modem device as its
parent.
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
SDC2 GPIOs have external pull up through VREG_S3 which is always on
regulator. Configuring SDC2 GPIOs (CLK, CMD, DAT) as PULL_DOWN
during sleep (when wifi is disabled) cause leakage current. Fix this
by configuring them as PULL_UP. This also ensures that the GPIOs
from host side are always active high as per SDIO spec.
Signed-off-by: Sujith Reddy Thumma <sthumma@codeaurora.org>
Below is the problematic scenario that this patch fixes -
The SDCC host is runtime suspended and the system suspend
has began. Before starting suspend of all devices, the usage
counter is incremented by power management framework. Now, MMC
block device is suspended as part of devices suspend but before
suspend of SDCC host, suspend is aborted because of some other
device. In this case, resume is called for all suspended devices
but the counter is not yet decremented. So when MMC block resume
is called and when it tries to resume the host, it fails. This is
because the current msmsdcc_enable() code resumes only when device
usage counter is 0. This code is now changed to use
pm_runtime_suspended() to determine when to resume the device.
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
Is is observed that ehci->async->qh_next ptr is not getting freed up
which is causing crash in ehci_mem_cleanup function. As a temporary
workaround unlink the pending queue heads as a part of ehci_stop.
CRs-fixed: 301134
Signed-off-by: Anji jonnala <anjir@codeaurora.org>
Add POWER_SUPPLY_PROP_ONLINE for non battery supply like USB and AC
so that it can be used by power supply driver.
Signed-off-by: Willie Ruan <wruan@codeaurora.org>
Add support to treat ghost touches as normal touches incase firmware
reports all touches as ghost touches.
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
MR1 register (AUTO_RFR_LEVEL) programming value is considered in
Words for UARTDM Core, whereas it is considered in Bytes for UART
Core. Currently MR1 register is programmed for AUTO_RFR_LEVEL value
as 3/4 size of Rx FIFO size i.e. 48 Bytes. For UARTDM Core this
value needs to configure into Words. Hence programme AUTO_RFR_LEVEL
value using MR1 register as 12 instead of 48.
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Make rpm_vreg_set_voltage and rpm_vreg_set_frequency no-ops for 8064.
This will allow the acpuclock driver on 8064 to call these functions
before RPM support is present on 8064.
Signed-off-by: David Collins <collinsd@codeaurora.org>
Add support for the APQ8064 Rumi3 machine type. Move the
dmov device initialization out of the common set of devices
initialized for all board configurations, and make it
specific to the sim device, as it does not yet work on the
Rumi3 hardware.
Signed-off-by: Joel King <joelking@codeaurora.org>
This increase is needed to support sending calibration
for VOIP and to send Wideband voice calibration for all
supported networks.
Signed-off-by: Ben Romberger <bromberg@codeaurora.org>
IRQ enables/disables are nested, therefore n disables
need to be followed by n enables to truly enable
an interrupt.
CRs-Fixed: 299463
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
DIAG uses SMD control channels to transfer packet registration
information from slave processors. While USB is disconnected, under
some scenarios, the SMD data might be left unread. Hence, when USB
gets connected, a special effort has to be made to read any unread
data on SMD control channel. Also each time a registration information
is stored in diag table, the SMD channel needs to be polled once more.
Signed-off-by: Shalabh Jain <shalabhj@codeaurora.org>