Commit Graph

1168812 Commits

Author SHA1 Message Date
Kalpak Kawadkar
9dd92cf1a2 arm64: defconfig: Add pwm support for NIOBE
Add pwm support for NIOBE platform.

Change-Id: I375958e1e1c5e341c31d997dda7c22a229c41742
Signed-off-by: Kalpak Kawadkar <quic_kkawadka@quicinc.com>
2024-08-23 15:56:41 +05:30
Kalpak Kawadkar
f7ab05e15e pwm: qcom: Add reset support functionality
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>
2024-08-23 15:56:36 +05:30
QCTECMDR Service
8197181c0a Merge "clk: qcom: rmph: Add support for PMIC clocks for NEO" 2024-08-20 06:36:29 -07:00
QCTECMDR Service
ca31215ba6 Merge "soccp: pas: vote for interconnects in D transition" 2024-08-20 06:36:29 -07:00
QCTECMDR Service
7c0ea1fd5b Merge "clk: qcom: gcc-niobe: Add pwm clocks to support pdm_pwm" 2024-08-20 06:36:28 -07:00
QCTECMDR Service
ba60b98b87 Merge "clk: qcom: Enabling slpi tlmm driver" 2024-08-20 03:06:48 -07:00
QCTECMDR Service
0f9f2f37c7 Merge "clk: qcom: Adding SSC_QUP clocks" 2024-08-20 03:06:48 -07:00
QCTECMDR Service
05c620ed0a Merge "clk: qcom: clk-branch: Add support for BRANCH_HALT_POLL flag" 2024-08-19 23:40:11 -07:00
Salam Abdul
a2d08f72ef clk: qcom: Enabling slpi tlmm driver
Enabling slpi_tlmm driver related config.

Change-Id: I2619ef913f9bfb6dfaf921614d48717c5e117908
Signed-off-by: Salam Abdul <quic_asalam@quicinc.com>
2024-08-19 16:31:12 +05:30
Richard Maina
a74419fcb6 remoteproc: qcom_q6v5_pas: Add hwspinlock bust on stop
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>
2024-08-18 22:32:31 -07:00
QCTECMDR Service
6240f0e843 Merge "power: supply: qti_battery_charger: Register wls_psy based on DT property" 2024-08-16 21:51:38 -07:00
QCTECMDR Service
ba5aaf474c Merge "cpuidle: governors: qcom-lpm: Fix runtime PM based cpuidle support" 2024-08-16 21:51:38 -07:00
QCTECMDR Service
f22f7a644b Merge "rpmsg: glink_cma: Add msg type to reclaim inbuf" 2024-08-16 21:51:38 -07:00
QCTECMDR Service
18e3d34661 Merge "usb: repeater: Add eUSB2 i2c repeater driver" 2024-08-16 15:40:46 -07:00
QCTECMDR Service
4c4707d22f Merge "defconfig: Enable Regulator related modules for neo" 2024-08-16 15:40:46 -07:00
QCTECMDR Service
6b74d47237 Merge "interconnect: qcom: Add snapshot of interconnect provider driver for neo" 2024-08-16 15:40:46 -07:00
QCTECMDR Service
9bffa30d36 Merge "soc: qcom: smem: Add qcom_smem_bust_hwspin_lock_by_host()" 2024-08-16 11:21:40 -07:00
QCTECMDR Service
3b2597cb75 Merge "power: reboot-reason: Check nvmen write return value" 2024-08-16 11:21:40 -07:00
QCTECMDR Service
abcb598989 Merge "soc: qcom: sysmon_subsystem_stats: Fix a potential null pointer dereference" 2024-08-16 11:21:39 -07:00
Rakesh Kundaram
f7cc38531a soc: qcom: sysmon_subsystem_stats: Fix a potential null pointer dereference
Fix a potential null pointer dereference issue
in sysmon subsystem stats.

