Commit Graph

1169377 Commits

Author SHA1 Message Date
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
Navya Vemula
c6d30aa4cf soc: qcom: socinfo: Add soc-id support for Seraph
Add seraph target support to SoC name-id mapping list.

Change-Id: I8baee64f03b4b4cc13ed4f77a6f09adb51ffab72
Signed-off-by: Navya Vemula <quic_nvemula@quicinc.com>
2024-08-16 21:35:25 +05:30
Priyanka G Pai
1a6163e69c msm: npu: Add NPU driver support for kernel 6.1
NPU driver snapshot from msm-5.15 branch
commit f5053f87777d ("msm: npu: Fix OOB issue in
IPC between driver and firmware").

Change-Id: Iea68b912dd7efd9a979969a91fb38d3611e3ff8c
Signed-off-by: Priyanka G Pai <quic_pgpai@quicinc.com>
2024-08-15 22:14:05 -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
e06e41fa8e clk: qcom: tcsrcc-neo: Snapshot of tcsrcc driver for NEO
Add snapshot of tcsrcc driver, which provides support for
miscellaneous top-level clocks on NEO from msm-5.10 branch
commit 2a83a5d9c328 ("clk: qcom: tcsrcc: Add initial
tcsrcc driver").

Change-Id: Ieb38addadc96f98ff94475fd9eb14e0a77788d9e
Signed-off-by: Kalpak Kawadkar <quic_kkawadka@quicinc.com>
Signed-off-by: Chintan Kothari <quic_ckothari@quicinc.com>
2024-08-14 04:46:23 -07:00
Kalpak Kawadkar
ff588cfe76 clk: qcom: debugcc-neo: Snapshot of DEBUGCC driver for NEO
Add snapshot of support of Debug Clock controller for clock
measurement on NEO from msm-5.10 branch
commit 372d104af18c ("clk: qcom: debugcc-neo: Add support for DEBUGCC
for NEO").

Change-Id: I9c1e41f5e37be08538aa4e1981512905994a5424
Signed-off-by: Kalpak Kawadkar <quic_kkawadka@quicinc.com>
Signed-off-by: Chintan Kothari <quic_ckothari@quicinc.com>
2024-08-14 04:46:13 -07:00
Kalpak Kawadkar
fc3f1111a7 clk: qcom: videocc-neo: Snapshot of VIDEOCC driver for NEO
Add snapshot of support of Video Clock Controller for video clients to
be able to request for the clocks on NEO from msm-5.10 branch
commit 088fac3b0656 ("clk: qcom: videocc-neo: Add support for
VIDEOCC on NEO").

Change-Id: Ic24b7f1a47b32fa8ad3d94cf62e006dc52ef57aa
Signed-off-by: Kalpak Kawadkar <quic_kkawadka@quicinc.com>
Signed-off-by: Chintan Kothari <quic_ckothari@quicinc.com>
2024-08-14 04:46:01 -07:00
Kalpak Kawadkar
7e44e7aedc clk: qcom: dispcc-neo: Snapshot of DISPCC driver for NEO
Add snapshot of support for display clock controller, for display clients
to be able to request for clocks on NEO platform from msm-5.10 branch
commit eaf8cad86891 ("clk: qcom: dispcc-neo: Add support for
DISPCC on NEO").

Change-Id: Id4652573afb68ea2b9727fc6c430efec775721ac
Signed-off-by: Kalpak Kawadkar <quic_kkawadka@quicinc.com>
Signed-off-by: Chintan Kothari <quic_ckothari@quicinc.com>
2024-08-14 04:45:45 -07:00
Kalpak Kawadkar
a4c4f7b03f clk: qcom: camcc-neo: Snapshot of CAMCC driver for NEO
Add snapshot of support of camera clock controller for camera clients
to be able to request for the clocks on NEO from msm-5.10 branch
commit 1265980b9a01 ("clk: qcom: camcc-neo: Add support for
CAMCC on NEO").

Change-Id: I409cacf7d7dc6691cdccbc505ba805529111b3c9
Signed-off-by: Kalpak Kawadkar <quic_kkawadka@quicinc.com>
Signed-off-by: Chintan Kothari <quic_ckothari@quicinc.com>
2024-08-14 04:45:28 -07:00
Kalpak Kawadkar
a0c89f0f4a clk: qcom: gpucc-neo: Snapshot of GPUCC driver for NEO
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>
2024-08-14 04:45:05 -07:00
Kalpak Kawadkar
f2ff920d1c clk: qcom: gcc-neo: Snapshot of GCC driver for NEO
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>
2024-08-14 04:44:53 -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
Linux Build Service Account
0a16f7d4ab Merge 140cf74d5e on remote branch
Change-Id: I7b2590f11a9e917ec867c0bc1afa79d99a7b27bb
2024-08-14 02:35:06 -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
QCTECMDR Service
a83c3694ff Merge "rpmsg: native: Remove IRQF_ONESHOT flag" 2024-08-08 11:08:49 -07:00
Ram Kumar Dwivedi
4ab95acc04 ufs: qcom: Create sysfs node "ufs_pm_mode"
In some HQX targets (where Linux is running as guest OS),
when S2R is triggered from host OS, the GVM is sent to
Deep Sleep state.

Since Deep Sleep is getting triggered from Guest point of view,
ufs spm level is set to 5, Power OFF SSU command is sent to the
ufs device and all regulators are turned off from ufs. But since
it is actually an S2R event from Host PoV, the  regulators are
not turned off by the PMIC. This is causing power leakage.

To fix this issue, create a sysfs node "ufs_pm_mode". The Host OS
will write to this node which the event (S2R or Deep Sleep) is
getting triggered at the Host. UFS will set the correct spm level
accordingly. For S2R case, the default spm level is retained while
for Deep Sleep it is set to 5.

The default value for this node is 0( which is set during ufs init).
This means it will not set anything unless "S2R" or "DEEPSLEEP" is
explicitly written to the node.

ufs_pm_mode can have three values: "NONE","S2R","DEEPSLEEP":

1. When "NONE" is written to sysfs node: the spm level
   is set to 5 for deep sleep and existing spm value
   left unchanged for s2idle case.

2. When "S2R" is written to the node: the default spm level
   value is retained.

3. When "DEEPSLEEP" is written to the node: the spm level
   is set to 5.

Change-Id: I232449cf93a3b37652897e74a621bf219302b76b
Signed-off-by: Ram Kumar Dwivedi <quic_rdwivedi@quicinc.com>
2024-08-08 18:31:27 +05:30
Jeyaprabu J
bb0fd5f452 Revert "soc: qcom: hgsl: enable memflag for hgsl allocation"
This reverts commit 4cacf64319.

Reason for revert: Regressing Performance.

Change-Id: Ib69607b76cca91fc525cbc5cd86b4bc547b80253
Signed-off-by: Jeyaprabu J <quic_jeyaprab@quicinc.com>
Signed-off-by: Vishakh <quic_jeyaprab@quicinc.com>
2024-08-08 03:17:58 -07:00
Asit Shah
56f042d8ed soc: qcom: socinfo: Add neo-la soc-id in socinfo list
Add Neo-LA msm-id to the list of soc-ids supported.

Change-Id: I9601135db35026067fc15116879950ece40d9fbe
Signed-off-by: Asit Shah <quic_asitshah@quicinc.com>
2024-08-08 14:59:35 +05:30