This reverts commit a4ca7944f4.
There have been stability failures (SPM ack timeouts) due to
ACD. Reverting this patch until the issue is resolved.
CRs-Fixed: 2084607
Change-Id: I407e4ecc5bd7af738c0d0599d1fa57007e959495
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
The recharge SOC is based off the monotonic SOC (msoc). Hence, use
the msoc to determine if the hold-soc-while-full logic needs
to be applied.
CRs-Fixed: 2080211
Change-Id: I52b02adc4d97cbed42b0c8034a5a48dba1e343d3
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Add an option for the debug module parameter to skip device boot
during driver probe. This adds the flexibility to boot device
later after kernel boots.
Change-Id: Icd8a544149f3d6b0f4ca3e3f7e004d230c2469ab
CRs-fixed: 2059087
Signed-off-by: Yue Ma <yuem@codeaurora.org>
When floating charger is detected, driver first notifies -ETIMEDOUT to
PMI after 10 sec and then stops peripheral by simulating cable disconnect.
As part of disconnect it notifies PMI to draw 0ma which PMI re-interprets
as a SDP in bus suspend state and reconfigures PMI for SDP. Hence send
charger current notification only as part of cable disconnect simulation
by checking charger type.
Change-Id: Ibafe8d52fa14ff32b6cb11e9f6e15a4f3f147d7a
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Driver should directly call PCI ioremap API, and not customize
it with wrapper function which is only a WAR for QCA6290 chipset
emulation.
Change-Id: Icba3ce0ebbcef94d75a1713f4776524b909e5552
CRs-fixed: 2059087
Signed-off-by: Yue Ma <yuem@codeaurora.org>
Parentheses in 60 gHz band channels related regultory rule is
misplaced, due to which unable to change country code to JO.
To fix this, remove unwanted parentheses.
CRs-Fixed: 2084234
Change-Id: I655990f66929237cd4461462306eab9e66a08663
Signed-off-by: Rajeev Kumar Sirasanagandla <rsirasan@codeaurora.org>
In case of quick back-to-back insertion/removal of USB
there is a possibility that VBUS does not fall below the
1V usb-plugout threshold and hence the subsequent insertion
does not generate a plug-in event. This keeps the DPDM
regulator disabled at insertion thus impacting the APSD result.
Fix this by voting to enable the DPDM regulator in the cc-attach
handler.
CRs-Fixed: 2042071
Change-Id: I37a32081f0847965e34eb1c4114602ec61e9a005
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Prevent deadlock between tasklet and delete_stream by stopping
irq during delete_stream.
Change-Id: Ibcc9fd44403d24112b01150a7d1f3c6e705ea99a
Signed-off-by: Trishansh Bhardwaj <tbhardwa@codeaurora.org>
If policy max is set to less than or equal to hispeed_freq, governor can
get stuck in hysteresis mode as long as cpufreq_interactive_timer keeps
coming with in hysteresis period (max_freq_hysteresis). This is because
governor updates hysteresis start time (max_freq_hyst_start_time)
everytime new frequency is greater than or equal to policy max and
jump_to_max_no_ts flag is false. Irrespective of load new frequency in
this case will always end up at least at hispeed_freq due to hysteresis.
As policy max is set to less than or equal to hispeed_freq, this will
result in updating max_freq_hyst_start_time if jump_to_max_no_ts is
false. This will end up restarting hysteresis period. This mode will
break only if timer gets delivered after hysteresis period. Otherwise it
keeps extending.
To come out of this, don't update max_freq_hyst_start_time if new
frequency is bumped up to hispeed_freq due to hysteresis even though the
required frequency as per load is less than policy max and hispeed_freq.
Change-Id: Ib1e9e612036afeb12acd86e603b019e227920d85
Signed-off-by: Ramakrishna Gottimukkula <rgottimu@codeaurora.org>
Replace Multimedia14 and Multimedia18 with Multimedia26
and Multimedia27 respectively for transcode loopback
CRs-Fixed: 2077700
Change-Id: I40e6666882859a5699e86856a0b8769eb295f748
Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
When transfer buffer is larger than available space, uci driver will
split the transfer into multiple transactions. Driver incorrectly
calculated the transfer length and caused infinite transfer.
Simplify uci write method to avoid such bugs.
CRs-Fixed: 2083693
Change-Id: Ic7169cefda6a4637511ecfa3ce5ddde6f3d55f8c
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
Set ALLFLATOPTDIS bit in A5XX_VPC_DBG_ECO_CNTL register to
disable VPC all flat shading optimization. ALLFLATOPTDIS is
a hardware chicken bit value needs to be set one, to avoid
UI rendering corruption.
Change-Id: I39b5ad098daacbb1c3b0fc93963d82d477f70cc1
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
If a spinner is present, there is a chance that the load of
rwsem_has_spinner() in rwsem_wake() can be reordered with
respect to decrement of rwsem count in __up_write() leading
to wakeup being missed.
spinning writer up_write caller
--------------- -----------------------
[S] osq_unlock() [L] osq
spin_lock(wait_lock)
sem->count=0xFFFFFFFF00000001
+0xFFFFFFFF00000000
count=sem->count
MB
sem->count=0xFFFFFFFE00000001
-0xFFFFFFFF00000001
RMB
spin_trylock(wait_lock)
return
rwsem_try_write_lock(count)
spin_unlock(wait_lock)
schedule()
Reordering of atomic_long_sub_return_release() in __up_write()
and rwsem_has_spinner() in rwsem_wake() can cause missing of
wakeup in up_write() context. In spinning writer, sem->count
and local variable count is 0XFFFFFFFE00000001. It would result
in rwsem_try_write_lock() failing to acquire rwsem and spinning
writer going to sleep in rwsem_down_write_failed().
The smp_rmb() will make sure that the spinner state is
consulted after sem->count is updated in up_write context.
Change-Id: I96de9a65adedb35d1ee2c6c36dc7759c9b8f5d4d
Signed-off-by: Prateek Sood <prsood@codeaurora.org>
Per client lan statistics feature requires fetching data
from IPA Q6 and share it with user space application.
For UL firewall, v6 rules are sent to IPA Q6 in case of
whitelisting to allow only specific connections and drop
the rest of the connections.
Change-Id: I67e33c338f1d119e2e1a08ef462767e2e0cd6f1c
Acked-by: Abhishek Choubey <abchoube@qti.qualcomm.com>
Acked-by: Chaitanya Pratapa <cpratapa@qti.qualcomm.com>
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
Signed-off-by: Utkarsh Saxena <usaxena@codeaurora.org>
The patch frees the read workqueue structure after
scheduled workqueue processes the glink buffers and notifies
glink to avoid possible memory leak.
CRs-Fixed: 2083447
Change-Id: I4e562f9d1cbf02d8306e0a127835af85dfa5db23
Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>
Currently, flushing of control workqueue is happening
under protection which is causing a deadlock. The patch
fixes the issue by flushing the control workqueue on
immediate closure of channel.
CRs-Fixed: 2081948
Change-Id: I6a7b1ee7cbabf2974700e28fc62c6d8fa3d464ed
Signed-off-by: Mohit Aggarwal <maggarwa@codeaurora.org>
Currently, memshare allocates 5MB memory to diag client on
receiving requests from modem. With the patch diag client
will be considered guaranteed on sdm630 to avoid memory
allocation failure on modem SSRs. Also being guaranteed
client allocated memory will never be freed.
CRs-Fixed: 2054448
Change-Id: I7b0780d064a27e8ebca9d31747ce1f9c18d84fdb
Signed-off-by: Mohit Aggarwal <maggarwa@codeaurora.org>
Support Primary TDM Interface for automotive and use optional property
clk-attribute couple_no to mimic PCM mode.
CRs-Fixed: 2083327
Change-Id: I2ef32eac5ecd4740f0985a77241952abca4ebc52
Signed-off-by: Cong Tang <congt@codeaurora.org>