The flash-led switch node must vote on the pmicobalt BoB
regulator. Hence, add this regulator node to that.
CRs-Fixed: 1024187
Change-Id: Ic4ec03e4fd545d44118c2225a3f8e26901ca1d81
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
Add support to control regulators required for
flash-led. The pmicobalt_bob regulator is one
such regulator required by the flash-led device.
CRs-Fixed: 1024187
Change-Id: I1515fba2fb04c0b4d21828af3cea6d322262ab14
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
Flash LED is a high energy aggregator from system as it is capable
to provide current up to 3750mA for illumination. Therefore, it
should be used with caution especially when battery state of charge
is low. Therefore, add a function which can be used by clients like
camera to query the flash current limit before using flash LED. This
protects the system from a possible UVLO condition.
CRs-Fixed: 964855
Change-Id: I17fa4f28cc151e3a3ad89d284995a3fa770bec68
Signed-off-by: Chun Zhang <chunz@codeaurora.org>
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
Flash LED module supports various kinds of strobe support. Strobe
type can be hardware or software, active high or low, and level or
edge trigger. Add support for configuring strobe type through
device tree properties.
CRs-Fixed: 1024187
Change-Id: Ief6a610c82b7f645966c596f543a1d30f7a40dcc
Signed-off-by: Chun Zhang <chunz@codeaurora.org>
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
During SSR(subsystem restart), add a delay when ADSP state
is not yet ready. This will avoid excessive logging when
ADSP state is not ready.
Change-Id: I7e127d97cdd22409d4e70788a7cf2013593d3bfe
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
It is possible that core service can register with APR in
different contexts and may result in apr_register returning
EALREADY error while core service gets a NULL handle.
Avoid the race condition by holding command lock to ensure
that apr_handle does not get overwritten.
Change-Id: I8863185651fde8d29b5b8d8f183544bf0f215dbe
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
Increase the maximum video buffers to 64 as with camera 64
buffers are allocated and used.
CRs-Fixed: 1039456
Change-Id: I37d91c4f7e5d98333cf6be3c75168e134ae78060
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
With smmu enabling, ipa3_pre_init is actually
probed twice and causing the crash, the fix
is to do only once.
Change-Id: I20bd718c8cb70029c4dd46c52dbece326b90ef80
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
The HDR data block indicates the HDR capabilities of the sink:
electro-optical transfer function, static metadata descriptor,
desired content max luminance data, desired content max
frame-average luminance data, and desired content min luminance
data. This data parsed from the EDID block and provided to
clients via a sysfs node.
Change-Id: Ib78c315a43e98af4ea454998bc7ca8428522d5c0
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Increase PCM capture period size to support recording
instances that require bigger buffers.
The maximum period size in bytes is calculated as 61440
[3840(frames) * 4 (max channels) * 4 (frame size)].
Change-Id: I130e1ad9aaa128c7b94ae70edc52b3f16439cb27
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
Hardware characterization has shown that it is safe to operate
the MSMCOBALT GPU at a lower voltage for most frequencies.
Update the VDD_GFX CPR open-loop and closed-loop voltage
adjustments as well as the max floor to ceiling voltage ranges
according to characterization results.
Change-Id: Ifdcf7eaac0b29a2c68b7d95085f93df4fc34e751
CRs-Fixed: 1040269
Signed-off-by: David Collins <collinsd@codeaurora.org>
MPM initialization happens during pin control probe. If any driver where
to request a IRQ before pinctrl probe, MPM is unaware of this and the
interrupt isn't monitored for wakeup.
The MPM for GIC interrupts only, pinctrl configuration will be done when
pinctrl driver is probed as always earlier.
Change-Id: Ib40a61c9cc93e95f5dcde7293911086dcf0b3c2f
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
While working on PCMark Photo Editing regression, found that
binder transactions sometimes take really long time 70+ms.
The reason for these long durations was cgroup write calling
percpu_down_write, which in turn calls synchronize_rcu.
This issue is very generic and impacts multiple real-world
use-cases involving all binder transactions.
- All the launch applications also show it.
- Systrace below is captured during launch of helloworld application.
Systrace clearly shows the regression:
Thread of interest: 562
Binder:528_1-562 ( 528) [000] ...1 57.877862: \
tracing_mark_write: B|528|Write
Binder:528_1-562 ( 528) [000] .... 57.877905: \
__cgroup_procs_write.isra.30: percpu_down_write --> begin
Binder:528_1-562 ( 528) [003] .... 57.926479: \
__cgroup_procs_write.isra.30: percpu_down_write --> end
To mitigate these performance issues, set rcu_expedited to use
expedited grace-period primitives.
CRs-Fixed: 1025554
Change-Id: I1a6e694591f41d6c3449e3f3d976650df93c5645
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
We are currently calling the non-fabia PLL init sequence
from the fabia PLL handoff function. Correct that to use
the fabia specific init sequence instead.
CRs-Fixed: 1040254
Change-Id: If68bf5caeae35f35a534dcbe585057e78a57dbda
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
After sub system restart, opening glink channel while
lpass transport is not up results in failure and returns
error pointer. APR glink client although returns error for
the first glink command, does not set the apr handle to NULL
and incorrectly assumes err pointer as a valid handle when
opening the channel again.
Fix this by updating the apr handle to NULL when glink_open()
fails.
Change-Id: I53a219b1ebed5bc3593d500d80d580aac6431ab5
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
Compare ion handles in driver instead of matching fds
to check if a buffer is already mapped or not.
Bug: 28747768
CRs-Fixed: 1026885
Change-Id: Ifd18d8689351c4a6a22c988d359fb413be19e142
Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>
Signed-off-by: Praveen Chavan <pchavan@codeaurora.org>
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
Signed-off-by: Abdulla Anam <abdullahanam@codeaurora.org>
Signed-off-by: Amit Shekhar <ashekhar@codeaurora.org>
userptr may or may not be a null-value. Checking for this field
to qualify a plane as extradata has no merit. Ignore that check.
Bug: 28747768
CRs-Fixed: 1026885
Change-Id: I08d85ef462f09003aaa17f6ebc5d27de7083796f
Signed-off-by: Praveen Chavan <pchavan@codeaurora.org>
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
Signed-off-by: Amit Shekhar <ashekhar@codeaurora.org>
Initialize return values to their default before being
used.
Change-Id: Ie4dd908657573e5110bce65931d5507125da4c40
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
Return error on data allocation failure to prevent use
after free case.
Change-Id: I9d173756e277c9006220c02c209309167f179609
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
Add HDMI audio back end and associated apis to
configure channel, format and sample rate to
enable audio over HDMI.
Change-Id: Ieef8a2658f9730a9268041ac93ea3958489f2eae
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
Add device tree entries to enable audio
over HDMI.
Change-Id: Ie9bb609f9681580d90e5ec35b89e587758c272d4
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
In wil_p2p_listen chan is checked to protect against NULL
pointer access only before setting channel = chan->hw_value.
Add a global parameter check to cover all accesses to chan.
Change-Id: Ib975c99b3b87998c357251a37f4862cbbf68697d
CRs-Fixed: 1026286
Signed-off-by: Maya Erez <merez@codeaurora.org>
Add a module parameter alt_ifname that when set, will name
the primary network interface wigig<N> instead of the default
wlan<N>. This helps platforms such as android where we need to
clearly separate the WIGIG interface from the default wireless
interface.
Change-Id: Ie1cd3ccf777e84665075bc3b6d9fffa7d897de49
CRs-Fixed: 982931
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
The count debugfs node is used to set the number of registers to read
starting at the given address. Initialize this to 1 so that data will
produce at least one entry if the count is not specified.
Change-Id: Ia0d2f5f0e145a735ab565a4530a17d83f832bb88
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
This reverts commit 1681bd4286bc ("msm: vidc: Handle encoder
input in true dynamic mode") Keep iova mappings of encoder
input buffers as we move towards a handle based mapping and
encoder input buffers once allocated are maintained through-
out the session.
CRs-Fixed: 1026885
Change-Id: Ib6df539c5e04ba4eefed59355fd13191f85492d8
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
Signed-off-by: Amit Shekhar <ashekhar@codeaurora.org>
WLAN module supports LRO, so enable CONFIG_INET_LRO.
Remove it from defconfig to enable as Kconfig has default set to enable.
CRs-Fixed: 1035499
Change-Id: I0e31c6973eca1c7e9f9e0b57c0085716bfdb5ddb
Signed-off-by: Manjunathappa Prakash <prakashpm@codeaurora.org>
This change extends the existing LRO module to use the
hardware assits provided by certain NICs thereby reducing
the CPU utilization.
CRs-Fixed: 1035499
Change-Id: I4ed497c69042a4d15f9340f91d60c262ca79a36b
Signed-off-by: Dhanashri Atre <datre@codeaurora.org>
Temperature Sensor (TSENS) provides an interface to
clients to read the on die temperature from supported
sensors. Add Temperature sensor support for msmfalcon.
Change-Id: I7df66f91396f9c3fbb7d7d9c39d5eb0267511fc8
Signed-off-by: Rama Krishna Phani A <rphani@codeaurora.org>
Temperature sensor (TSENS) driver provides ability to
thermal clients to read from on-die temperature sensors.
msmfalcon supports reading from 14 on-die temperature
sensors and clients can set temperature thresholds and
receive notification.
Change-Id: I9421af7d1b2b83abb81af38fab5f7c6e9285a29d
Signed-off-by: Rama Krishna Phani A <rphani@codeaurora.org>
The nl80211 layer expects P2P search operation to be aborted
if needed when stopping P2P device. If the P2P search operation
is still running after returning from stop_p2p_device
it causes a WARN_ON and possibly a kernel crash.
Fix this by aborting the P2P search in wil_cfg80211_stop_p2p_device
and preventing P2P search from being started on a stopped P2P
device.
Note, the fix does not cover the case where a regular scan
is started on the P2P device. It will be completed in the
future when support is added for aborting a scan operation.
Change-Id: Ief940806df63f9836cfcab23b4ec3bb667fcd2c6
CRs-Fixed: 1026249
Signed-off-by: Lior David <liord@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
If a free page is not found in a particular pool, we
fall back to lower order pools. While doing so make
sure we dont do that when already in zero order pool.
For zero order(pool_idx = 0) pool, (pool_idx-1) value
becomes -1 that is invalid and compiler throws the error
that array subscript is below bounds.
This problem is exposed when we enable kernel config option
"CONFIG_ALLOC_BUFFERS_IN_4K_CHUNKS" which will force only
zero order pool and hence the index value calculation to -1.
Change-Id: I81e8a1e79cd974b7a13a9d23cb3d809464b6dcda
Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
There is a possibility of dwc3 irq being fired as soon as
it gets enabled by tasklet handler. As a result dwc3 hard irq
handler disables the irq and schedules tasklet. If tasklet is
still running, tasklet_schedule becomes no op and dwc3 irq
remains disabled permanently. Fix this issue by handling irq
in threaded context with IRQF_ONESHOT flag set. Also update
the shared irq flag in xhci platform driver for irq registration
in HCD driver.
CRs-Fixed: 1038421
Change-Id: I9291cb08c4597922131b8c2d420e834a00a72621
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
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>