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];
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];
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];
/* 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 */
},
/* 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 */
},
/**
* 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;
};