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
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
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
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
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
Adam Skladowski
6e3ea1f36b
interconnect: qcom: Add MSM8976 interconnect provider driver
...
Add driver for interconnect busses found in MSM8976 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-3-a39.skl@gmail.com
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-08-23 21:19:29 +03:00
Georgi Djakov
226e58b209
Merge branch 'icc-rpmh-qos' into icc-next
...
This series adds QoS support for QNOC type device which can be found on
SC7280 platform. It adds support for programming priority,
priority forward disable and urgency forwarding. This helps in
priortizing the traffic originating from different interconnect masters
at NOC (Network On Chip).
* icc-rpmh-qos
dt-bindings: interconnect: add clock property to enable QOS on SC7280
interconnect: qcom: icc-rpmh: Add QoS configuration support
interconnect: qcom: sc7280: enable QoS configuration
interconnect: qcom: Fix DT backwards compatibility for QoS
Link: https://lore.kernel.org/r/20240607173927.26321-1-quic_okukatla@quicinc.com
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-07-04 22:45:20 +03:00
Odelu Kukatla
8b6bd8391f
interconnect: qcom: Fix DT backwards compatibility for QoS
...
Add qos_clks_required flag to skip QoS configuration if clocks property
is not populated in devicetree for providers which require clocks to be
enabled for accessing registers. This is to keep the QoS configuration
backwards compatible with devices that have older DTB.
Reported-by: Bjorn Andersson <andersson@kernel.org >
Closes: https://lore.kernel.org/all/ciji6nlxn752ina4tmh6kwvek52nxpnguomqek6plwvwgvoqef@yrtexkpmn5br/
Signed-off-by: Odelu Kukatla <quic_okukatla@quicinc.com >
Tested-by: Bjorn Andersson <andersson@kernel.org >
Fixes: fbd908bb8b ("interconnect: qcom: sc7280: enable QoS configuration")
Link: https://lore.kernel.org/r/20240704125515.22194-1-quic_okukatla@quicinc.com
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-07-04 22:43:59 +03:00
Georgi Djakov
19990ff048
Merge branch 'icc-msm8953' into icc-next
...
Add interconnect driver for MSM8953-based devices.
* icc-msm8953
dt-bindings: interconnect: qcom: Add Qualcomm MSM8953 NoC
interconnect: qcom: Add MSM8953 driver
Link: https://lore.kernel.org/r/20240628-msm8953-interconnect-v3-0-a70d582182dc@mainlining.org
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2024-07-04 22:41:12 +03:00