summaryrefslogtreecommitdiff
path: root/drivers/net/ipa
diff options
context:
space:
mode:
authorAlex Elder <elder@linaro.org>2021-01-15 15:50:48 +0300
committerJakub Kicinski <kuba@kernel.org>2021-01-18 22:51:05 +0300
commite938d7ef92c38f43bbb6de03e8399f6f821d217b (patch)
tree4eaba7f82f3573a6b281631767734559a63a6b58 /drivers/net/ipa
parentdb6cd5148724b07617cf43eb2cb916a853d52bc3 (diff)
downloadlinux-e938d7ef92c38f43bbb6de03e8399f6f821d217b.tar.xz
net: ipa: add interconnect name to configuration data
Add the name to the configuration data for each interconnect. Use this information rather than a constant string during initialization. Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ipa')
-rw-r--r--drivers/net/ipa/ipa_clock.c6
-rw-r--r--drivers/net/ipa/ipa_data-sc7180.c3
-rw-r--r--drivers/net/ipa/ipa_data-sdm845.c3
-rw-r--r--drivers/net/ipa/ipa_data.h2
4 files changed, 11 insertions, 3 deletions
diff --git a/drivers/net/ipa/ipa_clock.c b/drivers/net/ipa/ipa_clock.c
index 537c72b5267f..07069dbc6d03 100644
--- a/drivers/net/ipa/ipa_clock.c
+++ b/drivers/net/ipa/ipa_clock.c
@@ -76,7 +76,7 @@ static int ipa_interconnect_init(struct ipa_clock *clock, struct device *dev,
struct ipa_interconnect *interconnect;
struct icc_path *path;
- path = ipa_interconnect_init_one(dev, "memory");
+ path = ipa_interconnect_init_one(dev, data->name);
if (IS_ERR(path))
goto err_return;
interconnect = &clock->interconnect[IPA_INTERCONNECT_MEMORY];
@@ -85,7 +85,7 @@ static int ipa_interconnect_init(struct ipa_clock *clock, struct device *dev,
interconnect->peak_bandwidth = data->peak_bandwidth;
data++;
- path = ipa_interconnect_init_one(dev, "imem");
+ path = ipa_interconnect_init_one(dev, data->name);
if (IS_ERR(path))
goto err_memory_path_put;
interconnect = &clock->interconnect[IPA_INTERCONNECT_IMEM];
@@ -94,7 +94,7 @@ static int ipa_interconnect_init(struct ipa_clock *clock, struct device *dev,
interconnect->peak_bandwidth = data->peak_bandwidth;
data++;
- path = ipa_interconnect_init_one(dev, "config");
+ path = ipa_interconnect_init_one(dev, data->name);
if (IS_ERR(path))
goto err_imem_path_put;
interconnect = &clock->interconnect[IPA_INTERCONNECT_CONFIG];
diff --git a/drivers/net/ipa/ipa_data-sc7180.c b/drivers/net/ipa/ipa_data-sc7180.c
index 491572c0a34d..1936ecb4c110 100644
--- a/drivers/net/ipa/ipa_data-sc7180.c
+++ b/drivers/net/ipa/ipa_data-sc7180.c
@@ -314,15 +314,18 @@ static struct ipa_clock_data ipa_clock_data = {
/* Interconnect bandwidths are in 1000 byte/second units */
.interconnect = {
[IPA_INTERCONNECT_MEMORY] = {
+ .name = "memory",
.peak_bandwidth = 465000, /* 465 MBps */
.average_bandwidth = 80000, /* 80 MBps */
},
/* Average bandwidth unused for the next two interconnects */
[IPA_INTERCONNECT_IMEM] = {
+ .name = "imem",
.peak_bandwidth = 68570, /* 68.57 MBps */
.average_bandwidth = 0, /* unused */
},
[IPA_INTERCONNECT_CONFIG] = {
+ .name = "config",
.peak_bandwidth = 30000, /* 30 MBps */
.average_bandwidth = 0, /* unused */
},
diff --git a/drivers/net/ipa/ipa_data-sdm845.c b/drivers/net/ipa/ipa_data-sdm845.c
index c62b86171b92..3b556b5a6340 100644
--- a/drivers/net/ipa/ipa_data-sdm845.c
+++ b/drivers/net/ipa/ipa_data-sdm845.c
@@ -334,15 +334,18 @@ static struct ipa_clock_data ipa_clock_data = {
/* Interconnect bandwidths are in 1000 byte/second units */
.interconnect = {
[IPA_INTERCONNECT_MEMORY] = {
+ .name = "memory",
.peak_bandwidth = 600000, /* 600 MBps */
.average_bandwidth = 80000, /* 80 MBps */
},
/* Average bandwidth unused for the next two interconnects */
[IPA_INTERCONNECT_IMEM] = {
+ .name = "imem",
.peak_bandwidth = 350000, /* 350 MBps */
.average_bandwidth = 0, /* unused */
},
[IPA_INTERCONNECT_CONFIG] = {
+ .name = "config",
.peak_bandwidth = 40000, /* 40 MBps */
.average_bandwidth = 0, /* unused */
},
diff --git a/drivers/net/ipa/ipa_data.h b/drivers/net/ipa/ipa_data.h
index 96a9771a6cc0..d8ea6266dc6a 100644
--- a/drivers/net/ipa/ipa_data.h
+++ b/drivers/net/ipa/ipa_data.h
@@ -268,10 +268,12 @@ enum ipa_interconnect_id {
/**
* struct ipa_interconnect_data - description of IPA interconnect bandwidths
+ * @name: Interconnect name (matches interconnect-name in DT)
* @peak_bandwidth: Peak interconnect bandwidth (in 1000 byte/sec units)
* @average_bandwidth: Average interconnect bandwidth (in 1000 byte/sec units)
*/
struct ipa_interconnect_data {
+ const char *name;
u32 peak_bandwidth;
u32 average_bandwidth;
};