Lines Matching refs:paddr

31 void (*_cache_line_loop_ic_fn)(phys_addr_t paddr, unsigned long vaddr,
250 void __cache_line_loop_v2(phys_addr_t paddr, unsigned long vaddr, in __cache_line_loop_v2() argument
270 sz += paddr & ~CACHE_LINE_MASK; in __cache_line_loop_v2()
271 paddr &= CACHE_LINE_MASK; in __cache_line_loop_v2()
278 paddr |= (vaddr >> PAGE_SHIFT) & 0x1F; in __cache_line_loop_v2()
281 write_aux_reg(aux_cmd, paddr); in __cache_line_loop_v2()
282 paddr += L1_CACHE_BYTES; in __cache_line_loop_v2()
295 void __cache_line_loop_v3(phys_addr_t paddr, unsigned long vaddr, in __cache_line_loop_v3() argument
316 sz += paddr & ~CACHE_LINE_MASK; in __cache_line_loop_v3()
317 paddr &= CACHE_LINE_MASK; in __cache_line_loop_v3()
327 write_aux_reg(aux_tag, paddr); in __cache_line_loop_v3()
337 write_aux_reg(ARC_REG_IC_PTAG_HI, (u64)paddr >> 32); in __cache_line_loop_v3()
341 write_aux_reg(aux_tag, paddr); in __cache_line_loop_v3()
342 paddr += L1_CACHE_BYTES; in __cache_line_loop_v3()
366 void __cache_line_loop_v4(phys_addr_t paddr, unsigned long vaddr, in __cache_line_loop_v4() argument
386 sz += paddr & ~CACHE_LINE_MASK; in __cache_line_loop_v4()
387 paddr &= CACHE_LINE_MASK; in __cache_line_loop_v4()
403 write_aux_reg(ARC_REG_IC_PTAG_HI, (u64)paddr >> 32); in __cache_line_loop_v4()
405 write_aux_reg(ARC_REG_DC_PTAG_HI, (u64)paddr >> 32); in __cache_line_loop_v4()
409 write_aux_reg(aux_cmd, paddr); in __cache_line_loop_v4()
410 paddr += L1_CACHE_BYTES; in __cache_line_loop_v4()
420 void __cache_line_loop_v4(phys_addr_t paddr, unsigned long vaddr, in __cache_line_loop_v4() argument
436 sz += paddr & ~CACHE_LINE_MASK; in __cache_line_loop_v4()
437 paddr &= CACHE_LINE_MASK; in __cache_line_loop_v4()
449 write_aux_reg(ARC_REG_IC_PTAG_HI, (u64)paddr >> 32); in __cache_line_loop_v4()
451 write_aux_reg(ARC_REG_DC_PTAG_HI, (u64)paddr >> 32); in __cache_line_loop_v4()
455 write_aux_reg(e, paddr + sz); /* ENDR is exclusive */ in __cache_line_loop_v4()
456 write_aux_reg(s, paddr); in __cache_line_loop_v4()
580 static inline void __dc_line_op(phys_addr_t paddr, unsigned long vaddr, in __dc_line_op() argument
590 __cache_line_loop(paddr, vaddr, sz, op, full_page); in __dc_line_op()
602 #define __dc_line_op(paddr, vaddr, sz, op) argument
603 #define __dc_line_op_k(paddr, sz, op) argument
616 __ic_line_inv_vaddr_local(phys_addr_t paddr, unsigned long vaddr, in __ic_line_inv_vaddr_local() argument
623 (*_cache_line_loop_ic_fn)(paddr, vaddr, sz, OP_INV_IC, full_page); in __ic_line_inv_vaddr_local()
634 phys_addr_t paddr, vaddr; member
642 __ic_line_inv_vaddr_local(ic_inv->paddr, ic_inv->vaddr, ic_inv->sz); in __ic_line_inv_vaddr_helper()
645 static void __ic_line_inv_vaddr(phys_addr_t paddr, unsigned long vaddr, in __ic_line_inv_vaddr() argument
649 .paddr = paddr, in __ic_line_inv_vaddr()
666 noinline void slc_op_rgn(phys_addr_t paddr, unsigned long sz, const int op) in slc_op_rgn() argument
709 end = paddr + sz + l2_line_sz - 1; in slc_op_rgn()
716 write_aux_reg(ARC_REG_SLC_RGN_START1, upper_32_bits(paddr)); in slc_op_rgn()
718 write_aux_reg(ARC_REG_SLC_RGN_START, lower_32_bits(paddr)); in slc_op_rgn()
729 noinline void slc_op_line(phys_addr_t paddr, unsigned long sz, const int op) in slc_op_line() argument
760 sz += paddr & ~SLC_LINE_MASK; in slc_op_line()
761 paddr &= SLC_LINE_MASK; in slc_op_line()
766 write_aux_reg(cmd, paddr); in slc_op_line()
767 paddr += l2_line_sz; in slc_op_line()
779 #define slc_op(paddr, sz, op) slc_op_rgn(paddr, sz, op) argument
860 phys_addr_t paddr = (unsigned long)page_address(page); in flush_dcache_page() local
863 if (addr_not_cache_congruent(paddr, vaddr)) in flush_dcache_page()
864 __flush_dcache_page(paddr, vaddr); in flush_dcache_page()
999 void __sync_icache_dcache(phys_addr_t paddr, unsigned long vaddr, int len) in __sync_icache_dcache() argument
1001 __dc_line_op(paddr, vaddr, len, OP_FLUSH_N_INV); in __sync_icache_dcache()
1002 __ic_line_inv_vaddr(paddr, vaddr, len); in __sync_icache_dcache()
1006 void __inv_icache_page(phys_addr_t paddr, unsigned long vaddr) in __inv_icache_page() argument
1008 __ic_line_inv_vaddr(paddr, vaddr, PAGE_SIZE); in __inv_icache_page()
1015 void __flush_dcache_page(phys_addr_t paddr, unsigned long vaddr) in __flush_dcache_page() argument
1017 __dc_line_op(paddr, vaddr & PAGE_MASK, PAGE_SIZE, OP_FLUSH_N_INV); in __flush_dcache_page()
1043 phys_addr_t paddr = pfn << PAGE_SHIFT; in flush_cache_page() local
1047 __flush_dcache_page(paddr, u_vaddr); in flush_cache_page()
1050 __inv_icache_page(paddr, u_vaddr); in flush_cache_page()