Krzysztof Kozlowski
2ccf33c063
interconnect: qcom: constify icc_node pointers
...
Pointers to struct qcom_icc_node (and similar structures) are not
modified, so they can be made const for safety. The contents of struct
qcom_icc_node must stay non-const.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20220412102623.227607-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2022-04-23 15:11:48 +03:00
Krzysztof Kozlowski
1625aaa3fe
interconnect: qcom: constify qcom_icc_desc
...
struct qcom_icc_desc is not modified so it can be made const for safety.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20220412102623.227607-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2022-04-23 15:11:35 +03:00
Shawn Guo
e9d54c2634
interconnect: icc-rpm: Define ICC device type
...
The driver currently uses .is_bimc_node to distinguish device type BIMC
from NOC. Define type for bus/noc devices like what downstream[1] does
to make support for more types easier.
[1] https://source.codeaurora.org/quic/la/kernel/msm-4.19/tree/drivers/soc/qcom/msm_bus/msm_bus_core.h?h=kernel.lnx.4.19.r22-rel#n46
Signed-off-by: Shawn Guo <shawn.guo@linaro.org >
Link: https://lore.kernel.org/r/20211215002324.1727-2-shawn.guo@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2021-12-15 07:12:36 +02:00
Dmitry Baryshkov
cbf91c8715
interconnect: msm8916: add support for AP-owned nodes
...
Port support for AP-owned nodes from the downstream device tree.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org >
Link: https://lore.kernel.org/r/20210903232421.1384199-8-dmitry.baryshkov@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2021-10-04 14:13:58 +03:00
Dmitry Baryshkov
6b9bbedda0
interconnect: msm8916: expand DEFINE_QNODE macros
...
In preparation to adding AP-owned nodes support to msm8916 expand
DEFINE_QNODE macros in the driver.
Suggested-by: Bjorn Andersson <bjorn.andersson@linaro.org >
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org >
Link: https://lore.kernel.org/r/20210903232421.1384199-7-dmitry.baryshkov@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2021-10-04 14:13:58 +03:00
Dmitry Baryshkov
63e8ab610d
interconnect: icc-rpm: move bus clocks handling into qnoc_probe
...
All icc-rpm drivers use the same set of bus clocks. Move handling of bus
clocks to qnoc_probe. This both simplifies the code and allows using
qnoc_probe as device's probe function.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org >
Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org >
Tested-by: Shawn Guo <shawn.guo@linaro.org >
Link: https://lore.kernel.org/r/20210903232421.1384199-2-dmitry.baryshkov@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org >
2021-10-04 13:37:47 +03:00
Jun Nie
62feb14ee8
interconnect: qcom: Consolidate interconnect RPM support
...
Add RPM based interconnect driver implements the set and aggregate
functionalities that translates bandwidth requests into RPM messages.
These modules provide a common set of functionalities for all
Qualcomm RPM based interconnect providers and should help reduce code
duplication when adding new providers.
Signed-off-by: Jun Nie <jun.nie@linaro.org >
Link: https://lore.kernel.org/r/20201204075345.5161-2-jun.nie@linaro.org
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org >
2021-01-05 13:09:58 +02:00
Georgi Djakov
c497f9322a
interconnect: qcom: msm8916: Remove rpm-ids from non-RPM nodes
...
Some nodes are incorrectly marked as RPM-controlled (they have RPM
master and slave ids assigned), but are actually controlled by the
application CPU instead. The RPM complains when we send requests for
resources that it can't control. Let's fix this by replacing the IDs,
with the default "-1" in which case no requests are sent.
Reviewed-by: Mike Tipton <mdtipton@codeaurora.org >
Link: https://lore.kernel.org/r/20201112105140.10092-1-georgi.djakov@linaro.org
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org >
2020-11-20 15:51:51 +02:00
Georgi Djakov
92d232d176
interconnect: msm8916: Fix buswidth of pcnoc_s nodes
...
The buswidth of the pcnoc_s_* nodes is actually not 8, but
4 bytes. Let's fix it.
Reported-by: Jun Nie <jun.nie@linaro.org >
Reviewed-by: Mike Tipton <mdtipton@codeaurora.org >
Fixes: 30c8fa3ec6 ("interconnect: qcom: Add MSM8916 interconnect provider driver")
Link: https://lore.kernel.org/r/20200709130004.12462-1-georgi.djakov@linaro.org
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org >
Cc: stable <stable@vger.kernel.org >
Link: https://lore.kernel.org/r/20200723083735.5616-3-georgi.djakov@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-07-23 10:45:24 +02:00
Georgi Djakov
30c8fa3ec6
interconnect: qcom: Add MSM8916 interconnect provider driver
...
Add driver for the Qualcomm interconnect buses found in MSM8916 based
platforms. The topology consists of three NoCs that are controlled by
a remote processor that collects the aggregated bandwidth for each
master-slave pairs.
Reviewed-by: Evan Green <evgreen@chromium.org >
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org >
2020-01-07 09:30:09 +02:00