Greg Kroah-Hartman
797212a81c
Merge tag 'icc-6.14-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/djakov/icc into char-misc-next
...
Pull interconnect changes from Georgi:
interconnect changes for 6.14
This pull request contains the interconnect changes for the 6.14-rc1 merge
window. It contains one new driver and DT documentation updates for L3
and bandwidth monitors.
Driver changes:
- New driver for the SM8750 platform
- Add DT compatibles for QCS615 BWMON and SM8650 OSM
Signed-off-by: Georgi Djakov <djakov@kernel.org >
* tag 'icc-6.14-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/djakov/icc:
dt-bindings: interconnect: qcom,msm8998-bwmon: Add SM8750 CPU BWMONs
dt-bindings: interconnect: OSM L3: Document sm8650 OSM L3 compatible
dt-bindings: interconnect: qcom-bwmon: Document QCS615 bwmon compatibles
interconnect: sm8750: Add missing const to static qcom_icc_desc
interconnect: qcom: Add interconnect provider driver for SM8750
dt-bindings: interconnect: add interconnect bindings for SM8750
2025-01-16 14:01:40 +01:00
Krzysztof Kozlowski
d071b81f94
interconnect: sm8750: Add missing const to static qcom_icc_desc
...
The statically allocated 'struct qcom_icc_desc' is not modified by the
driver and like all other instances should be const.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20250109164630.175093-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2025-01-13 19:59:09 +02:00
Raviteja Laggyshetty
5e0db3c2cd
interconnect: qcom: Add interconnect provider driver for SM8750
...
Introduce SM8750 interconnect provider driver using the interconnect
framework.
Signed-off-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com >
Signed-off-by: Melody Olvera <quic_molvera@quicinc.com >
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Link: https://lore.kernel.org/r/20241204-sm8750_master_interconnects-v3-2-3d9aad4200e9@quicinc.com
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-12-17 14:05:50 +02:00
Bartosz Golaszewski
44c5aa73cc
interconnect: icc-clk: check return values of devm_kasprintf()
...
devm_kasprintf() can fail and return NULL, add missing return value
checks.
Fixes: 0ac2a08f42 ("interconnect: add clk-based icc provider support")
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org >
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Link: https://lore.kernel.org/r/20241202165723.17292-1-brgl@bgdev.pl
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-12-17 14:03:34 +02:00
Georgi Djakov
00a973e093
interconnect: qcom: icc-rpm: Set the count member before accessing the flex array
...
The following UBSAN error is reported during boot on the db410c board on
a clang-19 build:
Internal error: UBSAN: array index out of bounds: 00000000f2005512 [#1 ] PREEMPT SMP
...
pc : qnoc_probe+0x5f8/0x5fc
...
The cause of the error is that the counter member was not set before
accessing the annotated flexible array member, but after that. Fix this
by initializing it earlier.
Reported-by: Linux Kernel Functional Testing <lkft@linaro.org >
Closes: https://lore.kernel.org/r/CA+G9fYs+2mBz1y2dAzxkj9-oiBJ2Acm1Sf1h2YQ3VmBqj_VX2g@mail.gmail.com
Fixes: dd4904f3b9 ("interconnect: qcom: Annotate struct icc_onecell_data with __counted_by")
Reviewed-by: Nathan Chancellor <nathan@kernel.org >
Link: https://lore.kernel.org/r/20241203223334.233404-1-djakov@kernel.org
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-12-17 14:03:02 +02:00
Georgi Djakov
b1fd28da86
Merge branch 'icc-sar2130p' into icc-next
...
Add driver for the network of connects present on the SAR2130P platform.
* icc-sar2130p
dt-bindings: interconnect: qcom: document SAR2130P NoC
interconnect: qcom: add support for SAR2130P
Link: https://lore.kernel.org/r/20241018-sar2130p-icc-v2-0-c58c73dcd19d@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-11-05 01:32:05 +02:00
Georgi Djakov
55aac0ea75
Merge branch 'icc-qcs615' into icc-next
...
Add interconnect dt-bindings and driver support for Qualcomm QCS615 SoC.
* icc-qcs615
dt-bindings: interconnect: document the RPMh Network-On-Chip interconnect in QCS615 SoC
interconnect: qcom: add QCS615 interconnect provider driver
Link: https://lore.kernel.org/r/20240924143958.25-1-quic_rlaggysh@quicinc.com
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-11-05 01:30:52 +02:00
Georgi Djakov
3b7dd9d88c
Merge branch 'icc-qcs8300' into icc-next
...
Add interconnect support for QCS8300 SoC
* icc-qcs8300
dt-bindings: interconnect: document the RPMh Network-On-Chip interconnect in QCS8300 SoC
interconnect: qcom: add QCS8300 interconnect provider driver
Link: https://lore.kernel.org/r/20240910101013.3020-1-quic_rlaggysh@quicinc.com
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-11-05 01:28:34 +02:00
Rob Herring (Arm)
a570feff16
interconnect: Use of_property_present() for non-boolean properties
...
The use of of_property_read_bool() for non-boolean properties is
deprecated in favor of of_property_present() when testing for property
presence.
Signed-off-by: "Rob Herring (Arm)" <robh@kernel.org >
Link: https://lore.kernel.org/r/20241104190650.275278-1-robh@kernel.org
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-11-05 01:27:39 +02:00
Raviteja Laggyshetty
3063c3dfa0
interconnect: qcom: add QCS8300 interconnect provider driver
...
Add driver for the Qualcomm interconnect buses found in QCS8300
based platforms. The topology consists of several NoCs that are
controlled by a remote processor that collects the aggregated
bandwidth for each master-slave pairs.
Signed-off-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com >
Link: https://lore.kernel.org/r/20240910101013.3020-3-quic_rlaggysh@quicinc.com
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-10-22 12:36:29 +03:00
Uwe Kleine-König
31f1b03fbd
interconnect: Switch back to struct platform_driver::remove()
...
After commit 0edb555a65 ("platform: Make platform_driver::remove()
return void") .remove() is (again) the right callback to implement for
platform drivers.
Convert all platform drivers below drivers/interconnect to use
.remove(), with the eventual goal to drop struct
platform_driver::remove_new(). As .remove() and .remove_new() have the
same prototypes, conversion is done by just changing the structure
member name in the driver initializer.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com >
Link: https://lore.kernel.org/r/20241017154920.136220-2-u.kleine-koenig@baylibre.com
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-10-22 12:34:18 +03:00
Dmitry Baryshkov
92c366a53c
interconnect: qcom: add support for SAR2130P
...
Add driver for the interconnects as present on the Qualcomm
SAR2130P platform. This is based on the msm-5.10 tree, tag
KERNEL.PLATFORM.1.0.r4-00400-NEO.0.
Co-developed-by: Odelu Kukatla <quic_okukatla@quicinc.com >
Signed-off-by: Odelu Kukatla <quic_okukatla@quicinc.com >
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org >
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Link: https://lore.kernel.org/r/20241018-sar2130p-icc-v2-2-c58c73dcd19d@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-10-22 12:27:38 +03:00
Raviteja Laggyshetty
77d79677b0
interconnect: qcom: add QCS615 interconnect provider driver
...
Add driver for the Qualcomm interconnect buses found in QCS615
based platforms. The topology consists of several NoCs that are
controlled by a remote processor that collects the aggregated
bandwidth for each master-slave pairs.
Signed-off-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com >
Link: https://lore.kernel.org/r/20240924143958.25-3-quic_rlaggysh@quicinc.com
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-10-22 11:30:14 +03:00
Christophe JAILLET
52cebda104
interconnect: Remove a useless kfree_const() usage
...
"path->name" is allocated in of_icc_get_by_index() using kasprintf(), so
there is no point in using kfree_const() to free it.
Switch to the more standard kfree() to free this.
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr >
Link: https://lore.kernel.org/r/06630f9ec3e153d0e7773b8d97a17e7c53e0d606.1727375615.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-10-22 11:17:24 +03:00
Krzysztof Kozlowski
326b42d861
interconnect: qcom: msm8937: constify pointer to qcom_icc_node
...
Pointers to struct qcom_icc_node are const.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20240905151636.280065-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-10-22 11:12:03 +03:00
Raviteja Laggyshetty
f874c74d08
interconnect: qcom: icc-rpmh: rename qos_clks_required flag
...
rename qos_clks_required flag to qos_requires_clocks in qcom_icc_desc
structure. This flag indicates that clocks are required for accessing
and programming the QoS registers.
Suggested-by: Bjorn Andersson <andersson@kernel.org >
Signed-off-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com >
Link: https://lore.kernel.org/r/20240911093516.22347-1-quic_rlaggysh@quicinc.com
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-10-22 11:11:25 +03:00
Raviteja Laggyshetty
05123e3299
interconnect: qcom: icc-rpmh: probe defer incase of missing QoS clock dependency
...
Return -EPROBE_DEFER from interconnect provider incase probe defer is
received from devm_clk_bulk_get_all(). This would help in reattempting
the inteconnect driver probe, once the required QoS clocks are
available.
Suggested-by: Bjorn Andersson <andersson@kernel.org >
Signed-off-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com >
Reviewed-by: Konrad Dybcio <konradybcio@kernel.org >
Fixes: 0a7be6b35d ("interconnect: qcom: icc-rpmh: Add QoS configuration support")
Link: https://lore.kernel.org/r/20240911094516.16901-1-quic_rlaggysh@quicinc.com
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-10-22 11:06:17 +03:00
Georgi Djakov
a5733950fe
Merge branch 'icc-sm8350' into icc-next
...
A set of fixes that target stability of the SM8350 platform.
* icc-sm8350
interconnect: qcom: sm8350: drop DISP nodes
dt-bindings: interconnect: qcom,sm8350: drop DISP nodes
interconnect: qcom: sm8250: Enable sync_state
Link: https://lore.kernel.org/r/20240804-sm8350-fixes-v1-0-1149dd8399fe@linaro.org/
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-08-26 01:36:44 +03:00
Georgi Djakov
f7d27c1cc8
Merge branch 'icc-misc' into icc-next
...
This series introduce new ICC drivers for some legacy socs
while at it also updates a bit of qcs404 driver which seems
to not receive much attention lately.
* icc-misc
dt-bindings: interconnect: qcom: Add Qualcomm MSM8976 NoC
interconnect: qcom: Add MSM8976 interconnect provider driver
dt-bindings: interconnect: qcom: Add Qualcomm MSM8937 NoC
interconnect: qcom: Add MSM8937 interconnect provider driver
interconnect: qcom: qcs404: Mark AP-owned nodes as such
interconnect: qcom: qcs404: Add regmaps and more bus descriptions
dt-bindings: interconnect: qcom: msm8939: Fix example
interconnect: qcom: msm8953: Add ab_coeff
dt-bindings: interconnect: qcom: msm8953: Fix 'See also' in description
Link: https://lore.kernel.org/all/20240709102728.15349-1-a39.skl@gmail.com/
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-08-26 01:36:14 +03:00
Adam Skladowski
1d4f55b5c5
interconnect: qcom: msm8953: Add ab_coeff
...
BIMC and SNOC-MM on downstream feature
qcom,util-fact which translates to ab_coeff, add it.
Signed-off-by: Adam Skladowski <a39.skl@gmail.com >
Link: https://lore.kernel.org/r/20240709102728.15349-9-a39.skl@gmail.com
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-08-24 02:54:43 +03:00
Adam Skladowski
7f3ea8a922
interconnect: qcom: qcs404: Add regmaps and more bus descriptions
...
Currently we are lacking descriptions of regmaps, bus clocks
and types of busses, provide them.
Signed-off-by: Adam Skladowski <a39.skl@gmail.com >
Link: https://lore.kernel.org/r/20240709102728.15349-7-a39.skl@gmail.com
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-08-24 02:54:42 +03:00
Adam Skladowski
16e5d505e4
interconnect: qcom: qcs404: Mark AP-owned nodes as such
...
When driver was upstreamed it seems ap_owned nodes were not available,
bring them now.
Signed-off-by: Adam Skladowski <a39.skl@gmail.com >
Link: https://lore.kernel.org/r/20240709102728.15349-6-a39.skl@gmail.com
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-08-24 02:54:42 +03:00
Adam Skladowski
755acd36fe
interconnect: qcom: Add MSM8937 interconnect provider driver
...
Add driver for interconnect busses found in MSM8937 based platforms.
The topology consists of four NoCs that are partially controlled by a
RPM processor.
Signed-off-by: Adam Skladowski <a39.skl@gmail.com >
Link: https://lore.kernel.org/r/20240709102728.15349-5-a39.skl@gmail.com
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-08-24 02:54:42 +03:00
Dmitry Baryshkov
d3681b3021
interconnect: qcom: sm8250: Enable sync_state
...
Enable the generic icc sync_state callback to ensure interconnect votes
are actually taken into account, instead of being forced to the maximum
value.
Fixes: b95b668eaa ("interconnect: qcom: icc-rpmh: Add BCMs to commit list in pre_aggregate")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Link: https://lore.kernel.org/r/20240804-sm8350-fixes-v1-8-1149dd8399fe@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-08-23 23:08:57 +03:00
Dmitry Baryshkov
c1bf21373f
interconnect: qcom: sm8350: drop DISP nodes
...
The msm-5.x kernels have additional display RSC and separate display BCM
voter. Since upstream kernel doesn't yet provide display RSC, we end up
duplicating several nodes, which can result in incorrect votes being
cast. Drop *_DISP nodes.
Fixes: d26a566744 ("interconnect: qcom: Add SM8350 interconnect provider driver")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Link: https://lore.kernel.org/r/20240804-sm8350-fixes-v1-4-1149dd8399fe@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-08-23 23:04:51 +03:00