Lines Matching refs:pvr_dev

85 static void pvr_mmu_set_flush_flags(struct pvr_device *pvr_dev, u32 flags)  in pvr_mmu_set_flush_flags()  argument
87 atomic_fetch_or(flags, &pvr_dev->mmu_flush_cache_flags); in pvr_mmu_set_flush_flags()
98 void pvr_mmu_flush_request_all(struct pvr_device *pvr_dev) in pvr_mmu_flush_request_all() argument
100 pvr_mmu_set_flush_flags(pvr_dev, PVR_MMU_SYNC_LEVEL_2_FLAGS); in pvr_mmu_flush_request_all()
123 int pvr_mmu_flush_exec(struct pvr_device *pvr_dev, bool wait) in pvr_mmu_flush_exec() argument
132 if (!drm_dev_enter(from_pvr_device(pvr_dev), &idx)) in pvr_mmu_flush_exec()
136 if (!pvr_dev->fw_dev.booted) in pvr_mmu_flush_exec()
140 atomic_xchg(&pvr_dev->mmu_flush_cache_flags, 0); in pvr_mmu_flush_exec()
147 pvr_fw_object_get_fw_addr(pvr_dev->fw_dev.mem.mmucache_sync_obj, in pvr_mmu_flush_exec()
151 err = pvr_kccb_send_cmd(pvr_dev, &cmd_mmu_cache, &slot); in pvr_mmu_flush_exec()
155 err = pvr_kccb_wait_for_completion(pvr_dev, slot, HZ, NULL); in pvr_mmu_flush_exec()
168 err = pvr_power_reset(pvr_dev, true); in pvr_mmu_flush_exec()
173 err = pvr_kccb_send_cmd(pvr_dev, &cmd_mmu_cache, &slot); in pvr_mmu_flush_exec()
175 pvr_device_lost(pvr_dev); in pvr_mmu_flush_exec()
180 err = pvr_kccb_wait_for_completion(pvr_dev, slot, HZ, NULL); in pvr_mmu_flush_exec()
182 pvr_device_lost(pvr_dev); in pvr_mmu_flush_exec()
233 struct pvr_device *pvr_dev; member
257 struct pvr_device *pvr_dev) in pvr_mmu_backing_page_init() argument
259 struct device *dev = from_pvr_device(pvr_dev)->dev; in pvr_mmu_backing_page_init()
286 page->pvr_dev = pvr_dev; in pvr_mmu_backing_page_init()
322 if (!page->pvr_dev) in pvr_mmu_backing_page_fini()
325 dev = from_pvr_device(page->pvr_dev)->dev; in pvr_mmu_backing_page_fini()
353 struct pvr_device *pvr_dev = page->pvr_dev; in pvr_mmu_backing_page_sync() local
360 if (!pvr_dev) in pvr_mmu_backing_page_sync()
363 dev = from_pvr_device(pvr_dev)->dev; in pvr_mmu_backing_page_sync()
368 pvr_mmu_set_flush_flags(pvr_dev, flags); in pvr_mmu_backing_page_sync()
885 struct pvr_device *pvr_dev) in pvr_page_table_l2_init() argument
887 return pvr_mmu_backing_page_init(&table->backing_page, pvr_dev); in pvr_page_table_l2_init()
1061 struct pvr_device *pvr_dev) in pvr_page_table_l1_init() argument
1065 return pvr_mmu_backing_page_init(&table->backing_page, pvr_dev); in pvr_page_table_l1_init()
1237 struct pvr_device *pvr_dev) in pvr_page_table_l0_init() argument
1241 return pvr_mmu_backing_page_init(&table->backing_page, pvr_dev); in pvr_page_table_l0_init()
1348 struct pvr_device *pvr_dev; member
1823 struct pvr_mmu_context *pvr_mmu_context_create(struct pvr_device *pvr_dev) in pvr_mmu_context_create() argument
1831 err = pvr_page_table_l2_init(&ctx->page_table_l2, pvr_dev); in pvr_mmu_context_create()
1835 ctx->pvr_dev = pvr_dev; in pvr_mmu_context_create()
1880 err = pvr_page_table_l1_init(table, ctx->pvr_dev); in pvr_page_table_l1_alloc()
1909 err = pvr_page_table_l0_init(table, ctx->pvr_dev); in pvr_page_table_l0_alloc()
2293 pvr_mmu_flush_exec(op_ctx->mmu_ctx->pvr_dev, true); in pvr_mmu_op_context_destroy()