Currently, if APPS sends more than 10 requests to RPM, glink
hard interrupt service function is unable to process more than 10
acknowledgements.
Increase the loop iterations to 15 to process up to 15 acknowledgements
in the hard interrupt context.
Change-Id: Ief7385f21d5853275a2b90438181c93a01c76f78
Signed-off-by: Pranav Mahesh Phansalkar <quic_pphansal@quicinc.com>
Replace the linked list-based import warehouse with an RB tree-based
one to improve the performance of import and unimport operations when
there is an excessive amount of exp_desc nodes.
Change-Id: I2685d28060902b69994325d05c9475ad70e27737
Signed-off-by: lixiang <quic_lixian@quicinc.com>
Enable socinfo and dependent drivers for Seraph SoC.
Add socinfo and dependency modules in first stage list.
Change-Id: I80937e6ecf97e13c5e980434e52f4acd6b45c3d3
Signed-off-by: Navya Vemula <quic_nvemula@quicinc.com>
Add pinctrl config to support pin control in Seraph SoC. Add seraph
pinctrl module to list of first stage module list. Add dependent
QCOM_SCM config support and SCM module for seraph SoC.
Change-Id: I9703ff9b04eb6646008f52226b600e8e90470cb7
Signed-off-by: Navya Vemula <quic_nvemula@quicinc.com>
In the host mode suspend scenario, the dwc3 core executes
dwc3_core_exit, which suspends the USB PHYs and turn off the clocks.
Later, during the dwc3-msm PM suspend, it invokes notify_disconnect to
the PHYs. As part of the SS PHY disconnect, it attempts to power down,
leading to a NOC error. To address this, a check has been added to
enable the clock during the power-down process.
Change-Id: I6040c431dea4a693a7226dc3006c099eb43bce43
Signed-off-by: Faisal Hassan <quic_faisalh@quicinc.com>
Add pwm reset support so that for each frame, period and
duty_cycle can be changed dynamically. While at it, also
update the pdm_pwm_free API with PWM disable functionality.
Change-Id: I64ecd4a8cec948d56cb89e7a5ae4b30e70cb9f3e
Signed-off-by: Kalpak Kawadkar <quic_kkawadka@quicinc.com>
TCSR_SOCCP_SLEEP_STATUS is updated when SOCCP starts wakeup process
and is not done processing the sleep request, Check the D0 state
transition by polling on SOCCP_SPARE register.
Change-Id: I7a00ec58f99ca748857e93ce4aab5a8dcc126faf
Signed-off-by: Gokul krishna Krishnakumar <quic_gokukris@quicinc.com>
Signed-off-by: Kamati Srinivas <quic_kamasrin@quicinc.com>
Clear the master kernel bit if the SOCCP does not honour the
APPS request for a state change.
Change-Id: I5a6747973ed87e4c7f0d9074ef8da56925d2a927
Signed-off-by: Gokul krishna Krishnakumar <quic_gokukris@quicinc.com>
Signed-off-by: Kamati Srinivas <quic_kamasrin@quicinc.com>
This reverts commit a8ce5c2552.
TCSR register read can be solely relied upon for D0 confirmation.
Change-Id: I9cb11a13313d2a9964efdc02a77b698b62268070
Signed-off-by: Kamati Srinivas <quic_kamasrin@quicinc.com>
When Slave receives sleep command from host it requires 1msec to handle
the sleep due to HW limitation. Host should wait some time >1ms after
sending sleep command and before initiating next command to slave.
Added changes to check for slave_sleep_lock and wait for 2msec to
initiate transfers from host post sleep command.
Change-Id: Id333e2acecdb0ab169565f343b27d61952fb9471
Signed-off-by: Chandana Kishori Chiluveru <quic_cchiluve@quicinc.com>
Keeping enable GPIO always high leads to higher power consumption,
even in RBSC, when the regulator is not in use. Toggle GPIO to high
state only when regulator is enabled and toggle it low after regulator
disable to avoid power consumption when the regulator is not in use.
Change-Id: Ic2f9c0ef350051776f094e55e6fb4967b0d45248
Signed-off-by: Jishnu Prakash <quic_jprakash@quicinc.com>
Enable the interconnect driver so that consumers are
able to obtain their path handles properly.
Change-Id: Iaddfe9f00152d68a8ed2ee655df487ded0c2a5c0
Signed-off-by: Chintan Kothari <quic_ckothari@quicinc.com>
Add tcsrcc and gdsc-regulator modules to modules list on NEO platform,
to enable it to load during first stage init.
Change-Id: I8feb175c570abbc3e0a458615f2d1f08e0444f71
Signed-off-by: Chintan Kothari <quic_ckothari@quicinc.com>
Add support for seraph pin configuration and control
in pinctrl framework.
Change-Id: I0673e080925601ba53f142279258d79af33d3aac
Signed-off-by: Navya Vemula <quic_nvemula@quicinc.com>
Currently bootloader does the following to calculate the authentication
tag slot number.
authslot = NrMetaPages + NrCopyPages + NrSwapMapPages +
HDR_SWP_INFO_NUM_PAGES
However, with compression enabled, we cannot apply the above logic to
get the authentication slot number. So this data should be provided to
the bootloader for decryption to work.
The current implementation doesn't make use of the swap_map_pages
for restoring the hibernation image. Use the slot number of the first
swap_map_page to store the authentication tag slot number.
Change-Id: Iddfb98cc5adc7bd79c0f52f3f5d64ad282efc9b4
Signed-off-by: Nikhil V <quic_nprakash@quicinc.com>
In case of hibernation with compression enabled, 'n' number of pages
will be compressed to 'x' number of pages before being written to the
disk. Keep a note of these compressed block counts so that bootloader
can directly read 'x' pages and pass it on to the decompressor. An
array will be maintained which will hold the count of these compressed
blocks and later on written to the disk as part of the hibernation
image save process.
Change-Id: If48cd5c396eda674467b3d40c75ad3c2e91c2e5e
Signed-off-by: Nikhil V <quic_nprakash@quicinc.com>
Currently, it seems due to ffs_ep being a local struct in upstream file
the ffs_ipc_log has defined a local copy of it for it's use.
However any mismatch in this might lead of th dependent structures
being unstable or corrupted due to this ambiguity.
Fix this by aligning the local ffs_ep structure defined in upstream
and downstream files.
Change-Id: Ia52c141deb49c0beaba31a59fa88ae58f8aaf5ea
Signed-off-by: Udipto Goswami <quic_ugoswami@quicinc.com>
Due to temporary or long term pinning, offline may take longer
due to migration and pasr hal may not respond until it's complete.
Signal to stop the memory offline operation after a specified time value.
Change-Id: Ia78f71c2baf040b2a127cf731c95803cec66628a
Signed-off-by: Charan Teja Reddy <quic_charante@quicinc.com>
Signed-off-by: Pratyush Brahma <quic_pbrahma@quicinc.com>
While mem-offline tries to get section allocated memory,
it takes a zone lock to go over all pfns in the block.
As the pfn walk can take significant time, the lock can
be held for longer and interrupts would be disabled for
long (reportedly more than 1.25 ms on some targets).
This is unnecessary since approximation of the allocated
bytes should suffice. Remove the unnecessary
zone locks.
Change-Id: I8042cca7a796823d4d580623df99fad61053e0ea
Suggested-by: Pavankumar Kondeti <quic_pkondeti@quicinc.com>
Signed-off-by: Pratyush Brahma <quic_pbrahma@quicinc.com>
Resolve the low tput issue for vlan packets by disabling
the non-supported vlan filters.
Change-Id: Iefb099e5bae66674556e0d672854a6b9a94a25be
Signed-off-by: Uppalamarthi Sowmya <quic_usowmya@quicinc.com>
When remoteproc goes down unexpectedly this results in a state where any
acquired hwspinlocks will remain locked possibly resulting in deadlock.
In order to ensure all locks are freed we include a call to
qcom_smem_bust_hwspin_lock_by_host() during remoteproc shutdown.
For qcom_q6v5_pas remoteprocs, each remoteproc has an assigned smem
host_id. Remoteproc can pass this id to smem to try and bust the lock on
remoteproc stop.
This edge case only occurs with q6v5_pas watchdog crashes. The error
fatal case has handling to clear the hwspinlock before the error fatal
interrupt is triggered.
Change-Id: I67bf5e740cd5e8964e5c21127dcd6c5555c54d54
Signed-off-by: Richard Maina <quic_rmaina@quicinc.com>
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
Link: https://lore.kernel.org/r/20240529-hwspinlock-bust-v3-4-c8b924ffa5a2@quicinc.com
Git-commit: 568b13b65078e2b557ccf47674a354cecd1db641
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
[quic_deesin@quicinc.com: Updated smem_host_id values only for niobe adsp and cdsp, not added the same for sm8550 and sm8650]
Signed-off-by: Deepak Kumar Singh <quic_deesin@quicinc.com>
Implement new cl45 indirect read/write API in emac_mdio_fe.
Change-Id: I332ec63ecdbc68ad5a7622ef0725935a62c7d9f9
Signed-off-by: jizho <quic_jizho@quicinc.com>
Remove IRQF_ONESHOT flag as it disables incoming interrupts
while running threaded irq.
Change-Id: Ieb045e8aee3fc3b179fc7e7517064ba1c76a4483
Signed-off-by: Pranav Mahesh Phansalkar <quic_pphansal@quicinc.com>
(cherry picked from commit ba3c82504e)
Check the return value of native rx function in threaded
interrupt.
Read the data from fifo until the return value is 0.
Change-Id: I7a66707ed942fd5e37c496db91709b9ce0a306d8
Signed-off-by: Pranav Mahesh Phansalkar <quic_pphansal@quicinc.com>
(cherry picked from commit e6d9f686f4)