Lines Matching refs:cr

222 static u32 iotlb_cr_to_virt(struct cr_regs *cr)  in iotlb_cr_to_virt()  argument
224 u32 page_size = cr->cam & MMU_CAM_PGSZ_MASK; in iotlb_cr_to_virt()
225 u32 mask = get_cam_va_mask(cr->cam & page_size); in iotlb_cr_to_virt()
227 return cr->cam & mask; in iotlb_cr_to_virt()
281 static void iotlb_read_cr(struct omap_iommu *obj, struct cr_regs *cr) in iotlb_read_cr() argument
283 cr->cam = iommu_read_reg(obj, MMU_READ_CAM); in iotlb_read_cr()
284 cr->ram = iommu_read_reg(obj, MMU_READ_RAM); in iotlb_read_cr()
287 static void iotlb_load_cr(struct omap_iommu *obj, struct cr_regs *cr) in iotlb_load_cr() argument
289 iommu_write_reg(obj, cr->cam | MMU_CAM_V, MMU_CAM); in iotlb_load_cr()
290 iommu_write_reg(obj, cr->ram, MMU_RAM); in iotlb_load_cr()
299 struct cr_regs cr; in __iotlb_read_cr() local
305 iotlb_read_cr(obj, &cr); in __iotlb_read_cr()
307 return cr; in __iotlb_read_cr()
314 struct cr_regs *cr; in iotlb_alloc_cr() local
325 cr = kmalloc(sizeof(*cr), GFP_KERNEL); in iotlb_alloc_cr()
326 if (!cr) in iotlb_alloc_cr()
329 cr->cam = (e->da & MMU_CAM_VATAG_MASK) | e->prsvd | e->pgsz | e->valid; in iotlb_alloc_cr()
330 cr->ram = e->pa | e->endian | e->elsz | e->mixed; in iotlb_alloc_cr()
332 return cr; in iotlb_alloc_cr()
344 struct cr_regs *cr; in load_iotlb_entry() local
377 cr = iotlb_alloc_cr(obj, e); in load_iotlb_entry()
378 if (IS_ERR(cr)) { in load_iotlb_entry()
380 return PTR_ERR(cr); in load_iotlb_entry()
383 iotlb_load_cr(obj, cr); in load_iotlb_entry()
384 kfree(cr); in load_iotlb_entry()
421 struct cr_regs cr; in flush_iotlb_page() local
425 for_each_iotlb_cr(obj, obj->nr_tlb_entries, i, cr) { in flush_iotlb_page()
429 if (!iotlb_cr_valid(&cr)) in flush_iotlb_page()
432 start = iotlb_cr_to_virt(&cr); in flush_iotlb_page()
433 bytes = iopgsz_to_bytes(cr.cam & 3); in flush_iotlb_page()
438 iotlb_load_cr(obj, &cr); in flush_iotlb_page()