diff options
author | Jakub Kicinski <kuba@kernel.org> | 2020-11-20 18:45:03 -0800 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2020-11-20 18:45:03 -0800 |
commit | 0ee6de264b8305d2c55f32a80e00c054736b10f9 (patch) | |
tree | 8635737169b7c18d4f9aced6422f33fb4313a1de /drivers/net/ipa/ipa_data-sdm845.c | |
parent | 0a12ad5929556195fbdf1c58a14ec8e5b01b006c (diff) | |
parent | 91d02f9551501fe63e2031d7821d0e7fd4ea5a21 (diff) |
Merge branch 'net-ipa-platform-specific-clock-and-interconnect-rates'
Alex Elder says:
====================
net: ipa: platform-specific clock and interconnect rates
This series changes the way the IPA core clock rate and the
bandwidth parameters for interconnects are specified. Previously
these were specified with hard-wired constants, with the same values
used for the SDM845 and SC7180 platforms. Now these parameters are
recorded in platform-specific configuration data.
For the SC7180 this means we use an all-new core clock rate and
interconnect parameters.
Additionally, while developing this I learned that the average
bandwidth setting for two of the interconnects is ignored (on both
platforms). Zero is now used explicitly as that unused bandwidth
value. This means the SDM845 bandwidth settings are also changed
by this series.
====================
Link: https://lore.kernel.org/r/20201119224041.16066-1-elder@linaro.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ipa/ipa_data-sdm845.c')
-rw-r--r-- | drivers/net/ipa/ipa_data-sdm845.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/net/ipa/ipa_data-sdm845.c b/drivers/net/ipa/ipa_data-sdm845.c index bd92b619e7fe..f8fee8d3ca42 100644 --- a/drivers/net/ipa/ipa_data-sdm845.c +++ b/drivers/net/ipa/ipa_data-sdm845.c @@ -329,6 +329,26 @@ static struct ipa_mem_data ipa_mem_data = { .smem_size = 0x00002000, }; +static struct ipa_clock_data ipa_clock_data = { + .core_clock_rate = 75 * 1000 * 1000, /* Hz */ + /* Interconnect rates are in 1000 byte/second units */ + .interconnect = { + [IPA_INTERCONNECT_MEMORY] = { + .peak_rate = 600000, /* 600 MBps */ + .average_rate = 80000, /* 80 MBps */ + }, + /* Average rate is unused for the next two interconnects */ + [IPA_INTERCONNECT_IMEM] = { + .peak_rate = 350000, /* 350 MBps */ + .average_rate = 0, /* unused */ + }, + [IPA_INTERCONNECT_CONFIG] = { + .peak_rate = 40000, /* 40 MBps */ + .average_rate = 0, /* unused */ + }, + }, +}; + /* Configuration data for the SDM845 SoC. */ const struct ipa_data ipa_data_sdm845 = { .version = IPA_VERSION_3_5_1, @@ -336,4 +356,5 @@ const struct ipa_data ipa_data_sdm845 = { .endpoint_data = ipa_gsi_endpoint_data, .resource_data = &ipa_resource_data, .mem_data = &ipa_mem_data, + .clock_data = &ipa_clock_data, }; |