mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 00:24:41 -04:00
Merge "interconnect: qcom: Add OSM L3 support on SM6150"
This commit is contained in:
commit
07afb6af62
4 changed files with 2503 additions and 3 deletions
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
// 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 @@ err:
|
|||
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
drivers/interconnect/qcom/sm6150.c
Normal file
2467
drivers/interconnect/qcom/sm6150.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue