Lines Matching refs:pvr_dev

86 static void pvr_mmu_set_flush_flags(struct pvr_device *pvr_dev, u32 flags)  in pvr_mmu_set_flush_flags()  argument
88 atomic_fetch_or(flags, &pvr_dev->mmu_flush_cache_flags); in pvr_mmu_set_flush_flags()
99 void pvr_mmu_flush_request_all(struct pvr_device *pvr_dev) in pvr_mmu_flush_request_all() argument
101 pvr_mmu_set_flush_flags(pvr_dev, PVR_MMU_SYNC_LEVEL_2_FLAGS); in pvr_mmu_flush_request_all()
124 int pvr_mmu_flush_exec(struct pvr_device *pvr_dev, bool wait) in pvr_mmu_flush_exec() argument
133 if (!drm_dev_enter(from_pvr_device(pvr_dev), &idx)) in pvr_mmu_flush_exec()
137 if (!pvr_dev->fw_dev.booted) in pvr_mmu_flush_exec()
141 atomic_xchg(&pvr_dev->mmu_flush_cache_flags, 0); in pvr_mmu_flush_exec()
148 pvr_fw_object_get_fw_addr(pvr_dev->fw_dev.mem.mmucache_sync_obj, in pvr_mmu_flush_exec()
152 err = pvr_kccb_send_cmd(pvr_dev, &cmd_mmu_cache, &slot); in pvr_mmu_flush_exec()
156 err = pvr_kccb_wait_for_completion(pvr_dev, slot, HZ, NULL); in pvr_mmu_flush_exec()
169 err = pvr_power_reset(pvr_dev, true); in pvr_mmu_flush_exec()
174 err = pvr_kccb_send_cmd(pvr_dev, &cmd_mmu_cache, &slot); in pvr_mmu_flush_exec()
176 pvr_device_lost(pvr_dev); in pvr_mmu_flush_exec()
181 err = pvr_kccb_wait_for_completion(pvr_dev, slot, HZ, NULL); in pvr_mmu_flush_exec()
183 pvr_device_lost(pvr_dev); in pvr_mmu_flush_exec()
234 struct pvr_device *pvr_dev; member
258 struct pvr_device *pvr_dev) in pvr_mmu_backing_page_init() argument
260 struct device *dev = from_pvr_device(pvr_dev)->dev; in pvr_mmu_backing_page_init()
292 page->pvr_dev = pvr_dev; in pvr_mmu_backing_page_init()
328 if (!page->pvr_dev) in pvr_mmu_backing_page_fini()
331 dev = from_pvr_device(page->pvr_dev)->dev; in pvr_mmu_backing_page_fini()
359 struct pvr_device *pvr_dev = page->pvr_dev; in pvr_mmu_backing_page_sync() local
366 if (!pvr_dev) in pvr_mmu_backing_page_sync()
369 dev = from_pvr_device(pvr_dev)->dev; in pvr_mmu_backing_page_sync()
374 pvr_mmu_set_flush_flags(pvr_dev, flags); in pvr_mmu_backing_page_sync()
891 struct pvr_device *pvr_dev) in pvr_page_table_l2_init() argument
893 return pvr_mmu_backing_page_init(&table->backing_page, pvr_dev); in pvr_page_table_l2_init()
1067 struct pvr_device *pvr_dev) in pvr_page_table_l1_init() argument
1071 return pvr_mmu_backing_page_init(&table->backing_page, pvr_dev); in pvr_page_table_l1_init()
1243 struct pvr_device *pvr_dev) in pvr_page_table_l0_init() argument
1247 return pvr_mmu_backing_page_init(&table->backing_page, pvr_dev); in pvr_page_table_l0_init()
1354 struct pvr_device *pvr_dev; member
1829 struct pvr_mmu_context *pvr_mmu_context_create(struct pvr_device *pvr_dev) in pvr_mmu_context_create() argument
1837 err = pvr_page_table_l2_init(&ctx->page_table_l2, pvr_dev); in pvr_mmu_context_create()
1841 ctx->pvr_dev = pvr_dev; in pvr_mmu_context_create()
1886 err = pvr_page_table_l1_init(table, ctx->pvr_dev); in pvr_page_table_l1_alloc()
1915 err = pvr_page_table_l0_init(table, ctx->pvr_dev); in pvr_page_table_l0_alloc()
2299 pvr_mmu_flush_exec(op_ctx->mmu_ctx->pvr_dev, true); in pvr_mmu_op_context_destroy()