MDM 9x07 provides Mclk at 12.288MHz frequency. To enable
the RCO clock at same frequency for headset accessory
type identification and button press/release detection,
add support in wcd9xxx-resmgr and wcd9330 drivers.
CRs-fixed: 1009668
Change-Id: I5f728abf8934f0a45eb1fe564fe872736b90a4b2
Signed-off-by: Viraja Kommaraju <virajak@codeaurora.org>
Fix plug removal detection by enabling electrical removal
irq when headset/headphone accessory is removed from the
other end of extension cable.
CRs-Fixed: 982110
Change-Id: Ia7e9f427dc20bbc0db61a1bc2debbe4536066cc0
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
Enable micbias at 2.7v for special headset till
headset is removed, to avoid fake electrical removal interrupts.
CRs-Fixed: 982110
Change-Id: I6643973a3b506d7f920e611ca51f06df94cc5a94
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
Changes to support packed 24 bit (SNDRV_PCM_FORMAT_S24_3LE).
CRs-Fixed: 1011048
Change-Id: Ia06096648ebdd4109c63dc399b07bf50c1d3dba3
Signed-off-by: Manish Dewangan <manish@codeaurora.org>
After gsi_unbind() if gsi_bind() function frees speed descriptor due
to an error leads to double freeing of descriptor. Fix this issue by
setting descriptor pointer back to NULL after freeing the descriptor
memory.
CRs-Fixed: 1038866
Change-Id: Ic5ee71389b6b20c8557e0a75f9bbe5a1749cf655
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Add 192KHz sampling rate support for mono/stereo playback with 16/24
bit on mi2s rx ports in addition to primary mi2s rx port.
Configure i2s bit clock based on the sample rate, channels, bitwidth
parameters.
CRs-Fixed: 999711
Change-Id: I274ef656d26fbae9a92c27fb3dd7353b66ac015d
Signed-off-by: Venkata Narendra Kumar Gutta <vgutta@codeaurora.org>
Update decimator high pass filter cutoff frequency if the
TX is path closed within 300ms after opening the session.
This will restore the cutoff frequency to the default
correct value.
CRs-fixed: 988075
Change-Id: Iece28fe2551a74ec7b1b8b4b5cac02537e3d28d8
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
Parsing of audio routing in ASoC core has been changed in
kernel 4.4 to use new variables. Update the codec driver
to traverse to source dapm widget using new variables.
Change-Id: I8c545248f23c73ff9fb470705f1c17175a8e4e0b
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
During SSR, wcd9xxx_res irq lock is destroyed as part of resource
cleanup. If driver tries to access wcd9xxx_res irq lock before it's
initialized, it could cause crash. Check if wcd9xxx_res irq is 0
before using it to avoid crash.
CRs-Fixed: 1003482
Change-Id: I959caf7b305e965b84e8204168194bbfda72dc52
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Add RGB LEDs that are present on pmicobalt. These LEDs are used
for applications like notification of charging indicator and
other user defined applications.
Since LPG channels 3,4 and 5 are assigned for Blue, Green and
Red LEDs on pmicobalt, keep them enabled in device tree.
CRs-Fixed: 1037821
Change-Id: I1a40bbe46e689d8c98f31cfef3a6743856288127
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Export arch_get_cpu_efficiency API since it can be called
by the modules. Update topology header file too.
CRs-Fixed: 1038542
Change-Id: Ie2ab84b02a8fb4070a0e86f09f52db9aa4163003
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
The mask and enable values being used are incorrect for the
safety timer. Fix it. Also take this opportunity to update
all relevant macros to use the GENMASK(h,l)/BIT(x) macros.
CRs-Fixed: 1024187
Change-Id: Ibdd139c98aa289f1d6b8545b953e79a1187284e9
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
Add the qcom,current-ma property which is used to specify the
default current value to be used for the flash and torch devices.
This property is used by clients of the flash device.
CRs-Fixed: 1024187
Change-Id: I3670eaa65efc9d1efb29fb30500fb9067885b446
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
Add the qcom,current-ma property to specify the operational
current for the flash led. Also limit the minimum flash current
to 25mA since currents below this value cause unstable flash
operation.
CRs-Fixed: 1033071
Change-Id: Ia133b6c0cf0c21484f61631f04cba0d1112c9d48
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
VMBMS is used for accuracy improvement during voice call. It is
not supported on msmcobalt. It is moved to FG driver,
VMBMS is not needed anymore. Remove it from msmcobalt device tree.
CRs-Fixed: 1038038
Change-Id: Ib01b649633ef8d7e15791fa9b1bd0d7a3fbffc5d
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Update the frequency table for the gfx3d_isense_clk_src RCG to
include configuring it to run at 19.2 MHz.
CRs-Fixed: 1038944
Change-Id: I072a9d3ca906e311fa4f34119c42d92828dccedb
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
This change adds USB QUSB PHY v2 driver which is compatible
for USB QUSB PHY having major revision as 2.
Change-Id: I1751352ebbe38d4b8c7886085d15043c2e5244f5
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
AD calc_worker vsync thread acquires the AD lock inside the function,
so the call to cancel the AD calc_worker vsync thread cannot be within
the AD lock.
Change-Id: Ice78f43721916110f52c3393f78c3a1868976821
Signed-off-by: Ping Li <pingli@codeaurora.org>
Add support for torch mode by adding torch nodes to the
flash-led device for pmicobalt. Also update the dt-bindings
documentation accordingly.
CRs-Fixed: 1024187
Change-Id: I640106abcf05949f2570efd42f925f1f73bdaa81
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
Return the HAL buffer to avoid drain issue
and provide the get buf by index interface so clients
can get buffer based on index.
CRs-Fixed: 1018651
Change-Id: I20329a6834f5f1498388c39b1dd95db2896b3239
Signed-off-by: Hariram Purushothaman <hariramp@codeaurora.org>
There is a requirement to expose the settled input current limit via a
power supply property. Add it.
Change-Id: I1a7b77e3a64da245afd0c4f73c8d04627a061ada
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
dma address of secondary event ring, transfer ring and
device context base address are required to pass to
remote entity. Remote entity uses these addresses to
program xhci controller registers.
Change-Id: Ie0756d646a396a11b41b93e886bca9aff636ee5d
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Implement APIs to dynamically allocate and free secondary
event rings based upon interrupter number. Also add exported
APIs in usb core layer which allows secondary event ring
management via remote processor entity.
Change-Id: I5ee7d44d6cad8e35e22d3c1a027a1eec5d208585
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Adding helper API to find usb substream context information
using card number, pcm device number and direction. This usb
substream is used to enable/disable by issuing SET_ALT
command to device. Also add disconnect call back to perform
any clean up required.
Change-Id: I252f5171bd94b5ab096eb1a2f053f29a8c049c3b
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Update RX shutdown sequence so that codec
path gets tear down first followed by cpu dai.
This will avoid slim port underflow/overflows
when slim data protocol is changed.
Change-Id: I6e3582fa010d18d4e0ccfde319dfc4d81af1351f
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
Fix the soc_find_component function to make sure either the of_node or
the name is provided to compare against the registered components to fix
possible NULL pointer de-reference.
CRs-fixed: 925138
Change-Id: Ic1f02c341c06cadcfe6de638ff6c86e51845e59f
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
Add support of enable HW debug feature from ICNSS module parameter.
The setting will be passed to WLAN FW through QMI during subsequent
WLAN enable.
Change-Id: I02036d79fca38ff9ac71c70de8aa144b9cfb2f59
CRs-Fixed: 980027
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
Enable deep color only for msmcobalt platform. Furthermore,
adjust the pixel clock reported to the audio driver when
deep color is enabled so that it matches the clock configured
when the interface is turned on.
CRs-Fixed: 1034047
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Change-Id: I48a767f7673defe60156c305e39f1ce4aa44306b
get_user is not needed inside critical section. Move
it outside to avoid kernel crash due to sleeping
function called from invalid context.
Change-Id: I29a54dca6620dc75356067ce6ff9a0931b4d0724
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
Disable low power receiver and contention detection receiver
(LPRX and CDRX) along with lane LDOs when entering ULPS.
Similarly, enable LPRX, CDRX and the lane LDOs when exiting ULPS.
This fixes some issues where ULPS exit was failing resulting in
the display panel becoming unresponsive.
CRs-Fixed: 1035315
Change-Id: I3ed7eeb463aff6c77962d4f1d46b27e7fb5dd103
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Channel count for SLIM_RX_6 port cannot be set
since get_port_idx() returns invalid port id which
resulting in invalid channel configuration for headset
usecase. Fix by adding SLIM_RX_6 case in get_port_idx().
Change-Id: Iadd3e995d044198c711f744c11b62cec2f7902c0
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
The low power receiver (LPRX) and contention detection receiver (CDRX)
need to be enabled only for the physical data lane corresponding to the
logical data lane 0. Modify the code to implement this while accounting
for any possible data lane swap configurations.
CRs-Fixed: 1035315
Change-Id: I0082109fc3c0a56af3f181ae0b063c56aa7095f2
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Add the device for bridging an Inter-Processor Communication(IPC)
interrupt from a remote subsystem directed towards Qualcomm Technologies,
Inc. Secure Execution Environment(QSEE).
CRs-Fixed: 1021749
Change-Id: Ib86b3f70a71f222f0ddc1ea49c75cd7d94c47546
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
Add required settings for command mode and video
mode jdi lanscape panels in msmcobalt CDP/MTP. Add
panels to the list of supported panels so they can
be selected at runtime from kernel command line.
Change-Id: Iae1361997653784c4248b0d2ed2a7deac3bc4d4b
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Add support to configure the gpio51 that controls
the 5v supply required by multiple panels.
Change-Id: I45e190261330ffe2f742ae0c460fc53270e165c2
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Temperature sensor (TSENS) driver health monitor periodically
sets a very low temperature threshold on the critical trip zone
and polls to check if the trip is set. This is done on a deferred
workqueue and helps provide indication on the health of the
TSENS controller.
Change-Id: I4b16db429fead5c731dec289f0360682c92775b8
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
Temperature sensor (TSENS) driver provides clients ability
to read on-die temperature sensors. Update the total
number of sensors supported for msmhamster on TSENS
controller 1 and corresponding sensor controller index.
Change-Id: I8c9ba4ed230c94d124f9c02e9e18a77cdb6befa5
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
Temperature sensor (TSENS) driver provides ability to
thermal clients to read from on-die temperature sensors.
msmhamster supports reading from 20 on-die temperature
sensors and clients can set temperature thresholds and
receive notification.
Change-Id: I57e98f2182d0c44e9c7cffec3528bb926a878fb8
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
Temperature sensor (TSENS) driver supports perodic monitoring
of the TSENS controller and can cause a false positive on
RUMI and SIM platform if the temperature values are
not valid. Therefore disable the driver on these platforms.
Change-Id: I9d38f6f1580eafef9de841418b9a9f022ef30b69
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
Slimbus TX 7 and 8 would need to be connected to Slimbus RX 6
for different use cases using loopback in AFE. Updated necessary
routings for supporting the loopback.
CRs-Fixed: 1036018
Change-Id: I46c797a6550884bf42a2d7763590047d2e750906
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Currently VDD MX restriction feature monitors all tsens for low
temperature condition. Some targets which has higher MX restriction
thresholds shows frequent interrupts from multiple sensors causing
power impact.
Add support to monitor only one sensor for VDD MX restriction feature.
Add an optional device tree property "qcom,mx-restriction-sensor_id"
to specify sensor id for monitor. If not defined, monitor all tsens
for VDD MX restriction.
Change-Id: Ib709b00c27f43c2603ac8a08b75f2fbd5800983b
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
Enables the drivers for bridging an Inter-Processor Communication(IPC)
interrupt from a remote subsystem directed towards Qualcomm Technologies,
Inc. Secure Execution Environment(QSEE).
CRs-Fixed: 1021749
Change-Id: I7406d49369ccf3951f95f72136195a3630789453
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
The interrupt types for a few SMMU IRQs are incorrect. Fix them.
CRs-Fixed: 1037068
Change-Id: Ic45e1ec592bf0503d456ad1029e32dfea5d63bf1
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
Enable the run queue stats driver to support IRQ balancer.
CRs-Fixed: 1033709
Change-Id: I38694774013625d514fc9812b4b28c36f4a2471e
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
As per the GICv3 requirement, ISB or other context synchronization
operation is needed only during System register writes.
CRs-Fixed: 1035275
Change-Id: Ifbe4d974a295b90a511aa10bde5797a1f71972fc
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
The panel type sysfs node indicates the type of panel that
is currently in use, either video or cmd mode. This is
updated after every dynamic switch. Currently, this node
is updated to an invalid value during dynamic resolution switch.
Skip the setting as the mode is not changed during resolution
switch.
Change-Id: Ic002ad587eeade068561c0e9f1d29aeb1689ada5
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>