Loading drivers/interconnect/qcom/Kconfig +14 −1 Original line number Diff line number Diff line Loading @@ -55,6 +55,19 @@ config INTERCONNECT_QCOM_SDM845 This is a driver for the Qualcomm Network-on-Chip on sdm845-based platforms. config INTERCONNECT_QCOM_SM6150 tristate "SM6150 interconnect driver" depends on INTERCONNECT_QCOM depends on QCOM_RPMH && QCOM_COMMAND_DB && OF select INTERCONNECT_QCOM_BCM_VOTER select INTERCONNECT_QCOM_RPMH select INTERCONNECT_QCOM_QOS help This is a driver for the Qualcomm Technologies, Inc. Network-on-Chip on sm6150-based platforms. The interconnect provider collects and aggreagates the cosumer bandwidth requests to satisfy constraints placed on Network-on-Chip performance states. config INTERCONNECT_QCOM_SM8150 tristate "SM8150 interconnect driver" depends on INTERCONNECT_QCOM Loading Loading @@ -125,7 +138,7 @@ config INTERCONNECT_QCOM_CPUCP_L3 config INTERCONNECT_QCOM_OSM_L3 tristate "QTI OSM L3 interconnect driver" depends on INTERCONNECT_QCOM || COMPILE_TEST depends on INTERCONNECT_QCOM help This is a driver for the Qualcomm Technologies, Inc. Network-on-Chip on osm-based platforms. Loading drivers/interconnect/qcom/Makefile +2 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ qnoc-sdm845-objs := sdm845.o qnoc-lahaina-objs := lahaina.o qnoc-sdxlemur-objs := sdxlemur.o qnoc-shima-objs := shima.o qnoc-sm6150-objs := sm6150.o qnoc-sm8150-objs := sm8150.o qnoc-yupik-objs := yupik.o qnoc-sdxnightjar-objs := sdxnightjar.o Loading @@ -23,6 +24,7 @@ obj-$(CONFIG_INTERCONNECT_QCOM_MONACO) += qnoc-monaco.o obj-$(CONFIG_INTERCONNECT_QCOM_QCS404) += qnoc-qcs404.o obj-$(CONFIG_INTERCONNECT_QCOM_SCSHRIKE) += qnoc-scshrike.o obj-$(CONFIG_INTERCONNECT_QCOM_SDM845) += qnoc-sdm845.o obj-$(CONFIG_INTERCONNECT_QCOM_SM6150) += qnoc-sm6150.o obj-$(CONFIG_INTERCONNECT_QCOM_SM8150) += qnoc-sm8150.o obj-$(CONFIG_INTERCONNECT_QCOM_LAHAINA) += qnoc-lahaina.o obj-$(CONFIG_INTERCONNECT_QCOM_SHIMA) += qnoc-shima.o Loading drivers/interconnect/qcom/osm-l3.c +20 −2 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2020, The Linux Foundation. All rights reserved. * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. */ #include <linux/bitfield.h> Loading Loading @@ -113,7 +113,6 @@ static const struct qcom_icc_desc sm8150_icc_osm_l3 = { .num_nodes = ARRAY_SIZE(sm8150_osm_l3_nodes), }; DEFINE_QNODE(mas_osm_l3_apps_scshrike, OSM_MASTER_L3_APPS, 1, OSM_SLAVE_L3_CLUSTER0, OSM_SLAVE_L3_CLUSTER1, OSM_SLAVE_L3_MISC, OSM_SLAVE_L3_GPU); Loading @@ -130,6 +129,24 @@ static const struct qcom_icc_desc scshrike_icc_osm_l3 = { .nodes = scshrike_osm_l3_nodes, .num_nodes = ARRAY_SIZE(scshrike_osm_l3_nodes), }; DEFINE_QNODE(mas_osm_l3_apps_sm6150, OSM_MASTER_L3_APPS, 1, OSM_SLAVE_L3_CLUSTER0, OSM_SLAVE_L3_CLUSTER1, OSM_SLAVE_L3_MISC, OSM_SLAVE_L3_GPU); static struct qcom_icc_node *sm6150_osm_l3_nodes[] = { [MASTER_OSM_L3_APPS] = &mas_osm_l3_apps_sm6150, [SLAVE_OSM_L3_CLUSTER0] = &slv_osm_l3_cluster0, [SLAVE_OSM_L3_CLUSTER1] = &slv_osm_l3_cluster1, [SLAVE_OSM_L3_MISC] = &slv_osm_l3_misc, [SLAVE_OSM_L3_GPU] = &slv_osm_l3_gpu, }; static const struct qcom_icc_desc sm6150_icc_osm_l3 = { .nodes = sm6150_osm_l3_nodes, .num_nodes = ARRAY_SIZE(sm6150_osm_l3_nodes), }; static int qcom_icc_aggregate(struct icc_node *node, u32 tag, u32 avg_bw, u32 peak_bw, u32 *agg_avg, u32 *agg_peak) { Loading Loading @@ -302,6 +319,7 @@ static int qcom_osm_l3_probe(struct platform_device *pdev) static const struct of_device_id osm_l3_of_match[] = { { .compatible = "qcom,sdm845-osm-l3", .data = &sdm845_icc_osm_l3 }, { .compatible = "qcom,sm8150-osm-l3", .data = &sm8150_icc_osm_l3 }, { .compatible = "qcom,sm6150-osm-l3", .data = &sm6150_icc_osm_l3 }, { .compatible = "qcom,scshrike-osm-l3", .data = &scshrike_icc_osm_l3 }, { } }; Loading Loading
drivers/interconnect/qcom/Kconfig +14 −1 Original line number Diff line number Diff line Loading @@ -55,6 +55,19 @@ config INTERCONNECT_QCOM_SDM845 This is a driver for the Qualcomm Network-on-Chip on sdm845-based platforms. config INTERCONNECT_QCOM_SM6150 tristate "SM6150 interconnect driver" depends on INTERCONNECT_QCOM depends on QCOM_RPMH && QCOM_COMMAND_DB && OF select INTERCONNECT_QCOM_BCM_VOTER select INTERCONNECT_QCOM_RPMH select INTERCONNECT_QCOM_QOS help This is a driver for the Qualcomm Technologies, Inc. Network-on-Chip on sm6150-based platforms. The interconnect provider collects and aggreagates the cosumer bandwidth requests to satisfy constraints placed on Network-on-Chip performance states. config INTERCONNECT_QCOM_SM8150 tristate "SM8150 interconnect driver" depends on INTERCONNECT_QCOM Loading Loading @@ -125,7 +138,7 @@ config INTERCONNECT_QCOM_CPUCP_L3 config INTERCONNECT_QCOM_OSM_L3 tristate "QTI OSM L3 interconnect driver" depends on INTERCONNECT_QCOM || COMPILE_TEST depends on INTERCONNECT_QCOM help This is a driver for the Qualcomm Technologies, Inc. Network-on-Chip on osm-based platforms. Loading
drivers/interconnect/qcom/Makefile +2 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ qnoc-sdm845-objs := sdm845.o qnoc-lahaina-objs := lahaina.o qnoc-sdxlemur-objs := sdxlemur.o qnoc-shima-objs := shima.o qnoc-sm6150-objs := sm6150.o qnoc-sm8150-objs := sm8150.o qnoc-yupik-objs := yupik.o qnoc-sdxnightjar-objs := sdxnightjar.o Loading @@ -23,6 +24,7 @@ obj-$(CONFIG_INTERCONNECT_QCOM_MONACO) += qnoc-monaco.o obj-$(CONFIG_INTERCONNECT_QCOM_QCS404) += qnoc-qcs404.o obj-$(CONFIG_INTERCONNECT_QCOM_SCSHRIKE) += qnoc-scshrike.o obj-$(CONFIG_INTERCONNECT_QCOM_SDM845) += qnoc-sdm845.o obj-$(CONFIG_INTERCONNECT_QCOM_SM6150) += qnoc-sm6150.o obj-$(CONFIG_INTERCONNECT_QCOM_SM8150) += qnoc-sm8150.o obj-$(CONFIG_INTERCONNECT_QCOM_LAHAINA) += qnoc-lahaina.o obj-$(CONFIG_INTERCONNECT_QCOM_SHIMA) += qnoc-shima.o Loading
drivers/interconnect/qcom/osm-l3.c +20 −2 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2020, The Linux Foundation. All rights reserved. * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. */ #include <linux/bitfield.h> Loading Loading @@ -113,7 +113,6 @@ static const struct qcom_icc_desc sm8150_icc_osm_l3 = { .num_nodes = ARRAY_SIZE(sm8150_osm_l3_nodes), }; DEFINE_QNODE(mas_osm_l3_apps_scshrike, OSM_MASTER_L3_APPS, 1, OSM_SLAVE_L3_CLUSTER0, OSM_SLAVE_L3_CLUSTER1, OSM_SLAVE_L3_MISC, OSM_SLAVE_L3_GPU); Loading @@ -130,6 +129,24 @@ static const struct qcom_icc_desc scshrike_icc_osm_l3 = { .nodes = scshrike_osm_l3_nodes, .num_nodes = ARRAY_SIZE(scshrike_osm_l3_nodes), }; DEFINE_QNODE(mas_osm_l3_apps_sm6150, OSM_MASTER_L3_APPS, 1, OSM_SLAVE_L3_CLUSTER0, OSM_SLAVE_L3_CLUSTER1, OSM_SLAVE_L3_MISC, OSM_SLAVE_L3_GPU); static struct qcom_icc_node *sm6150_osm_l3_nodes[] = { [MASTER_OSM_L3_APPS] = &mas_osm_l3_apps_sm6150, [SLAVE_OSM_L3_CLUSTER0] = &slv_osm_l3_cluster0, [SLAVE_OSM_L3_CLUSTER1] = &slv_osm_l3_cluster1, [SLAVE_OSM_L3_MISC] = &slv_osm_l3_misc, [SLAVE_OSM_L3_GPU] = &slv_osm_l3_gpu, }; static const struct qcom_icc_desc sm6150_icc_osm_l3 = { .nodes = sm6150_osm_l3_nodes, .num_nodes = ARRAY_SIZE(sm6150_osm_l3_nodes), }; static int qcom_icc_aggregate(struct icc_node *node, u32 tag, u32 avg_bw, u32 peak_bw, u32 *agg_avg, u32 *agg_peak) { Loading Loading @@ -302,6 +319,7 @@ static int qcom_osm_l3_probe(struct platform_device *pdev) static const struct of_device_id osm_l3_of_match[] = { { .compatible = "qcom,sdm845-osm-l3", .data = &sdm845_icc_osm_l3 }, { .compatible = "qcom,sm8150-osm-l3", .data = &sm8150_icc_osm_l3 }, { .compatible = "qcom,sm6150-osm-l3", .data = &sm6150_icc_osm_l3 }, { .compatible = "qcom,scshrike-osm-l3", .data = &scshrike_icc_osm_l3 }, { } }; Loading