diff options
Diffstat (limited to 'drivers/staging/tidspbridge/hw')
-rw-r--r-- | drivers/staging/tidspbridge/hw/hw_mmu.c | 6 | ||||
-rw-r--r-- | drivers/staging/tidspbridge/hw/hw_mmu.h | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/staging/tidspbridge/hw/hw_mmu.c b/drivers/staging/tidspbridge/hw/hw_mmu.c index 965b659..e593358 100644 --- a/drivers/staging/tidspbridge/hw/hw_mmu.c +++ b/drivers/staging/tidspbridge/hw/hw_mmu.c @@ -35,6 +35,7 @@ #define MMU_SMALL_PAGE_MASK 0xFFFFF000 #define MMU_LOAD_TLB 0x00000001 +#define MMU_GFLUSH 0x60 /* * hw_mmu_page_size_t: Enumerated Type used to specify the MMU Page Size(SLSS) @@ -585,3 +586,8 @@ static hw_status mmu_set_ram_entry(const void __iomem *baseAddress, return status; } + +void hw_mmu_tlb_flush_all(const void __iomem *base) +{ + __raw_writeb(1, base + MMU_GFLUSH); +} diff --git a/drivers/staging/tidspbridge/hw/hw_mmu.h b/drivers/staging/tidspbridge/hw/hw_mmu.h index 9b13468..0436974 100644 --- a/drivers/staging/tidspbridge/hw/hw_mmu.h +++ b/drivers/staging/tidspbridge/hw/hw_mmu.h @@ -97,6 +97,8 @@ extern hw_status hw_mmu_pte_set(const u32 pg_tbl_va, extern hw_status hw_mmu_pte_clear(const u32 pg_tbl_va, u32 page_size, u32 virtualAddr); +void hw_mmu_tlb_flush_all(const void __iomem *base); + static inline u32 hw_mmu_pte_addr_l1(u32 L1_base, u32 va) { u32 pte_addr; |