Change-Id: I8ad500599b4d9e212a814abbd1b5f0dccdc6b3e6
Signed-off-by: Rakesh Kundaram <quic_krakeshk@quicinc.com>
2024-08-16 10:02:13 +05:30
Tony Truong
f49cd77f73 rpmsg: glink_cma: Add msg type to reclaim inbuf
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>
2024-08-15 16:43:00 -07:00
Tony Truong
f2ee42036a rpmsg: glink_cma: Use mutex for SSR locking
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>
2024-08-15 16:42:41 -07:00
Kalpak Kawadkar
fce407b7af clk: qcom: rmph: Add support for PMIC clocks for NEO
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>
2024-08-14 03:57:10 -07:00
Chris Lew
19f5ce8875 soc: qcom: smem: Add qcom_smem_bust_hwspin_lock_by_host()
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>
2024-08-13 22:48:13 -07:00
Kalpak Kawadkar
7dbfb58043 clk: qcom: gcc-niobe: Add pwm clocks to support pdm_pwm
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>
2024-08-14 10:12:11 +05:30
Kalpak Kawadkar
88af4d180a bindings: clock: qcom: Add gcc_pwm0_xo512_div_clk_src clock id
Add clock handle for gcc_pwm0_xo512_div_clk_src clock on NIOBE
platform.

Change-Id: Ib06b737c4fc74a5b2fecd25313ca56fdfe208ed9
Signed-off-by: Kalpak Kawadkar <quic_kkawadka@quicinc.com>
2024-08-14 10:11:23 +05:30
Maulik Shah
a5b38d6ff6 cpuidle: governors: qcom-lpm: Fix runtime PM based cpuidle support
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>
2024-08-13 21:27:21 -07:00
QCTECMDR Service
7cd339d42e Merge "soc: qcom: sysmon: Add null check for add_delta_time" 2024-08-13 13:36:25 -07:00
QCTECMDR Service
4eb8957387 Merge "drivers: nvmem: qfprom: Add keepout_regions for pineapple" 2024-08-13 13:36:25 -07:00
QCTECMDR Service
ddfcd39924 Merge "icc: dt-bindings: Add snapshot of endpoint IDs for interconnects for Neo" 2024-08-13 13:36:24 -07:00
QCTECMDR Service
f19948a686 Merge "coresight: tmc: etf: Free its buffer and set NULL when etf can't be enabled" 2024-08-13 08:27:42 -07:00
QCTECMDR Service
287a3b8b89 Merge "firmware: scm: Add checks for NULL pointer dereference" 2024-08-13 08:27:41 -07:00
Kalpak Kawadkar
abe45eaade clk: qcom: clk-branch: Add support for BRANCH_HALT_POLL flag
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>
2024-08-13 14:17:22 +05:30
Dhaval Radiya
cce6ec546e defconfig: Enable Regulator related modules for neo
Enable Regulator related modules for neo platform.

