- Ensure proper configuration of USB wakeup interrupts for
DP_HS_PHY_IRQ and DM_HS_PHY_IRQ.
- Apply level high trigger when in host mode without a connected
device.
- Use edge rising trigger otherwise.
Change-Id: I5962baa53c5170c61bca7be389d38bf63894caea
Signed-off-by: Uttkarsh Aggarwal <quic_uaggarwa@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>
There are cases where the device receives an inbuf msg type related to
an ack and hold on to the buffer without it being reclaimed by the
driver. Add a new msg type, MSG_INBUF_RECLAIM, so the driver can reclaim
inbuf that the device no longer needs.
Change-Id: Id92371f06134569031ee3ea4454104f83f790561
Signed-off-by: Tony Truong <quic_truong@quicinc.com>
Incorrect use of spin lock leads to unexpected behavior when trying to
lock between SSR callback and main workqueue. Both SSR callback and main
workqueue calls functions which potentially can sleep within the spin
lock. Switch over to mutex as that is the proper locking mechanism for
these scenario.
Change-Id: I7637a42b3928b9e9f03789238aac275332c764bb
Signed-off-by: Tony Truong <quic_truong@quicinc.com>
Add snapshot of support of Graphics clock controller for clients
to be able to request for the clocks on NEO from msm-5.10 branch
commit df5992009e3c ("clk: qcom: gpucc-neo: Add support for GPUCC
clock driver").
Change-Id: I5dc73e4d29534e9996c3e87b92ee9a684f72ad90
Signed-off-by: Kalpak Kawadkar <quic_kkawadka@quicinc.com>
Signed-off-by: Chintan Kothari <quic_ckothari@quicinc.com>
Add snapshot of support of Global Clock Controller for peripheral
clock clients to be able to request for the clocks on NEO from
msm-5.10 branch
commit 65ec2ca93cf8 ("clk: qcom: gcc-neo: Add support
for GCC clock driver").
Change-Id: I2a77b55708376d5dda3d3137127267952002a718
Signed-off-by: Kalpak Kawadkar <quic_kkawadka@quicinc.com>
Signed-off-by: Chintan Kothari <quic_ckothari@quicinc.com>
Add the PMIC clocks required to be requested from
clients via RPMH clock driver.
Change-Id: I862816903386043579203ee2a255945ba5b260d2
Signed-off-by: Kalpak Kawadkar <quic_kkawadka@quicinc.com>
Signed-off-by: Chintan Kothari <quic_ckothari@quicinc.com>
Add qcom_smem_bust_hwspin_lock_by_host to enable remoteproc to bust the
hwspin_lock owned by smem. In the event the remoteproc crashes
unexpectedly, the remoteproc driver can invoke this API to try and bust
the hwspin_lock and release the lock if still held by the remoteproc
device.
Change-Id: Ia9b3169586a75908f8f6e7e831b6a42ee585f9f7
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
Reviewed-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Link: https://lore.kernel.org/r/20240529-hwspinlock-bust-v3-3-c8b924ffa5a2@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Git-commit: 2e3f0d693875db698891ffe89a18121bda5b95b8
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[quic_deesin@quicinc.com: Bust function in core hwspinlock module is not
available downstream due to KMI freeze, directly use bust function
exported by qcom hwspinlock module]
Signed-off-by: Deepak Kumar Singh <quic_deesin@quicinc.com>
Add gcc_pwm0_xo512_div_clk_src as parent of gcc_pwm0_xo512_clk
to support the pdm_pwm functionality on NIOBE platform.
Change-Id: I719ac8405dcc9460d5d3346a1ee52ad4555aba11
Signed-off-by: Kalpak Kawadkar <quic_kkawadka@quicinc.com>
In the cpuidle-psci case, runtime PM in combination with the generic
PM domain (genpd), may be used when entering/exiting a shared idle
state. More precisely, genpd relies on runtime PM to be enabled for
the attached device (in this case it belongs to a CPU), to properly
manage the reference counting of its PM domain.
This works fine most of the time, but during system suspend in
dpm_suspend_late(), the PM core disables runtime PM for all devices.
Beyond this point, calls to pm_runtime_get_sync() to runtime resume
a device may fail and therefore it could also mess up the reference
counting in genpd.
To fix this problem, let's call wake_up_all_idle_cpus() prior to
disabling runtime PM. In this way a device that belongs to a CPU,
becomes runtime resumed through cpuidle-psci and stays like that
because idle governor will stop selecting deeper idle state when
suspend is started.
Change-Id: I8e046aa9b904ada09c0138499766d6362a9795be
Signed-off-by: Maulik Shah <quic_mkshah@quicinc.com>
Usecases where branch clock will be enabled pre-HLOS and
expectation from the clock provider is to poll on the clock
to ensure it is indeed enabled and not HW gated, thus add
the BRANCH_HALT_POLL flag.
Change-Id: If41a65c64755d062721266ca7ea97822102115a1
Signed-off-by: Kalpak Kawadkar <quic_kkawadka@quicinc.com>
Signed-off-by: Chintan Kothari <quic_ckothari@quicinc.com>
interconnects for Neo
Add master and slave ID constants for all Qualcomm Technologies, Inc.
Neo interconnect providers which consumers can use to set bandwidth
constraints and find paths in the NoC (Network-On-Chip) topology.
This is a snapshot taken from 5.10 kernel.
commit c1275fdbd5e2 ("icc: dt-bindings: add endpoint IDs for
interconnects for Neo").
Change-Id: I2c0e62f96ba6288b6903f0dd13a2d68aa7b3ec49
Signed-off-by: Odelu Kukatla <quic_okukatla@quicinc.com>
Signed-off-by: Chintan Kothari <quic_ckothari@quicinc.com>