Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 558ec8ad authored by Paul Burton's avatar Paul Burton
Browse files

MIPS: mm: Remove local_flush_tlb_mm()



All 3 variants of local_flush_tlb_mm() are now effectively simple calls
to drop_mmu_context(). Remove them and use drop_mmu_context() directly.

Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
Cc: linux-mips@vger.kernel.org
parent f7908a00
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -14,7 +14,6 @@
 *  - flush_tlb_kernel_range(start, end) flushes a range of kernel pages
 *  - flush_tlb_kernel_range(start, end) flushes a range of kernel pages
 */
 */
extern void local_flush_tlb_all(void);
extern void local_flush_tlb_all(void);
extern void local_flush_tlb_mm(struct mm_struct *mm);
extern void local_flush_tlb_range(struct vm_area_struct *vma,
extern void local_flush_tlb_range(struct vm_area_struct *vma,
	unsigned long start, unsigned long end);
	unsigned long start, unsigned long end);
extern void local_flush_tlb_kernel_range(unsigned long start,
extern void local_flush_tlb_kernel_range(unsigned long start,
@@ -23,6 +22,8 @@ extern void local_flush_tlb_page(struct vm_area_struct *vma,
	unsigned long page);
	unsigned long page);
extern void local_flush_tlb_one(unsigned long vaddr);
extern void local_flush_tlb_one(unsigned long vaddr);


#include <asm/mmu_context.h>

#ifdef CONFIG_SMP
#ifdef CONFIG_SMP


extern void flush_tlb_all(void);
extern void flush_tlb_all(void);
@@ -36,7 +37,7 @@ extern void flush_tlb_one(unsigned long vaddr);
#else /* CONFIG_SMP */
#else /* CONFIG_SMP */


#define flush_tlb_all()			local_flush_tlb_all()
#define flush_tlb_all()			local_flush_tlb_all()
#define flush_tlb_mm(mm)		local_flush_tlb_mm(mm)
#define flush_tlb_mm(mm)		drop_mmu_context(mm)
#define flush_tlb_range(vma, vmaddr, end)	local_flush_tlb_range(vma, vmaddr, end)
#define flush_tlb_range(vma, vmaddr, end)	local_flush_tlb_range(vma, vmaddr, end)
#define flush_tlb_kernel_range(vmaddr,end) \
#define flush_tlb_kernel_range(vmaddr,end) \
	local_flush_tlb_kernel_range(vmaddr, end)
	local_flush_tlb_kernel_range(vmaddr, end)
+2 −2
Original line number Original line Diff line number Diff line
@@ -487,7 +487,7 @@ void flush_tlb_all(void)


static void flush_tlb_mm_ipi(void *mm)
static void flush_tlb_mm_ipi(void *mm)
{
{
	local_flush_tlb_mm((struct mm_struct *)mm);
	drop_mmu_context((struct mm_struct *)mm);
}
}


/*
/*
@@ -540,7 +540,7 @@ void flush_tlb_mm(struct mm_struct *mm)
				cpu_context(cpu, mm) = 0;
				cpu_context(cpu, mm) = 0;
		}
		}
	}
	}
	local_flush_tlb_mm(mm);
	drop_mmu_context(mm);


	preempt_enable();
	preempt_enable();
}
}
+0 −12
Original line number Original line Diff line number Diff line
@@ -67,18 +67,6 @@ void local_flush_tlb_all(void)
	local_irq_restore(flags);
	local_irq_restore(flags);
}
}


void local_flush_tlb_mm(struct mm_struct *mm)
{
#ifdef DEBUG_TLB
	int cpu = smp_processor_id();

	if (cpu_context(cpu, mm) != 0)
		printk("[tlbmm<%lu>]", (unsigned long)cpu_context(cpu, mm));
#endif

	drop_mmu_context(mm);
}

void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
			   unsigned long end)
			   unsigned long end)
{
{
+0 −7
Original line number Original line Diff line number Diff line
@@ -104,13 +104,6 @@ void local_flush_tlb_all(void)
}
}
EXPORT_SYMBOL(local_flush_tlb_all);
EXPORT_SYMBOL(local_flush_tlb_all);


/* All entries common to a mm share an asid.  To effectively flush
   these entries, we just bump the asid. */
void local_flush_tlb_mm(struct mm_struct *mm)
{
	drop_mmu_context(mm);
}

void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
	unsigned long end)
	unsigned long end)
{
{
+0 −5
Original line number Original line Diff line number Diff line
@@ -50,11 +50,6 @@ void local_flush_tlb_all(void)
	local_irq_restore(flags);
	local_irq_restore(flags);
}
}


void local_flush_tlb_mm(struct mm_struct *mm)
{
	drop_mmu_context(mm);
}

void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
	unsigned long end)
	unsigned long end)
{
{