[PATCH v4 13/22] ARM: Fix MULTI_TLB for feroceon
Jason Cooper
jason at lakedaemon.net
Sat Feb 22 15:03:00 EST 2014
On Sat, Feb 22, 2014 at 08:14:55PM +0100, Andrew Lunn wrote:
> Feroceon has the same flush operations as v4wbi, but has an additional
> flag, TLB_L2CLEAN_FR. When building with MULTI_TLB this flag is placed
> into cpu_tlb.tlb_flags, so there needs to be a cpu_tlb specifically
> for feroceon, rather than sharing the v4wbi.
>
> Signed-off-by: Andrew Lunn <andrew at lunn.ch>
> Acked-by: Arnd Bergmann <arnd at arndb.de>
> Tested-by: Jason Gunthorpe <jgunthorpe at obsidianresearch.com>
> Cc: Russell King <linux at arm.linux.org.uk>
> ---
> arch/arm/mm/proc-feroceon.S | 2 +-
> arch/arm/mm/tlb-v4wbi.S | 3 +++
> 2 files changed, 4 insertions(+), 1 deletion(-)
This is a bit beyond me, so I'll just ask. Does the rest of this series
have a build dependency on this patch? If not, please put it in rmk's
patch tracker.
thx,
Jason.
> diff --git a/arch/arm/mm/proc-feroceon.S b/arch/arm/mm/proc-feroceon.S
> index db79b62c92fb..b76c2706cb02 100644
> --- a/arch/arm/mm/proc-feroceon.S
> +++ b/arch/arm/mm/proc-feroceon.S
> @@ -607,7 +607,7 @@ __\name\()_proc_info:
> .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP
> .long \cpu_name
> .long feroceon_processor_functions
> - .long v4wbi_tlb_fns
> + .long fr_tlb_fns
> .long feroceon_user_fns
> .long \cache
> .size __\name\()_proc_info, . - __\name\()_proc_info
> diff --git a/arch/arm/mm/tlb-v4wbi.S b/arch/arm/mm/tlb-v4wbi.S
> index 1f6062b6c1c1..4e053fef3487 100644
> --- a/arch/arm/mm/tlb-v4wbi.S
> +++ b/arch/arm/mm/tlb-v4wbi.S
> @@ -28,6 +28,7 @@
> * - mm - mm_struct describing address space
> */
> .align 5
> +ENTRY(fr_flush_user_tlb_range)
> ENTRY(v4wbi_flush_user_tlb_range)
> vma_vm_mm ip, r2
> act_mm r3 @ get current->active_mm
> @@ -46,6 +47,7 @@ ENTRY(v4wbi_flush_user_tlb_range)
> blo 1b
> mov pc, lr
>
> +ENTRY(fr_flush_kern_tlb_range)
> ENTRY(v4wbi_flush_kern_tlb_range)
> mov r3, #0
> mcr p15, 0, r3, c7, c10, 4 @ drain WB
> @@ -62,3 +64,4 @@ ENTRY(v4wbi_flush_kern_tlb_range)
>
> /* define struct cpu_tlb_fns (see <asm/tlbflush.h> and proc-macros.S) */
> define_tlb_functions v4wbi, v4wbi_tlb_flags
> + define_tlb_functions fr, fr_tlb_flags
> --
> 1.8.5.3
>
More information about the linux-arm-kernel
mailing list