Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 07afb6af authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "interconnect: qcom: Add OSM L3 support on SM6150"

parents 92ca4656 c78606cc
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
@@ -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
@@ -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.
+2 −0
Original line number Diff line number Diff line
@@ -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
@@ -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
+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>
@@ -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);
@@ -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)
{
@@ -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 },
	{ }
};
+2467 −0

File added.

Preview size limit exceeded, changes collapsed.