Skip to content

Commit 704e2c6

Browse files
committed
Merge tag 'icc-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/djakov/icc into char-misc-next
Georgi writes: interconnect changes for 6.6 This pull request contains the interconnect changes for the 6.6-rc1 merge window which is a mix of core and driver changes with the following highlights: Core changes: - New generic test client driver that allows issuing bandwidth requests between endpoints via debugfs. - Annotate all structs with flexible array members with the __counted_by attribute. - Introduce new icc_bw_lock for cases where we need to serialize bandwidth aggregation and update to decouple that from paths that require memory allocation. Driver changes: - Move the Qualcomm SMD RPM bus-clocks from CCF to interconnect framework where they actually belong. This brings power management improvements and reduces the overhead and layering. These changes are in immutable branch that is being pulled also into the qcom tree. - Fixes for QUP nodes on SM8250. - Enable sync_state and keepalive for QCM2290. - Enable sync_state for SM8450. - Improve enable_mask-based BCMs handling and fix some bugs. - Add compatible string for the OSM-L3 on SDM670. - Add compatible strings for SC7180, SM8250 and SM6350 bandwidth monitors. - Expand and retire the DEFINE_QNODE and DEFINE_QBCM macros, which have become ugly beasts with many different arguments. Signed-off-by: Georgi Djakov <[email protected]> * tag 'icc-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/djakov/icc: (64 commits) interconnect: Add debugfs test client interconnect: Reintroduce icc_get() debugfs: Add write support to debugfs_create_str() interconnect: qcom: icc-rpmh: Retire DEFINE_QBCM interconnect: qcom: sm8350: Retire DEFINE_QBCM interconnect: qcom: sm8250: Retire DEFINE_QBCM interconnect: qcom: sm8150: Retire DEFINE_QBCM interconnect: qcom: sm6350: Retire DEFINE_QBCM interconnect: qcom: sdx65: Retire DEFINE_QBCM interconnect: qcom: sdx55: Retire DEFINE_QBCM interconnect: qcom: sdm845: Retire DEFINE_QBCM interconnect: qcom: sdm670: Retire DEFINE_QBCM interconnect: qcom: sc7180: Retire DEFINE_QBCM interconnect: qcom: icc-rpmh: Retire DEFINE_QNODE interconnect: qcom: sm8350: Retire DEFINE_QNODE interconnect: qcom: sm8250: Retire DEFINE_QNODE interconnect: qcom: sm8150: Retire DEFINE_QNODE interconnect: qcom: sm6350: Retire DEFINE_QNODE interconnect: qcom: sdx65: Retire DEFINE_QNODE interconnect: qcom: sdx55: Retire DEFINE_QNODE ...
2 parents eb176cb + 6ac3f01 commit 704e2c6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+12766
-1720
lines changed

Documentation/devicetree/bindings/interconnect/qcom,msm8998-bwmon.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,20 @@ properties:
2525
- const: qcom,msm8998-bwmon # BWMON v4
2626
- items:
2727
- enum:
28+
- qcom,sc7180-cpu-bwmon
2829
- qcom,sc7280-cpu-bwmon
2930
- qcom,sc8280xp-cpu-bwmon
3031
- qcom,sdm845-cpu-bwmon
32+
- qcom,sm6350-llcc-bwmon
33+
- qcom,sm8250-cpu-bwmon
3134
- qcom,sm8550-cpu-bwmon
3235
- const: qcom,sdm845-bwmon # BWMON v4, unified register space
3336
- items:
3437
- enum:
38+
- qcom,sc7180-llcc-bwmon
3539
- qcom,sc8280xp-llcc-bwmon
40+
- qcom,sm6350-cpu-bwmon
41+
- qcom,sm8250-llcc-bwmon
3642
- qcom,sm8550-llcc-bwmon
3743
- const: qcom,sc7280-llcc-bwmon
3844
- const: qcom,sc7280-llcc-bwmon # BWMON v5

Documentation/devicetree/bindings/interconnect/qcom,osm-l3.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ properties:
2121
- enum:
2222
- qcom,sc7180-osm-l3
2323
- qcom,sc8180x-osm-l3
24+
- qcom,sdm670-osm-l3
2425
- qcom,sdm845-osm-l3
2526
- qcom,sm6350-osm-l3
2627
- qcom,sm8150-osm-l3

Documentation/devicetree/bindings/interconnect/qcom,rpmh.yaml

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,6 @@ description: |
1818
least one RPMh device child node pertaining to their RSC and each provider
1919
can map to multiple RPMh resources.
2020
21-
allOf:
22-
- $ref: qcom,rpmh-common.yaml#
23-
2421
properties:
2522
reg:
2623
maxItems: 1
@@ -91,6 +88,7 @@ properties:
9188
- qcom,sm8250-mc-virt
9289
- qcom,sm8250-mmss-noc
9390
- qcom,sm8250-npu-noc
91+
- qcom,sm8250-qup-virt
9492
- qcom,sm8250-system-noc
9593
- qcom,sm8350-aggre1-noc
9694
- qcom,sm8350-aggre2-noc
@@ -107,7 +105,19 @@ properties:
107105

108106
required:
109107
- compatible
110-
- reg
108+
109+
allOf:
110+
- $ref: qcom,rpmh-common.yaml#
111+
- if:
112+
not:
113+
properties:
114+
compatible:
115+
enum:
116+
- qcom,sm8250-qup-virt
117+
then:
118+
required:
119+
- reg
120+
111121

112122
unevaluatedProperties: false
113123

Documentation/driver-api/interconnect.rst

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,3 +113,28 @@ through dot to generate diagrams in many graphical formats::
113113

114114
$ cat /sys/kernel/debug/interconnect/interconnect_graph | \
115115
dot -Tsvg > interconnect_graph.svg
116+
117+
The ``test-client`` directory provides interfaces for issuing BW requests to
118+
any arbitrary path. Note that for safety reasons, this feature is disabled by
119+
default without a Kconfig to enable it. Enabling it requires code changes to
120+
``#define INTERCONNECT_ALLOW_WRITE_DEBUGFS``. Example usage::
121+
122+
cd /sys/kernel/debug/interconnect/test-client/
123+
124+
# Configure node endpoints for the path from CPU to DDR on
125+
# qcom/sm8550.
126+
echo chm_apps > src_node
127+
echo ebi > dst_node
128+
129+
# Get path between src_node and dst_node. This is only
130+
# necessary after updating the node endpoints.
131+
echo 1 > get
132+
133+
# Set desired BW to 1GBps avg and 2GBps peak.
134+
echo 1000000 > avg_bw
135+
echo 2000000 > peak_bw
136+
137+
# Vote for avg_bw and peak_bw on the latest path from "get".
138+
# Voting for multiple paths is possible by repeating this
139+
# process for different nodes endpoints.
140+
echo 1 > commit

0 commit comments

Comments
 (0)