/kernel/linux/linux-5.10/drivers/gpu/drm/i915/gvt/ |
H A D | gvt.c | 38 #include "gvt.h" 49 static struct intel_vgpu_type *intel_gvt_find_vgpu_type(struct intel_gvt *gvt, in intel_gvt_find_vgpu_type() argument 53 dev_driver_string(&gvt->gt->i915->drm.pdev->dev); in intel_gvt_find_vgpu_type() 57 for (i = 0; i < gvt->num_types; i++) { in intel_gvt_find_vgpu_type() 58 struct intel_vgpu_type *t = &gvt->types[i]; in intel_gvt_find_vgpu_type() 72 void *gvt = kdev_to_i915(dev)->gvt; in available_instances_show() local 74 type = intel_gvt_find_vgpu_type(gvt, kobject_name(kobj)); in available_instances_show() 93 void *gvt = kdev_to_i915(dev)->gvt; in description_show() local 129 intel_gvt_init_vgpu_type_groups(struct intel_gvt *gvt) intel_gvt_init_vgpu_type_groups() argument 158 intel_gvt_cleanup_vgpu_type_groups(struct intel_gvt *gvt) intel_gvt_cleanup_vgpu_type_groups() argument 189 init_device_info(struct intel_gvt *gvt) init_device_info() argument 208 struct intel_gvt *gvt = (struct intel_gvt *)data; gvt_service_thread() local 238 clean_service_thread(struct intel_gvt *gvt) clean_service_thread() argument 243 init_service_thread(struct intel_gvt *gvt) init_service_thread() argument 266 struct intel_gvt *gvt = fetch_and_zero(&i915->gvt); intel_gvt_clean_device() local 302 struct intel_gvt *gvt; intel_gvt_init_device() local 409 intel_gvt_pm_resume(struct intel_gvt *gvt) intel_gvt_pm_resume() argument 421 void *gvt; intel_gvt_register_hypervisor() local [all...] |
H A D | vgpu.c | 35 #include "gvt.h" 40 struct drm_i915_private *i915 = vgpu->gvt->gt->i915; in populate_pvinfo_page() 102 * @gvt : GVT device 107 int intel_gvt_init_vgpu_types(struct intel_gvt *gvt) in intel_gvt_init_vgpu_types() argument 125 low_avail = gvt_aperture_sz(gvt) - HOST_LOW_GM_SIZE; in intel_gvt_init_vgpu_types() 126 high_avail = gvt_hidden_sz(gvt) - HOST_HIGH_GM_SIZE; in intel_gvt_init_vgpu_types() 129 gvt->types = kcalloc(num_types, sizeof(struct intel_vgpu_type), in intel_gvt_init_vgpu_types() 131 if (!gvt->types) in intel_gvt_init_vgpu_types() 139 gvt->types[i].low_gm_size = vgpu_types[i].low_mm; in intel_gvt_init_vgpu_types() 140 gvt in intel_gvt_init_vgpu_types() 172 intel_gvt_clean_vgpu_types(struct intel_gvt *gvt) intel_gvt_clean_vgpu_types() argument 177 intel_gvt_update_vgpu_types(struct intel_gvt *gvt) intel_gvt_update_vgpu_types() argument 275 struct intel_gvt *gvt = vgpu->gvt; intel_gvt_destroy_vgpu() local 322 intel_gvt_create_idle_vgpu(struct intel_gvt *gvt) intel_gvt_create_idle_vgpu() argument 368 __intel_gvt_create_vgpu(struct intel_gvt *gvt, struct intel_vgpu_creation_params *param) __intel_gvt_create_vgpu() argument 482 intel_gvt_create_vgpu(struct intel_gvt *gvt, struct intel_vgpu_type *type) intel_gvt_create_vgpu() argument 541 struct intel_gvt *gvt = vgpu->gvt; intel_gvt_reset_vgpu_locked() local [all...] |
H A D | aperture_gm.c | 39 #include "gvt.h" 43 struct intel_gvt *gvt = vgpu->gvt; in alloc_gm() local 44 struct intel_gt *gt = gvt->gt; in alloc_gm() 53 start = ALIGN(gvt_hidden_gmadr_base(gvt), I915_GTT_PAGE_SIZE); in alloc_gm() 54 end = ALIGN(gvt_hidden_gmadr_end(gvt), I915_GTT_PAGE_SIZE); in alloc_gm() 59 start = ALIGN(gvt_aperture_gmadr_base(gvt), I915_GTT_PAGE_SIZE); in alloc_gm() 60 end = ALIGN(gvt_aperture_gmadr_end(gvt), I915_GTT_PAGE_SIZE); in alloc_gm() 81 struct intel_gvt *gvt = vgpu->gvt; in alloc_vgpu_gm() local 109 struct intel_gvt *gvt = vgpu->gvt; free_vgpu_gm() local 131 struct intel_gvt *gvt = vgpu->gvt; intel_vgpu_write_fence() local 167 struct intel_gvt *gvt = vgpu->gvt; free_vgpu_fence() local 192 struct intel_gvt *gvt = vgpu->gvt; alloc_vgpu_fence() local 234 struct intel_gvt *gvt = vgpu->gvt; free_resource() local 244 struct intel_gvt *gvt = vgpu->gvt; alloc_resource() local 322 struct intel_gvt *gvt = vgpu->gvt; intel_vgpu_reset_resource() local [all...] |
H A D | gvt.h | 175 struct intel_gvt *gvt; member 184 /* Both sched_data and sched_ctl can be seen a part of the global gvt 296 /* scheduler scope lock, protect gvt and vgpu schedule related data */ 320 * use it with atomic bit ops so that no need to use gvt big lock. 338 return i915->gvt; in to_gvt() 351 static inline void intel_gvt_request_service(struct intel_gvt *gvt, in intel_gvt_request_service() argument 354 set_bit(service, (void *)&gvt->service_request); in intel_gvt_request_service() 355 wake_up(&gvt->service_thread_wq); in intel_gvt_request_service() 358 void intel_gvt_free_firmware(struct intel_gvt *gvt); 359 int intel_gvt_load_firmware(struct intel_gvt *gvt); 595 intel_gvt_mmio_set_accessed( struct intel_gvt *gvt, unsigned int offset) intel_gvt_mmio_set_accessed() argument 609 intel_gvt_mmio_is_cmd_accessible( struct intel_gvt *gvt, unsigned int offset) intel_gvt_mmio_is_cmd_accessible() argument 622 intel_gvt_mmio_set_cmd_accessible( struct intel_gvt *gvt, unsigned int offset) intel_gvt_mmio_set_cmd_accessible() argument 634 intel_gvt_mmio_is_unalign( struct intel_gvt *gvt, unsigned int offset) intel_gvt_mmio_is_unalign() argument 649 intel_gvt_mmio_has_mode_mask( struct intel_gvt *gvt, unsigned int offset) intel_gvt_mmio_has_mode_mask() argument 665 intel_gvt_mmio_is_sr_in_ctx( struct intel_gvt *gvt, unsigned int offset) intel_gvt_mmio_is_sr_in_ctx() argument 679 intel_gvt_mmio_set_sr_in_ctx( struct intel_gvt *gvt, unsigned int offset) intel_gvt_mmio_set_sr_in_ctx() argument [all...] |
H A D | sched_policy.c | 35 #include "gvt.h" 42 for_each_engine(engine, vgpu->gvt->gt, i) { in vgpu_has_pending_workload() 68 struct intel_gvt *gvt; member 80 if (!vgpu || vgpu == vgpu->gvt->idle_vgpu) in vgpu_update_timeslice() 132 static void try_to_schedule_next_vgpu(struct intel_gvt *gvt) in try_to_schedule_next_vgpu() argument 134 struct intel_gvt_workload_scheduler *scheduler = &gvt->scheduler; in try_to_schedule_next_vgpu() 155 for_each_engine(engine, gvt->gt, i) { in try_to_schedule_next_vgpu() 172 for_each_engine(engine, gvt->gt, i) in try_to_schedule_next_vgpu() 213 struct intel_gvt *gvt = sched_data->gvt; in tbs_sched_func() local 240 intel_gvt_schedule(struct intel_gvt *gvt) intel_gvt_schedule() argument 277 tbs_sched_init(struct intel_gvt *gvt) tbs_sched_init() argument 299 tbs_sched_clean(struct intel_gvt *gvt) tbs_sched_clean() argument 330 struct intel_gvt *gvt = vgpu->gvt; tbs_sched_clean_vgpu() local 380 intel_gvt_init_sched_policy(struct intel_gvt *gvt) intel_gvt_init_sched_policy() argument 392 intel_gvt_clean_sched_policy(struct intel_gvt *gvt) intel_gvt_clean_sched_policy() argument 436 intel_gvt_kick_schedule(struct intel_gvt *gvt) intel_gvt_kick_schedule() argument [all...] |
H A D | debugfs.c | 26 #include "gvt.h" 58 static inline int mmio_diff_handler(struct intel_gvt *gvt, in mmio_diff_handler() argument 65 preg = intel_uncore_read_notrace(gvt->gt->uncore, _MMIO(offset)); in mmio_diff_handler() 87 struct intel_gvt *gvt = vgpu->gvt; in vgpu_mmio_diff_show() local 97 mutex_lock(&gvt->lock); in vgpu_mmio_diff_show() 98 spin_lock_bh(&gvt->scheduler.mmio_context_lock); in vgpu_mmio_diff_show() 100 mmio_hw_access_pre(gvt->gt); in vgpu_mmio_diff_show() 102 intel_gvt_for_each_tracked_mmio(gvt, mmio_diff_handler, ¶m); in vgpu_mmio_diff_show() 103 mmio_hw_access_post(gvt in vgpu_mmio_diff_show() 178 struct intel_gvt *gvt = vgpu->gvt; intel_gvt_debugfs_remove_vgpu() local 191 intel_gvt_debugfs_init(struct intel_gvt *gvt) intel_gvt_debugfs_init() argument 205 intel_gvt_debugfs_clean(struct intel_gvt *gvt) intel_gvt_debugfs_clean() argument [all...] |
H A D | mmio.c | 37 #include "gvt.h" 53 #define reg_is_mmio(gvt, reg) \ 54 (reg >= 0 && reg < gvt->device_info.mmio_size) 56 #define reg_is_gtt(gvt, reg) \ 57 (reg >= gvt->device_info.gtt_start_offset \ 58 && reg < gvt->device_info.gtt_start_offset + gvt_ggtt_sz(gvt)) 63 struct intel_gvt *gvt = NULL; in failsafe_emulate_mmio_rw() local 70 gvt = vgpu->gvt; in failsafe_emulate_mmio_rw() 105 struct intel_gvt *gvt = vgpu->gvt; intel_vgpu_emulate_mmio_read() local 180 struct intel_gvt *gvt = vgpu->gvt; intel_vgpu_emulate_mmio_write() local 242 struct intel_gvt *gvt = vgpu->gvt; intel_vgpu_reset_mmio() local [all...] |
H A D | firmware.c | 35 #include "gvt.h" 69 static int mmio_snapshot_handler(struct intel_gvt *gvt, u32 offset, void *data) in mmio_snapshot_handler() argument 71 *(u32 *)(data + offset) = intel_uncore_read_notrace(gvt->gt->uncore, in mmio_snapshot_handler() 76 static int expose_firmware_sysfs(struct intel_gvt *gvt) in expose_firmware_sysfs() argument 78 struct intel_gvt_device_info *info = &gvt->device_info; in expose_firmware_sysfs() 79 struct pci_dev *pdev = gvt->gt->i915->drm.pdev; in expose_firmware_sysfs() 105 memcpy(gvt->firmware.cfg_space, p, info->cfg_space_size); in expose_firmware_sysfs() 110 intel_gvt_for_each_tracked_mmio(gvt, mmio_snapshot_handler, p); in expose_firmware_sysfs() 112 memcpy(gvt->firmware.mmio, p, info->mmio_size); in expose_firmware_sysfs() 128 static void clean_firmware_sysfs(struct intel_gvt *gvt) in clean_firmware_sysfs() argument 141 intel_gvt_free_firmware(struct intel_gvt *gvt) intel_gvt_free_firmware() argument 150 verify_firmware(struct intel_gvt *gvt, const struct firmware *fw) verify_firmware() argument 205 intel_gvt_load_firmware(struct intel_gvt *gvt) intel_gvt_load_firmware() argument [all...] |
H A D | gtt.c | 37 #include "gvt.h" 74 struct drm_i915_private *i915 = vgpu->gvt->gt->i915; in intel_gvt_ggtt_gmadr_g2h() 92 struct drm_i915_private *i915 = vgpu->gvt->gt->i915; in intel_gvt_ggtt_gmadr_h2g() 94 if (drm_WARN(&i915->drm, !gvt_gmadr_is_valid(vgpu->gvt, h_addr), in intel_gvt_ggtt_gmadr_h2g() 98 if (gvt_gmadr_is_aperture(vgpu->gvt, h_addr)) in intel_gvt_ggtt_gmadr_h2g() 100 + (h_addr - gvt_aperture_gmadr_base(vgpu->gvt)); in intel_gvt_ggtt_gmadr_h2g() 103 + (h_addr - gvt_hidden_gmadr_base(vgpu->gvt)); in intel_gvt_ggtt_gmadr_h2g() 308 const struct intel_gvt_device_info *info = &vgpu->gvt->device_info; in gtt_get_entry64() 321 e->val64 = read_pte64(vgpu->gvt->gt->ggtt, index); in gtt_get_entry64() 333 const struct intel_gvt_device_info *info = &vgpu->gvt in gtt_set_entry64() 663 struct intel_gvt *gvt = spt->vgpu->gvt; ppgtt_spt_get_entry() local 692 struct intel_gvt *gvt = spt->vgpu->gvt; ppgtt_spt_set_entry() local 1325 struct intel_gvt *gvt = vgpu->gvt; ppgtt_populate_spt() local 1449 struct intel_gvt *gvt = vgpu->gvt; sync_oos_page() local 1491 struct intel_gvt *gvt = vgpu->gvt; detach_oos_page() local 1510 struct intel_gvt *gvt = spt->vgpu->gvt; attach_oos_page() local 1547 struct intel_gvt *gvt = spt->vgpu->gvt; ppgtt_allocate_oos_page() local 1801 struct intel_gvt *gvt = vgpu->gvt; invalidate_ppgtt_mm() local 1831 struct intel_gvt *gvt = vgpu->gvt; shadow_ppgtt_mm() local 1905 struct intel_gvt *gvt = vgpu->gvt; intel_vgpu_create_ppgtt_mm() local 2056 reclaim_one_ppgtt_mm(struct intel_gvt *gvt) reclaim_one_ppgtt_mm() argument 2113 struct intel_gvt *gvt = vgpu->gvt; intel_vgpu_gma_to_gpa() local 2251 struct intel_gvt *gvt = vgpu->gvt; emulate_ggtt_mmio_write() local 2590 clean_spt_oos(struct intel_gvt *gvt) clean_spt_oos() argument 2607 setup_spt_oos(struct intel_gvt *gvt) setup_spt_oos() argument 2740 intel_gvt_init_gtt(struct intel_gvt *gvt) intel_gvt_init_gtt() argument 2791 intel_gvt_clean_gtt(struct intel_gvt *gvt) intel_gvt_clean_gtt() argument 2840 struct intel_gvt *gvt = vgpu->gvt; intel_vgpu_reset_ggtt() local 2881 intel_gvt_restore_ggtt(struct intel_gvt *gvt) intel_gvt_restore_ggtt() argument [all...] |
H A D | mmio.h | 73 intel_gvt_render_mmio_to_engine(struct intel_gvt *gvt, unsigned int reg); 74 unsigned long intel_gvt_get_device_type(struct intel_gvt *gvt); 75 bool intel_gvt_match_device(struct intel_gvt *gvt, unsigned long device); 77 int intel_gvt_setup_mmio_info(struct intel_gvt *gvt); 78 void intel_gvt_clean_mmio_info(struct intel_gvt *gvt); 79 int intel_gvt_for_each_tracked_mmio(struct intel_gvt *gvt, 80 int (*handler)(struct intel_gvt *gvt, u32 offset, void *data), 99 bool intel_gvt_in_force_nonpriv_whitelist(struct intel_gvt *gvt, 108 void intel_gvt_restore_fence(struct intel_gvt *gvt); 109 void intel_gvt_restore_mmio(struct intel_gvt *gvt); [all...] |
H A D | interrupt.c | 33 #include "gvt.h" 147 struct intel_gvt *gvt, in regbase_to_irq_info() 150 struct intel_gvt_irq *irq = &gvt->irq; in regbase_to_irq_info() 178 struct intel_gvt *gvt = vgpu->gvt; in intel_vgpu_reg_imr_handler() local 179 struct intel_gvt_irq_ops *ops = gvt->irq.ops; in intel_vgpu_reg_imr_handler() 208 struct intel_gvt *gvt = vgpu->gvt; in intel_vgpu_reg_master_irq_handler() local 209 struct intel_gvt_irq_ops *ops = gvt->irq.ops; in intel_vgpu_reg_master_irq_handler() 247 struct intel_gvt *gvt in intel_vgpu_reg_ier_handler() local 146 regbase_to_irq_info( struct intel_gvt *gvt, unsigned int reg) regbase_to_irq_info() argument 498 struct intel_gvt *gvt = irq_to_gvt(irq); gen8_init_irq() local 626 struct intel_gvt *gvt = vgpu->gvt; intel_vgpu_trigger_virtual_event() local 654 struct intel_gvt *gvt; vblank_timer_fn() local 673 intel_gvt_clean_irq(struct intel_gvt *gvt) intel_gvt_clean_irq() argument 692 intel_gvt_init_irq(struct intel_gvt *gvt) intel_gvt_init_irq() argument [all...] |
H A D | sched_policy.h | 41 int (*init)(struct intel_gvt *gvt); 42 void (*clean)(struct intel_gvt *gvt); 49 void intel_gvt_schedule(struct intel_gvt *gvt); 51 int intel_gvt_init_sched_policy(struct intel_gvt *gvt); 53 void intel_gvt_clean_sched_policy(struct intel_gvt *gvt); 63 void intel_gvt_kick_schedule(struct intel_gvt *gvt);
|
/kernel/linux/linux-6.6/drivers/gpu/drm/i915/gvt/ |
H A D | aperture_gm.c | 40 #include "gvt.h" 44 struct intel_gvt *gvt = vgpu->gvt; in alloc_gm() local 45 struct intel_gt *gt = gvt->gt; in alloc_gm() 54 start = ALIGN(gvt_hidden_gmadr_base(gvt), I915_GTT_PAGE_SIZE); in alloc_gm() 55 end = ALIGN(gvt_hidden_gmadr_end(gvt), I915_GTT_PAGE_SIZE); in alloc_gm() 60 start = ALIGN(gvt_aperture_gmadr_base(gvt), I915_GTT_PAGE_SIZE); in alloc_gm() 61 end = ALIGN(gvt_aperture_gmadr_end(gvt), I915_GTT_PAGE_SIZE); in alloc_gm() 82 struct intel_gvt *gvt = vgpu->gvt; in alloc_vgpu_gm() local 110 struct intel_gvt *gvt = vgpu->gvt; free_vgpu_gm() local 132 struct intel_gvt *gvt = vgpu->gvt; intel_vgpu_write_fence() local 168 struct intel_gvt *gvt = vgpu->gvt; free_vgpu_fence() local 193 struct intel_gvt *gvt = vgpu->gvt; alloc_vgpu_fence() local 235 struct intel_gvt *gvt = vgpu->gvt; free_resource() local 245 struct intel_gvt *gvt = vgpu->gvt; alloc_resource() local 323 struct intel_gvt *gvt = vgpu->gvt; intel_vgpu_reset_resource() local [all...] |
H A D | gvt.h | 184 struct intel_gvt *gvt; member 192 /* Both sched_data and sched_ctl can be seen a part of the global gvt 328 /* scheduler scope lock, protect gvt and vgpu schedule related data */ 354 * use it with atomic bit ops so that no need to use gvt big lock. 373 return i915->gvt; in to_gvt() 389 static inline void intel_gvt_request_service(struct intel_gvt *gvt, in intel_gvt_request_service() argument 392 set_bit(service, (void *)&gvt->service_request); in intel_gvt_request_service() 393 wake_up(&gvt->service_thread_wq); in intel_gvt_request_service() 396 void intel_gvt_free_firmware(struct intel_gvt *gvt); 397 int intel_gvt_load_firmware(struct intel_gvt *gvt); 601 intel_gvt_mmio_set_accessed( struct intel_gvt *gvt, unsigned int offset) intel_gvt_mmio_set_accessed() argument 615 intel_gvt_mmio_is_cmd_accessible( struct intel_gvt *gvt, unsigned int offset) intel_gvt_mmio_is_cmd_accessible() argument 628 intel_gvt_mmio_set_cmd_accessible( struct intel_gvt *gvt, unsigned int offset) intel_gvt_mmio_set_cmd_accessible() argument 640 intel_gvt_mmio_is_unalign( struct intel_gvt *gvt, unsigned int offset) intel_gvt_mmio_is_unalign() argument 655 intel_gvt_mmio_has_mode_mask( struct intel_gvt *gvt, unsigned int offset) intel_gvt_mmio_has_mode_mask() argument 671 intel_gvt_mmio_is_sr_in_ctx( struct intel_gvt *gvt, unsigned int offset) intel_gvt_mmio_is_sr_in_ctx() argument 685 intel_gvt_mmio_set_sr_in_ctx( struct intel_gvt *gvt, unsigned int offset) intel_gvt_mmio_set_sr_in_ctx() argument 700 intel_gvt_mmio_set_cmd_write_patch( struct intel_gvt *gvt, unsigned int offset) intel_gvt_mmio_set_cmd_write_patch() argument 715 intel_gvt_mmio_is_cmd_write_patch( struct intel_gvt *gvt, unsigned int offset) intel_gvt_mmio_is_cmd_write_patch() argument [all...] |
H A D | sched_policy.c | 35 #include "gvt.h" 42 for_each_engine(engine, vgpu->gvt->gt, i) { in vgpu_has_pending_workload() 68 struct intel_gvt *gvt; member 80 if (!vgpu || vgpu == vgpu->gvt->idle_vgpu) in vgpu_update_timeslice() 132 static void try_to_schedule_next_vgpu(struct intel_gvt *gvt) in try_to_schedule_next_vgpu() argument 134 struct intel_gvt_workload_scheduler *scheduler = &gvt->scheduler; in try_to_schedule_next_vgpu() 155 for_each_engine(engine, gvt->gt, i) { in try_to_schedule_next_vgpu() 172 for_each_engine(engine, gvt->gt, i) in try_to_schedule_next_vgpu() 213 struct intel_gvt *gvt = sched_data->gvt; in tbs_sched_func() local 240 intel_gvt_schedule(struct intel_gvt *gvt) intel_gvt_schedule() argument 277 tbs_sched_init(struct intel_gvt *gvt) tbs_sched_init() argument 299 tbs_sched_clean(struct intel_gvt *gvt) tbs_sched_clean() argument 330 struct intel_gvt *gvt = vgpu->gvt; tbs_sched_clean_vgpu() local 380 intel_gvt_init_sched_policy(struct intel_gvt *gvt) intel_gvt_init_sched_policy() argument 392 intel_gvt_clean_sched_policy(struct intel_gvt *gvt) intel_gvt_clean_sched_policy() argument 436 intel_gvt_kick_schedule(struct intel_gvt *gvt) intel_gvt_kick_schedule() argument [all...] |
H A D | mmio.c | 38 #include "gvt.h" 57 #define reg_is_mmio(gvt, reg) \ 58 (reg >= 0 && reg < gvt->device_info.mmio_size) 60 #define reg_is_gtt(gvt, reg) \ 61 (reg >= gvt->device_info.gtt_start_offset \ 62 && reg < gvt->device_info.gtt_start_offset + gvt_ggtt_sz(gvt)) 67 struct intel_gvt *gvt = NULL; in failsafe_emulate_mmio_rw() local 74 gvt = vgpu->gvt; in failsafe_emulate_mmio_rw() 109 struct intel_gvt *gvt = vgpu->gvt; intel_vgpu_emulate_mmio_read() local 184 struct intel_gvt *gvt = vgpu->gvt; intel_vgpu_emulate_mmio_write() local 246 struct intel_gvt *gvt = vgpu->gvt; intel_vgpu_reset_mmio() local [all...] |
H A D | debugfs.c | 26 #include "gvt.h" 58 static inline int mmio_diff_handler(struct intel_gvt *gvt, in mmio_diff_handler() argument 65 preg = intel_uncore_read_notrace(gvt->gt->uncore, _MMIO(offset)); in mmio_diff_handler() 87 struct intel_gvt *gvt = vgpu->gvt; in vgpu_mmio_diff_show() local 97 mutex_lock(&gvt->lock); in vgpu_mmio_diff_show() 98 spin_lock_bh(&gvt->scheduler.mmio_context_lock); in vgpu_mmio_diff_show() 100 mmio_hw_access_pre(gvt->gt); in vgpu_mmio_diff_show() 102 intel_gvt_for_each_tracked_mmio(gvt, mmio_diff_handler, ¶m); in vgpu_mmio_diff_show() 103 mmio_hw_access_post(gvt in vgpu_mmio_diff_show() 195 struct intel_gvt *gvt = vgpu->gvt; intel_gvt_debugfs_remove_vgpu() local 208 intel_gvt_debugfs_init(struct intel_gvt *gvt) intel_gvt_debugfs_init() argument 222 intel_gvt_debugfs_clean(struct intel_gvt *gvt) intel_gvt_debugfs_clean() argument [all...] |
H A D | vgpu.c | 35 #include "gvt.h" 40 struct drm_i915_private *i915 = vgpu->gvt->gt->i915; in populate_pvinfo_page() 99 * @gvt : GVT device 104 int intel_gvt_init_vgpu_types(struct intel_gvt *gvt) in intel_gvt_init_vgpu_types() argument 106 unsigned int low_avail = gvt_aperture_sz(gvt) - HOST_LOW_GM_SIZE; in intel_gvt_init_vgpu_types() 107 unsigned int high_avail = gvt_hidden_sz(gvt) - HOST_HIGH_GM_SIZE; in intel_gvt_init_vgpu_types() 111 gvt->types = kcalloc(num_types, sizeof(struct intel_vgpu_type), in intel_gvt_init_vgpu_types() 113 if (!gvt->types) in intel_gvt_init_vgpu_types() 116 gvt->mdev_types = kcalloc(num_types, sizeof(*gvt in intel_gvt_init_vgpu_types() 154 intel_gvt_clean_vgpu_types(struct intel_gvt *gvt) intel_gvt_clean_vgpu_types() argument 226 struct intel_gvt *gvt = vgpu->gvt; intel_gvt_destroy_vgpu() local 266 intel_gvt_create_idle_vgpu(struct intel_gvt *gvt) intel_gvt_create_idle_vgpu() argument 314 struct intel_gvt *gvt = vgpu->gvt; intel_gvt_create_vgpu() local 437 struct intel_gvt *gvt = vgpu->gvt; intel_gvt_reset_vgpu_locked() local [all...] |
H A D | firmware.c | 35 #include "gvt.h" 69 static int expose_firmware_sysfs(struct intel_gvt *gvt) in expose_firmware_sysfs() argument 71 struct intel_gvt_device_info *info = &gvt->device_info; in expose_firmware_sysfs() 72 struct drm_i915_private *i915 = gvt->gt->i915; in expose_firmware_sysfs() 96 memcpy(gvt->firmware.cfg_space, i915->vgpu.initial_cfg_space, in expose_firmware_sysfs() 98 memcpy(p, gvt->firmware.cfg_space, info->cfg_space_size); in expose_firmware_sysfs() 102 memcpy(gvt->firmware.mmio, i915->vgpu.initial_mmio, in expose_firmware_sysfs() 105 memcpy(p, gvt->firmware.mmio, info->mmio_size); in expose_firmware_sysfs() 121 static void clean_firmware_sysfs(struct intel_gvt *gvt) in clean_firmware_sysfs() argument 123 struct pci_dev *pdev = to_pci_dev(gvt in clean_firmware_sysfs() 134 intel_gvt_free_firmware(struct intel_gvt *gvt) intel_gvt_free_firmware() argument 143 verify_firmware(struct intel_gvt *gvt, const struct firmware *fw) verify_firmware() argument 198 intel_gvt_load_firmware(struct intel_gvt *gvt) intel_gvt_load_firmware() argument [all...] |
H A D | kvmgt.c | 54 #include "gvt.h" 180 struct device *dev = vgpu->gvt->gt->i915->drm.dev; in gvt_dma_map_page() 203 struct device *dev = vgpu->gvt->gt->i915->drm.dev; in gvt_dma_unmap_page() 639 mutex_lock(&vgpu->gvt->lock); in __kvmgt_vgpu_exist() 640 for_each_active_vgpu(vgpu->gvt, itr, id) { in __kvmgt_vgpu_exist() 650 mutex_unlock(&vgpu->gvt->lock); in __kvmgt_vgpu_exist() 775 aperture_va = io_mapping_map_wc(&vgpu->gvt->gt->ggtt->iomap, in intel_vgpu_aperture_rw() 842 struct intel_gvt *gvt = vgpu->gvt; in gtt_entry() local 852 return (offset >= gvt in gtt_entry() 1515 struct intel_gvt *gvt = kdev_to_i915(mtype->parent->dev)->gvt; intel_vgpu_get_available() local 1719 init_device_info(struct intel_gvt *gvt) init_device_info() argument 1736 intel_gvt_test_and_emulate_vblank(struct intel_gvt *gvt) intel_gvt_test_and_emulate_vblank() argument 1754 struct intel_gvt *gvt = (struct intel_gvt *)data; gvt_service_thread() local 1782 clean_service_thread(struct intel_gvt *gvt) clean_service_thread() argument 1787 init_service_thread(struct intel_gvt *gvt) init_service_thread() argument 1810 struct intel_gvt *gvt = fetch_and_zero(&i915->gvt); intel_gvt_clean_device() local 1845 struct intel_gvt *gvt; intel_gvt_init_device() local 1952 struct intel_gvt *gvt = i915->gvt; intel_gvt_pm_resume() local [all...] |
H A D | gtt.c | 37 #include "gvt.h" 76 struct drm_i915_private *i915 = vgpu->gvt->gt->i915; in intel_gvt_ggtt_gmadr_g2h() 94 struct drm_i915_private *i915 = vgpu->gvt->gt->i915; in intel_gvt_ggtt_gmadr_h2g() 96 if (drm_WARN(&i915->drm, !gvt_gmadr_is_valid(vgpu->gvt, h_addr), in intel_gvt_ggtt_gmadr_h2g() 100 if (gvt_gmadr_is_aperture(vgpu->gvt, h_addr)) in intel_gvt_ggtt_gmadr_h2g() 102 + (h_addr - gvt_aperture_gmadr_base(vgpu->gvt)); in intel_gvt_ggtt_gmadr_h2g() 105 + (h_addr - gvt_hidden_gmadr_base(vgpu->gvt)); in intel_gvt_ggtt_gmadr_h2g() 305 const struct intel_gvt_device_info *info = &vgpu->gvt->device_info; in gtt_get_entry64() 318 e->val64 = read_pte64(vgpu->gvt->gt->ggtt, index); in gtt_get_entry64() 330 const struct intel_gvt_device_info *info = &vgpu->gvt in gtt_set_entry64() 654 struct intel_gvt *gvt = spt->vgpu->gvt; ppgtt_spt_get_entry() local 683 struct intel_gvt *gvt = spt->vgpu->gvt; ppgtt_spt_set_entry() local 1404 struct intel_gvt *gvt = vgpu->gvt; sync_oos_page() local 1446 struct intel_gvt *gvt = vgpu->gvt; detach_oos_page() local 1465 struct intel_gvt *gvt = spt->vgpu->gvt; attach_oos_page() local 1502 struct intel_gvt *gvt = spt->vgpu->gvt; ppgtt_allocate_oos_page() local 1756 struct intel_gvt *gvt = vgpu->gvt; invalidate_ppgtt_mm() local 1786 struct intel_gvt *gvt = vgpu->gvt; shadow_ppgtt_mm() local 1863 struct intel_gvt *gvt = vgpu->gvt; intel_vgpu_create_ppgtt_mm() local 2014 reclaim_one_ppgtt_mm(struct intel_gvt *gvt) reclaim_one_ppgtt_mm() argument 2071 struct intel_gvt *gvt = vgpu->gvt; intel_vgpu_gma_to_gpa() local 2208 struct intel_gvt *gvt = vgpu->gvt; emulate_ggtt_mmio_write() local 2537 clean_spt_oos(struct intel_gvt *gvt) clean_spt_oos() argument 2554 setup_spt_oos(struct intel_gvt *gvt) setup_spt_oos() argument 2687 intel_gvt_init_gtt(struct intel_gvt *gvt) intel_gvt_init_gtt() argument 2738 intel_gvt_clean_gtt(struct intel_gvt *gvt) intel_gvt_clean_gtt() argument 2787 struct intel_gvt *gvt = vgpu->gvt; intel_vgpu_reset_ggtt() local 2828 intel_gvt_restore_ggtt(struct intel_gvt *gvt) intel_gvt_restore_ggtt() argument [all...] |
H A D | mmio.h | 73 intel_gvt_render_mmio_to_engine(struct intel_gvt *gvt, unsigned int reg); 74 unsigned long intel_gvt_get_device_type(struct intel_gvt *gvt); 76 int intel_gvt_setup_mmio_info(struct intel_gvt *gvt); 77 void intel_gvt_clean_mmio_info(struct intel_gvt *gvt); 78 int intel_gvt_for_each_tracked_mmio(struct intel_gvt *gvt, 79 int (*handler)(struct intel_gvt *gvt, u32 offset, void *data), 82 struct intel_gvt_mmio_info *intel_gvt_find_mmio_info(struct intel_gvt *gvt, 101 bool intel_gvt_in_force_nonpriv_whitelist(struct intel_gvt *gvt, 110 void intel_gvt_restore_fence(struct intel_gvt *gvt); 111 void intel_gvt_restore_mmio(struct intel_gvt *gvt); [all...] |
H A D | interrupt.c | 36 #include "gvt.h" 150 struct intel_gvt *gvt, in regbase_to_irq_info() 153 struct intel_gvt_irq *irq = &gvt->irq; in regbase_to_irq_info() 181 struct intel_gvt *gvt = vgpu->gvt; in intel_vgpu_reg_imr_handler() local 182 const struct intel_gvt_irq_ops *ops = gvt->irq.ops; in intel_vgpu_reg_imr_handler() 211 struct intel_gvt *gvt = vgpu->gvt; in intel_vgpu_reg_master_irq_handler() local 212 const struct intel_gvt_irq_ops *ops = gvt->irq.ops; in intel_vgpu_reg_master_irq_handler() 250 struct intel_gvt *gvt in intel_vgpu_reg_ier_handler() local 149 regbase_to_irq_info( struct intel_gvt *gvt, unsigned int reg) regbase_to_irq_info() argument 537 struct intel_gvt *gvt = irq_to_gvt(irq); gen8_init_irq() local 665 struct intel_gvt *gvt = vgpu->gvt; intel_vgpu_trigger_virtual_event() local 699 intel_gvt_init_irq(struct intel_gvt *gvt) intel_gvt_init_irq() argument [all...] |
H A D | sched_policy.h | 41 int (*init)(struct intel_gvt *gvt); 42 void (*clean)(struct intel_gvt *gvt); 49 void intel_gvt_schedule(struct intel_gvt *gvt); 51 int intel_gvt_init_sched_policy(struct intel_gvt *gvt); 53 void intel_gvt_clean_sched_policy(struct intel_gvt *gvt); 63 void intel_gvt_kick_schedule(struct intel_gvt *gvt);
|
H A D | handlers.c | 41 #include "gvt.h" 63 unsigned long intel_gvt_get_device_type(struct intel_gvt *gvt) in intel_gvt_get_device_type() argument 65 struct drm_i915_private *i915 = gvt->gt->i915; in intel_gvt_get_device_type() 81 static bool intel_gvt_match_device(struct intel_gvt *gvt, in intel_gvt_match_device() argument 84 return intel_gvt_get_device_type(gvt) & device; in intel_gvt_match_device() 99 struct intel_gvt_mmio_info *intel_gvt_find_mmio_info(struct intel_gvt *gvt, in intel_gvt_find_mmio_info() argument 104 hash_for_each_possible(gvt->mmio.mmio_info_table, e, node, offset) { in intel_gvt_find_mmio_info() 111 static int setup_mmio_info(struct intel_gvt *gvt, u32 offset, u32 size, in setup_mmio_info() argument 118 if (!intel_gvt_match_device(gvt, device)) in setup_mmio_info() 128 p = intel_gvt_find_mmio_info(gvt, in setup_mmio_info() 153 intel_gvt_render_mmio_to_engine(struct intel_gvt *gvt, unsigned int offset) intel_gvt_render_mmio_to_engine() argument 256 struct intel_gvt *gvt = vgpu->gvt; fence_mmio_write() local 1946 struct intel_gvt *gvt = vgpu->gvt; mmio_read_from_hw() local 2179 init_generic_mmio_info(struct intel_gvt *gvt) init_generic_mmio_info() argument 2442 init_bdw_mmio_info(struct intel_gvt *gvt) init_bdw_mmio_info() argument 2577 init_skl_mmio_info(struct intel_gvt *gvt) init_skl_mmio_info() argument 2749 init_bxt_mmio_info(struct intel_gvt *gvt) init_bxt_mmio_info() argument 2797 find_mmio_block(struct intel_gvt *gvt, unsigned int offset) find_mmio_block() argument 2820 intel_gvt_clean_mmio_info(struct intel_gvt *gvt) intel_gvt_clean_mmio_info() argument 2840 struct intel_gvt *gvt = iter->data; handle_mmio() local 2879 struct intel_gvt *gvt = iter->data; handle_mmio_block() local 2912 init_mmio_info(struct intel_gvt *gvt) init_mmio_info() argument 2923 init_mmio_block_handlers(struct intel_gvt *gvt) init_mmio_block_handlers() argument 2950 intel_gvt_setup_mmio_info(struct intel_gvt *gvt) intel_gvt_setup_mmio_info() argument 3014 intel_gvt_for_each_tracked_mmio(struct intel_gvt *gvt, int (*handler)(struct intel_gvt *gvt, u32 offset, void *data), void *data) intel_gvt_for_each_tracked_mmio() argument 3111 intel_gvt_in_force_nonpriv_whitelist(struct intel_gvt *gvt, unsigned int offset) intel_gvt_in_force_nonpriv_whitelist() argument 3132 struct intel_gvt *gvt = vgpu->gvt; intel_vgpu_mmio_reg_rw() local 3202 intel_gvt_restore_fence(struct intel_gvt *gvt) intel_gvt_restore_fence() argument 3215 mmio_pm_restore_handler(struct intel_gvt *gvt, u32 offset, void *data) mmio_pm_restore_handler() argument 3226 intel_gvt_restore_mmio(struct intel_gvt *gvt) intel_gvt_restore_mmio() argument [all...] |