Commit 5cf885d0 authored by Jiri Kosina's avatar Jiri Kosina Committed by Linus Torvalds

[PATCH] CRIS: TLB handling: turn local_save_flags() + local_irq_disable() into local_irq_save()

TLB handling for CRIS contains local_irq_disable() after local_save_flags().
Turn this into local_irq_save().
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
Cc: Mikael Starvik <starvik@axis.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 8447157a
...@@ -42,8 +42,7 @@ flush_tlb_all(void) ...@@ -42,8 +42,7 @@ flush_tlb_all(void)
* in the same 4-way entry group. details.. * in the same 4-way entry group. details..
*/ */
local_save_flags(flags); local_irq_save(flags);
local_irq_disable();
for(i = 0; i < NUM_TLB_ENTRIES; i++) { for(i = 0; i < NUM_TLB_ENTRIES; i++) {
*R_TLB_SELECT = ( IO_FIELD(R_TLB_SELECT, index, i) ); *R_TLB_SELECT = ( IO_FIELD(R_TLB_SELECT, index, i) );
*R_TLB_HI = ( IO_FIELD(R_TLB_HI, page_id, INVALID_PAGEID ) | *R_TLB_HI = ( IO_FIELD(R_TLB_HI, page_id, INVALID_PAGEID ) |
...@@ -78,8 +77,7 @@ flush_tlb_mm(struct mm_struct *mm) ...@@ -78,8 +77,7 @@ flush_tlb_mm(struct mm_struct *mm)
* global pages. is it worth the extra I/O ? * global pages. is it worth the extra I/O ?
*/ */
local_save_flags(flags); local_irq_save(flags);
local_irq_disable();
for(i = 0; i < NUM_TLB_ENTRIES; i++) { for(i = 0; i < NUM_TLB_ENTRIES; i++) {
*R_TLB_SELECT = IO_FIELD(R_TLB_SELECT, index, i); *R_TLB_SELECT = IO_FIELD(R_TLB_SELECT, index, i);
if (IO_EXTRACT(R_TLB_HI, page_id, *R_TLB_HI) == page_id) { if (IO_EXTRACT(R_TLB_HI, page_id, *R_TLB_HI) == page_id) {
...@@ -118,8 +116,7 @@ flush_tlb_page(struct vm_area_struct *vma, ...@@ -118,8 +116,7 @@ flush_tlb_page(struct vm_area_struct *vma,
* and the virtual address requested * and the virtual address requested
*/ */
local_save_flags(flags); local_irq_save(flags);
local_irq_disable();
for(i = 0; i < NUM_TLB_ENTRIES; i++) { for(i = 0; i < NUM_TLB_ENTRIES; i++) {
unsigned long tlb_hi; unsigned long tlb_hi;
*R_TLB_SELECT = IO_FIELD(R_TLB_SELECT, index, i); *R_TLB_SELECT = IO_FIELD(R_TLB_SELECT, index, i);
......
...@@ -54,8 +54,7 @@ __flush_tlb_all(void) ...@@ -54,8 +54,7 @@ __flush_tlb_all(void)
* Mask with 0xf so similar TLB entries aren't written in the same 4-way * Mask with 0xf so similar TLB entries aren't written in the same 4-way
* entry group. * entry group.
*/ */
local_save_flags(flags); local_irq_save(flags);
local_irq_disable();
for (mmu = 1; mmu <= 2; mmu++) { for (mmu = 1; mmu <= 2; mmu++) {
SUPP_BANK_SEL(mmu); /* Select the MMU */ SUPP_BANK_SEL(mmu); /* Select the MMU */
...@@ -92,8 +91,7 @@ __flush_tlb_mm(struct mm_struct *mm) ...@@ -92,8 +91,7 @@ __flush_tlb_mm(struct mm_struct *mm)
return; return;
/* Mark the TLB entries that match the page_id as invalid. */ /* Mark the TLB entries that match the page_id as invalid. */
local_save_flags(flags); local_irq_save(flags);
local_irq_disable();
for (mmu = 1; mmu <= 2; mmu++) { for (mmu = 1; mmu <= 2; mmu++) {
SUPP_BANK_SEL(mmu); SUPP_BANK_SEL(mmu);
...@@ -140,8 +138,7 @@ __flush_tlb_page(struct vm_area_struct *vma, unsigned long addr) ...@@ -140,8 +138,7 @@ __flush_tlb_page(struct vm_area_struct *vma, unsigned long addr)
* Invalidate those TLB entries that match both the mm context and the * Invalidate those TLB entries that match both the mm context and the
* requested virtual address. * requested virtual address.
*/ */
local_save_flags(flags); local_irq_save(flags);
local_irq_disable();
for (mmu = 1; mmu <= 2; mmu++) { for (mmu = 1; mmu <= 2; mmu++) {
SUPP_BANK_SEL(mmu); SUPP_BANK_SEL(mmu);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment