Skip to content

Commit

Permalink
Rename page argument of flush_cache_page to something more descriptive.
Browse files Browse the repository at this point in the history
    
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
Ralf Baechle committed Oct 29, 2005
1 parent 8f91ed6 commit 6ec2580
Showing 1 changed file with 17 additions and 16 deletions.
33 changes: 17 additions & 16 deletions arch/mips/mm/c-r4k.c
Original file line number Diff line number Diff line change
Expand Up @@ -368,14 +368,14 @@ static void r4k_flush_cache_mm(struct mm_struct *mm)

struct flush_cache_page_args {
struct vm_area_struct *vma;
unsigned long page;
unsigned long addr;
};

static inline void local_r4k_flush_cache_page(void *args)
{
struct flush_cache_page_args *fcp_args = args;
struct vm_area_struct *vma = fcp_args->vma;
unsigned long page = fcp_args->page;
unsigned long addr = fcp_args->addr;
int exec = vma->vm_flags & VM_EXEC;
struct mm_struct *mm = vma->vm_mm;
pgd_t *pgdp;
Expand All @@ -390,11 +390,11 @@ static inline void local_r4k_flush_cache_page(void *args)
if (cpu_context(smp_processor_id(), mm) == 0)
return;

page &= PAGE_MASK;
pgdp = pgd_offset(mm, page);
pudp = pud_offset(pgdp, page);
pmdp = pmd_offset(pudp, page);
ptep = pte_offset(pmdp, page);
addr &= PAGE_MASK;
pgdp = pgd_offset(mm, addr);
pudp = pud_offset(pgdp, addr);
pmdp = pmd_offset(pudp, addr);
ptep = pte_offset(pmdp, addr);

/*
* If the page isn't marked valid, the page cannot possibly be
Expand All @@ -411,12 +411,12 @@ static inline void local_r4k_flush_cache_page(void *args)
*/
if ((mm == current->active_mm) && (pte_val(*ptep) & _PAGE_VALID)) {
if (cpu_has_dc_aliases || (exec && !cpu_has_ic_fills_f_dc)) {
r4k_blast_dcache_page(page);
r4k_blast_dcache_page(addr);
if (exec && !cpu_icache_snoops_remote_store)
r4k_blast_scache_page(page);
r4k_blast_scache_page(addr);
}
if (exec)
r4k_blast_icache_page(page);
r4k_blast_icache_page(addr);

return;
}
Expand All @@ -425,11 +425,11 @@ static inline void local_r4k_flush_cache_page(void *args)
* Do indexed flush, too much work to get the (possible) TLB refills
* to work correctly.
*/
page = INDEX_BASE + (page & (dcache_size - 1));
addr = INDEX_BASE + (addr & (dcache_size - 1));
if (cpu_has_dc_aliases || (exec && !cpu_has_ic_fills_f_dc)) {
r4k_blast_dcache_page_indexed(page);
r4k_blast_dcache_page_indexed(addr);
if (exec && !cpu_icache_snoops_remote_store)
r4k_blast_scache_page_indexed(page);
r4k_blast_scache_page_indexed(addr);
}
if (exec) {
if (cpu_has_vtag_icache) {
Expand All @@ -438,16 +438,17 @@ static inline void local_r4k_flush_cache_page(void *args)
if (cpu_context(cpu, mm) != 0)
drop_mmu_context(mm, cpu);
} else
r4k_blast_icache_page_indexed(page);
r4k_blast_icache_page_indexed(addr);
}
}

static void r4k_flush_cache_page(struct vm_area_struct *vma, unsigned long page, unsigned long pfn)
static void r4k_flush_cache_page(struct vm_area_struct *vma,
unsigned long addr, unsigned long pfn)
{
struct flush_cache_page_args args;

args.vma = vma;
args.page = page;
args.addr = addr;

on_each_cpu(local_r4k_flush_cache_page, &args, 1, 1);
}
Expand Down

0 comments on commit 6ec2580

Please sign in to comment.