Update debug support for PBL and SBL dump on QCA6490 only.
Change-Id: Iedceb40eaead0613a9616d0cbe886bfee1893148
Signed-off-by: Manikandan Mohan <[email protected]>
Set offset as rwp offset when sw usb mode start to avoid the data
transfer delay issue. If use etr_buf offset as initial offset,
there will be interval between rwp offset and initial offset.
Then the delay will happen.
Change-Id: I92b4326a4c38384f68bd0c60f3b487d80b334325
Signed-off-by: Mao Jinlong <[email protected]>
To request a firmware file by request_firmware() is preferred.
Change-Id: I99d408793a3d52a664828cc35494d740531b0c68
Signed-off-by: Fei Mao <[email protected]>
Adjust following settings in frequency calibration sequence according to
HW recommendation:
1) Use 50% auto resonance detection error window.
2) Play for 150 ms before reading the calibration result.
Change-Id: Id43376f6878daedaf98b1d9065a3b0b363314add
Signed-off-by: Fenglin Wu <[email protected]>
Currently CNSS driver creates sysfs nodes from different paths.
Add support to create device sysfs group to consolidate the paths
so that it will be easy to extend in the future.
Change-Id: I9e923288018cad558d3cd591f08f73dcf9c60219
Signed-off-by: Yue Ma <[email protected]>
Add devm_device_add_group and devm_device_remove_group to qcom
whitelist to avoid build failure.
Change-Id: I68acc186ec509e2f556019b20cfa370dbd3bab06
Signed-off-by: Yue Ma <[email protected]>
Read device tree property qcom,l1ss-sleep-disable
to prevent sending L1SS sleep enable and disable
rpmsg to DRV processor. This support is added to
prevent PCIe link down caused due to manually
operating phy PLL.
Change-Id: I2f96f3dc186d3af0ffad110807204936af58814a
Signed-off-by: Hemant Kumar <[email protected]>
This change allows selecting the UFS Vcc voltage level by setting the
UFS's entry vcc-voltage-level in the device tree.
If UFS's Vcc voltage level setting is not found in the device tree,
use default values provided by the driver.
Change-Id: Ifc6856d63b672ed6b178f45fd5f139cb2fa56f15
Signed-off-by: Bao D. Nguyen <[email protected]>
When onlining a first memory block in a zone, pcp lists are not updated
thus pcp struct will have the default setting of ->high = 0,->batch = 1.
This means till the second memory block in a zone(if it have) is onlined
the pcp lists of this zone will not contain any pages because pcp's
->count is always greater than ->high thus free_pcppages_bulk() is
called to free batch size(=1) pages every time system wants to add a
page to the pcp list through free_unref_page(). To put this in a word,
system is not using benefits offered by the pcp lists when there is a
single onlineable memory block in a zone. Correct this by always
updating the pcp lists when memory block is onlined.
Change-Id: I5a0c5cc128481fdb48b9dc4e1fe2860f59e958e3
Signed-off-by: Charan Teja Reddy <[email protected]>
[[email protected]: resolved trivial merge conflicts]
Signed-off-by: Isaac J. Manjarres <[email protected]>
usb_get_controller_id() API shall returns non-negative number as valid id
related to USB controller if alias is found. Current code considers zero
as only valid controller id and doesn't update for secondary USB controller
(i.e. id as 1). This results into passing controller id as zero instead of
1 causing bus error when ADSP USB driver is trying to access primary USB
controller's register (it is supposed to access USB secondary controller's
register) when primary USB controller related clocks are voted off. Fix
this issue by updating check to consider all non-negative number as valid
number and updating same.
Change-Id: Id15edbdfd6c924000da18bbb82d0483d4d110d41
Signed-off-by: Mayank Rana <[email protected]>
Propagate following change from 4.19 to 5.4 for SPI driver.
'commit 67192635d468 ("spi: spi-geni-qcom: Check for zero length
transfer")'.
Change-Id: I27bdd8b544ba1bdaa0a868d2260c4f76c156c215
Signed-off-by: Vipin Deep Kaur <[email protected]>
Propagate following change from 4.19 to 5.4 for SPI driver.
'commit 634968af3a1f ("spi: spi-geni-qcom: Allow flexible MISO
sampling rate for SPI HLOS")'.
Change-Id: I5061cec80875e5fad4d25b04977b8ce1281818fd
Signed-off-by: Vipin Deep Kaur <[email protected]>
Propagate following change from 4.19 to 5.4 for SPI driver.
'commit 64485a92b029 ("spi: spi-geni-qcom: Check for Rx DMA channel
being null")'.
Change-Id: I0dc30e38d0cbbab21d26eeab17b40b14017d48ff
Signed-off-by: Vipin Deep Kaur <[email protected]>
Propagate following change from 4.19 to 5.4 for SPI driver.
'commit 185ecd35b11f ("spi: spi-geni-qcom: Reset the dma engine on
failure")'.
Change-Id: I3839d5bc773e7d7ea71ba6ff611f55f4869000f3
Signed-off-by: Vipin Deep Kaur <[email protected]>
Propagate following change from 4.19 to 5.4 for SPI driver.
'commit f5bcbeb4a2a1 ("spi-geni-qcom: Add shared_ee dtsi property
for spi driver")'.
Change-Id: Ic64d6a6e358ba5fd1898eaacfb72586cdab9184a
Signed-off-by: Vipin Deep Kaur <[email protected]>
Propagate following change from 4.19 to 5.4 for SPI driver.
'commit 22cec88da571 ("i2c: i2c-qcom-geni: Add lock and unlock
tre support in I2C GSI mode")'.
Change-Id: I1b92829cd04b379e48c34b09b5ab5ef4440ac0a8
Signed-off-by: Vipin Deep Kaur <[email protected]>
The binder driver makes the assumption proc->context pointer is invariant after
initialization (as documented in the kerneldoc header for struct proc).
However, in commit f0fe2c0f050d ("binder: prevent UAF for binderfs devices II")
proc->context is set to NULL during binder_deferred_release().
Another proc was in the middle of setting up a transaction to the dying
process and crashed on a NULL pointer deref on "context" which is a local
set to &proc->context:
new_ref->data.desc = (node == context->binder_context_mgr_node) ? 0 : 1;
Here's the stack:
[ 5237.855435] Call trace:
[ 5237.855441] binder_get_ref_for_node_olocked+0x100/0x2ec
[ 5237.855446] binder_inc_ref_for_node+0x140/0x280
[ 5237.855451] binder_translate_binder+0x1d0/0x388
[ 5237.855456] binder_transaction+0x2228/0x3730
[ 5237.855461] binder_thread_write+0x640/0x25bc
[ 5237.855466] binder_ioctl_write_read+0xb0/0x464
[ 5237.855471] binder_ioctl+0x30c/0x96c
[ 5237.855477] do_vfs_ioctl+0x3e0/0x700
[ 5237.855482] __arm64_sys_ioctl+0x78/0xa4
[ 5237.855488] el0_svc_common+0xb4/0x194
[ 5237.855493] el0_svc_handler+0x74/0x98
[ 5237.855497] el0_svc+0x8/0xc
The fix is to move the kfree of the binder_device to binder_free_proc()
so the binder_device is freed when we know there are no references
remaining on the binder_proc.
Fixes: f0fe2c0f050d ("binder: prevent UAF for binderfs devices II")
Signed-off-by: Todd Kjos <[email protected]>
(cherry picked from commit d35d3660e065b69fdb8bf512f3d899f350afce52
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git char-misc-linus)
Bug: 158252621
Git-commit: bf0e4f96e4
Git-repo: https://android.googlesource.com/kernel/common/+/refs/heads/android-5.4-stable
Change-Id: Icb74dba032540a67854deb00e1e78e32326717b6
Signed-off-by: Raghavendra Rao Ananta <[email protected]>
Execute the client's callback in a separate thread to avoid the
following deadlock situation:
- altmode_callback() calls the client's callback when a valid amclient
is found and program execution waits for it to finish.
- The client's callback calls altmode_send_data() to send the PAN_ACK.
- altmode_send_data() eventually calls altmode_write(), which is waiting
for the response_received to be "completed" in altmode_callback().
- For response_received to be "completed", altmode_callback() must
finish executing in order to process the USBC_CMD_WRITE_REQ message
received from the remote subsystem.
- altmode_callback() cannot finish executing until altmode_send_data()
returns.
- altmode_send_data() times out and passes on the error to the client.
Also perform the following:
- Add a check to ensure that the payload received from the remote
subsystem is at least 9 bytes long.
- Prevent out of bounds access for USBC_CMD_WRITE_REQ message (which is
of a different format than struct usbc_notify_ind_msg) by moving the
port_index reading to only the USBC_NOTIFY_IND message in
altmode_callback().
CRs-Fixed: 2713590
Fixes: 6c0ffc67e5 ("soc: altmode: Detect when remote subsys fails to respond")
Change-Id: I0f2c6ce0f843c43c9e7e301be9ff3ad913310f62
Signed-off-by: Guru Das Srinagesh <[email protected]>
When master interrupt is triggered, the victim interrupt status register
will also be set indicating the victim that got mitigated. APSS has to
clear this register as well to clear the master interrupt.
Add support to clear this victim interrupt status register when a master
interrupt is triggered.
Change-Id: I66d1ed64f0e0c440cf52a1252486164b65834a81
Signed-off-by: Ram Chandrasekar <[email protected]>
Channel spacing value is not updated to Radio
Config register.This leads to scan all valid station
in scan list.
Update the the Channel spacing value in Radio Config
register as per rtc6226 driver data sheet.
CRs-Fixed: 2721208
Change-Id: I40b3a32c916714b4db15279b7e6abaa22b85afad
Signed-off-by: himta ram <[email protected]>
Enable fixed and stub regulator and proxy consumer
support for sdxlemur.
Change-Id: I51ad8663806912832d01b51b794bf3b831d56d33
Signed-off-by: Kavya Nunna <[email protected]>
Update master and slave ID constants for SHIMA interconnect providers
which consumers can use to set bandwidth.
Change-Id: Ib53c2f1e28fdea1137de3851d3a2d4ad8268c8c3
Signed-off-by: Odelu Kukatla <[email protected]>
Add support to derive raw secret using HWKM instead
of using a plaintext value from the exported key.
This raw secret that is derived using HWKM is used
to derive the key identifier in fscrypt and also the
filenames encryption key.
Change-Id: Id1401555a2d01354753cbe708eb23dc091d2589f
Signed-off-by: Gaurav Kashyap <[email protected]>
Add master and slave ID constants for all Qualcomm Technologies, Inc.
SDXLEMUR interconnect providers which consumers can use to set bandwidth
constraints and find paths in the NoC (Network-On-Chip) topology.
Change-Id: I393a63ab5cecba803ed209e57fa737a13e68e33e
Signed-off-by: Naveen Yadav <[email protected]>
In case CVP has been powered on when DSP requested it.
Change-Id: Iaef50d37d842c34e1a11916bff63f4ef11949d4c
Signed-off-by: George Shen <[email protected]>
If etr driver data size is smaller than the sysfs buffer size,
it will read the data from the begainning of etr buffer repeatedly
when the actual read size plus the offset is greater than etr
driver data size. Compare with etr buffer size instead of etr
driver data size to fix this issue.
Change-Id: Ic523f8c5efd8348de7be80128a96d4e1ce867b9b
Signed-off-by: Mao Jinlong <[email protected]>