diff options
author | Thierry Reding <treding@nvidia.com> | 2015-08-06 14:20:31 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-09-29 19:26:14 +0200 |
commit | 1f398b31044845397b5e2fefdb7ac247180e6a7c (patch) | |
tree | 994359543f48ebee8d0fc61719c980b785641759 /include | |
parent | fb2908b509749657cab5f7dbda2f24add8668969 (diff) |
iommu/tegra-smmu: Parameterize number of TLB lines
commit 11cec15bf3fb498206ef63b1fa26c27689e02d0e upstream.
The number of TLB lines was increased from 16 on Tegra30 to 32 on
Tegra114 and later. Parameterize the value so that the initial default
can be set accordingly.
On Tegra30, initializing the value to 32 would effectively disable the
TLB and hence cause massive latencies for memory accesses translated
through the SMMU. This is especially noticeable for isochronuous clients
such as display, whose FIFOs would continuously underrun.
Fixes: 891846516317 ("memory: Add NVIDIA Tegra memory controller support")
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/soc/tegra/mc.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/soc/tegra/mc.h b/include/soc/tegra/mc.h index 63deb8d9f82a..d298857cd845 100644 --- a/include/soc/tegra/mc.h +++ b/include/soc/tegra/mc.h @@ -59,6 +59,7 @@ struct tegra_smmu_soc { bool supports_round_robin_arbitration; bool supports_request_limit; + unsigned int num_tlb_lines; unsigned int num_asids; const struct tegra_smmu_ops *ops; |