Change-Id: I140caa8a7a39e03b18228a5ba9994a76f09edd60
Signed-off-by: Dhaval Radiya <quic_dradiya@quicinc.com>
2024-08-13 14:14:23 +05:30
Odelu Kukatla
7d4a6cb9fb interconnect: qcom: Add snapshot of interconnect provider driver for neo
Add interconnect providers for config_noc, dc_noc, gem_noc,
lpass_ag_noc, mc_virt_noc, mmss_noc, nsp_noc and system_noc. This is
interconnect provider driver snapshot from msm-5.10 branch
commit 11aa9ca0c2da ("interconnect: qcom: Add interconnect
stubs for Neo").

Change-Id: If8ed95f84dc70a7040c0dda28dd8adf3df3678cd
Signed-off-by: Odelu Kukatla <quic_okukatla@quicinc.com>
Signed-off-by: Chintan Kothari <quic_ckothari@quicinc.com>
2024-08-13 13:26:14 +05:30
Wasim Nazir
3399cbff16 power: reboot-reason: Check nvmen write return value
Check return value to get proper error logs.

Change-Id: I77b33d2ac618ff029921cd751f2d2dde226b8064
Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com>
2024-08-12 23:47:08 -07:00
QCTECMDR Service
d34faa6089 Merge "net: stmmac: Enable Deep sleep support" 2024-08-12 13:14:20 -07:00
Odelu Kukatla
085040c09f icc: dt-bindings: Add snapshot of endpoint IDs for
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>
2024-08-12 08:29:17 -07:00
Kamati Srinivas
34b67414cf soccp: pas: vote for interconnects in D transition
Vote for interconnect when in D0, unvote when in D3.

Change-Id: I52f6170b1651b3d6bf508482d4ab35165fd395ca
Signed-off-by: Kamati Srinivas <quic_kamasrin@quicinc.com>
2024-08-12 14:58:13 +05:30
Srinath Pandey
a94a1330a1 net: stmmac: Add support for driver remove operation
Add driver remove feature for making
rmmod dwmac-qcom-eth successful.

Change-Id: If6334979a1f603fdd6d99a8d189ed84aa3a3afc7
Signed-off-by: Srinath Pandey <quic_srinpand@quicinc.com>
2024-08-12 01:59:13 -07:00
Shashank Shekhar
ff2b9fdf51 net: stmmac: Enable Deep sleep support
Add support for Deep sleep in ethernet driver.

Change-Id: I6255580b909088c0908674e446ca9d7599051498
Signed-off-by: Shashank Shekhar <quic_sshe@quicinc.com>
2024-08-11 23:36:29 -07:00
Wasim Nazir
ebd0bcb25c soc: qcom: sysmon: Add null check for add_delta_time
sysmon_smem_power_stats_extended pointer will be NULL
in case of invalid dsp_id.
Add NULL check for invalid dsp_id cases.

Change-Id: If4fe03051ff6388307ff137b55d4e15b2e0f88f1
Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com>
2024-08-12 12:01:14 +05:30
yingdeng
8a01c3ed0f coresight: tmc: etf: Free its buffer and set NULL when etf can't be enabled
In function tmc_enable_etf_sink_sysfs, the local variable buf
was allocated and assigned to drvdata->buffer, and buf will be
freed because etf can't be enabled, but drvdata->buffer
still point to the address.
So in function tmc_read_unprepare_etb, beacause drvdata->mode
is CS_MODE_DISABLED, local variable buf was assigned by
drvdata->buf and free again.

Change-Id: I7d25e7db0a983fc134e8d8dfb954936233f0d167
Signed-off-by: yingdeng <quic_yingdeng@quicinc.com>
2024-08-11 22:35:11 -07:00
Wasim Nazir
c787ac5c9f firmware: scm: Add checks for NULL pointer dereference
Add macro to check for __scm pointer before accessing.
Also add check for device pointer.

Change-Id: Ib3ef303fd9574bedd87077dcd62a480066d7a7d8
Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com>
2024-08-12 11:02:18 +05:30
QCTECMDR Service
46f5c0a0c2 Merge "bindings: clock: qcom: Snapshot for clock bindings on NEO" 2024-08-09 20:10:24 -07:00
Kalpak Kawadkar
b4d55a4b49 clk: qcom: clk-branch: Add support for sreg branch ops
Add support for SREG branch ops as sreg register operations
are needed as part of ASSERT/DEASSERT sequence.

Change-Id: Ic0cc76d5160cd34130afc460b07d5ec4e9ed85eb
Signed-off-by: Kalpak Kawadkar <quic_kkawadka@quicinc.com>
Signed-off-by: Chintan Kothari <quic_ckothari@quicinc.com>
2024-08-09 05:41:41 -07:00
QCTECMDR Service
1d2d060fae Merge "arm64: defconfig: Enable PDC, CPUidle goverrnor, stats driver for neo" 2024-08-09 02:11:27 -07:00
Abdul Salam
5f276b6954 clk: qcom: Adding SSC_QUP clocks
Adding SSC_QUP clocks for slpi.

Change-Id: Id2f5f14bd5e40eed0c8bfa30235d3702733f5f22
Signed-off-by: Abdul Salam <quic_asalam@quicinc.com>
2024-08-09 14:12:31 +05:30
QCTECMDR Service
25804bc944 Merge "ufs: qcom: Create sysfs node "ufs_pm_mode"" 2024-08-08 22:37:29 -07:00
QCTECMDR Service
12df14f1b4 Merge "Revert "soc: qcom: hgsl: enable memflag for hgsl allocation"" 2024-08-08 14:42:22 -07:00