summaryrefslogtreecommitdiffstats
path: root/drivers/memory/tegra/tegra30.c
diff options
context:
space:
mode:
authorJoerg Roedel <jroedel@suse.de>2015-08-17 14:16:59 +0200
committerJoerg Roedel <jroedel@suse.de>2015-08-17 14:16:59 +0200
commit54e466fde4816455cc5b1893b73c2f3c7ca52e49 (patch)
tree402e1f22e0053ed4ee8155a5408bd0b1eac11113 /drivers/memory/tegra/tegra30.c
parent2c6625cd545bdd66acff14f3394865d43920a5c7 (diff)
parent11cec15bf3fb498206ef63b1fa26c27689e02d0e (diff)
downloadlinux-stable-54e466fde4816455cc5b1893b73c2f3c7ca52e49.tar.gz
linux-stable-54e466fde4816455cc5b1893b73c2f3c7ca52e49.tar.bz2
linux-stable-54e466fde4816455cc5b1893b73c2f3c7ca52e49.zip
Merge tag 'tegra-for-4.3-iommu' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/tegra
iommu/tegra-smmu: Changes for v4.3-rc1 A bunch of improvements by Russell King, along with a fix to restore display support when using the SMMU. This was due to the SMMU driver writing the wrong value of active TLB lines, effectively disabling the TLB and causing massive underflows on the display controller because of the latency introduced by the SMMU.
Diffstat (limited to 'drivers/memory/tegra/tegra30.c')
-rw-r--r--drivers/memory/tegra/tegra30.c18
1 files changed, 1 insertions, 17 deletions
diff --git a/drivers/memory/tegra/tegra30.c b/drivers/memory/tegra/tegra30.c
index 1abcd8f6f3ba..7e0694d80edb 100644
--- a/drivers/memory/tegra/tegra30.c
+++ b/drivers/memory/tegra/tegra30.c
@@ -9,8 +9,6 @@
#include <linux/of.h>
#include <linux/mm.h>
-#include <asm/cacheflush.h>
-
#include <dt-bindings/memory/tegra30-mc.h>
#include "mc.h"
@@ -936,20 +934,6 @@ static const struct tegra_smmu_swgroup tegra30_swgroups[] = {
{ .name = "isp", .swgroup = TEGRA_SWGROUP_ISP, .reg = 0x258 },
};
-static void tegra30_flush_dcache(struct page *page, unsigned long offset,
- size_t size)
-{
- phys_addr_t phys = page_to_phys(page) + offset;
- void *virt = page_address(page) + offset;
-
- __cpuc_flush_dcache_area(virt, size);
- outer_flush_range(phys, phys + size);
-}
-
-static const struct tegra_smmu_ops tegra30_smmu_ops = {
- .flush_dcache = tegra30_flush_dcache,
-};
-
static const struct tegra_smmu_soc tegra30_smmu_soc = {
.clients = tegra30_mc_clients,
.num_clients = ARRAY_SIZE(tegra30_mc_clients),
@@ -957,8 +941,8 @@ static const struct tegra_smmu_soc tegra30_smmu_soc = {
.num_swgroups = ARRAY_SIZE(tegra30_swgroups),
.supports_round_robin_arbitration = false,
.supports_request_limit = false,
+ .num_tlb_lines = 16,
.num_asids = 4,
- .ops = &tegra30_smmu_ops,
};
const struct tegra_mc_soc tegra30_mc_soc = {