Home | History | Annotate | Download | only in gvt

Lines Matching defs:gvt

1 /*	$NetBSD: gvt.h,v 1.2 2021/12/18 23:45:31 riastradh Exp $	*/
171 struct intel_gvt *gvt;
180 /* Both sched_data and sched_ctl can be seen a part of the global gvt
304 /* GVT scope lock, protect GVT itself, and all resource currently
308 /* scheduler scope lock, protect gvt and vgpu schedule related data */
332 * use it with atomic bit ops so that no need to use gvt big lock.
350 return i915->gvt;
363 static inline void intel_gvt_request_service(struct intel_gvt *gvt,
366 set_bit(service, (void *)&gvt->service_request);
367 wake_up(&gvt->service_thread_wq);
370 void intel_gvt_free_firmware(struct intel_gvt *gvt);
371 int intel_gvt_load_firmware(struct intel_gvt *gvt);
373 /* Aperture/GM space definitions for GVT device */
381 /* Aperture/GM space definitions for GVT device */
382 #define gvt_aperture_sz(gvt) (gvt->dev_priv->ggtt.mappable_end)
383 #define gvt_aperture_pa_base(gvt) (gvt->dev_priv->ggtt.gmadr.start)
385 #define gvt_ggtt_gm_sz(gvt) (gvt->dev_priv->ggtt.vm.total)
386 #define gvt_ggtt_sz(gvt) \
387 ((gvt->dev_priv->ggtt.vm.total >> PAGE_SHIFT) << 3)
388 #define gvt_hidden_sz(gvt) (gvt_ggtt_gm_sz(gvt) - gvt_aperture_sz(gvt))
390 #define gvt_aperture_gmadr_base(gvt) (0)
391 #define gvt_aperture_gmadr_end(gvt) (gvt_aperture_gmadr_base(gvt) \
392 + gvt_aperture_sz(gvt) - 1)
394 #define gvt_hidden_gmadr_base(gvt) (gvt_aperture_gmadr_base(gvt) \
395 + gvt_aperture_sz(gvt))
396 #define gvt_hidden_gmadr_end(gvt) (gvt_hidden_gmadr_base(gvt) \
397 + gvt_hidden_sz(gvt) - 1)
399 #define gvt_fence_sz(gvt) ((gvt)->dev_priv->ggtt.num_fences)
408 (gvt_aperture_pa_base(vgpu->gvt) + vgpu_aperture_offset(vgpu))
456 #define for_each_active_vgpu(gvt, vgpu, id) \
457 idr_for_each_entry((&(gvt)->vgpu_idr), (vgpu), (id)) \
480 int intel_gvt_init_vgpu_types(struct intel_gvt *gvt);
481 void intel_gvt_clean_vgpu_types(struct intel_gvt *gvt);
483 struct intel_vgpu *intel_gvt_create_idle_vgpu(struct intel_gvt *gvt);
485 struct intel_vgpu *intel_gvt_create_vgpu(struct intel_gvt *gvt,
508 #define gvt_gmadr_is_aperture(gvt, gmadr) \
509 ((gmadr >= gvt_aperture_gmadr_base(gvt)) && \
510 (gmadr <= gvt_aperture_gmadr_end(gvt)))
512 #define gvt_gmadr_is_hidden(gvt, gmadr) \
513 ((gmadr >= gvt_hidden_gmadr_base(gvt)) && \
514 (gmadr <= gvt_hidden_gmadr_end(gvt)))
516 #define gvt_gmadr_is_valid(gvt, gmadr) \
517 (gvt_gmadr_is_aperture(gvt, gmadr) || \
518 gvt_gmadr_is_hidden(gvt, gmadr))
573 struct intel_vgpu_type *(*gvt_find_vgpu_type)(struct intel_gvt *gvt,
603 * @gvt: a GVT device
608 struct intel_gvt *gvt, unsigned int offset)
610 gvt->mmio.mmio_attribute[offset >> 2] |= F_ACCESSED;
615 * @gvt: a GVT device
620 struct intel_gvt *gvt, unsigned int offset)
622 return gvt->mmio.mmio_attribute[offset >> 2] & F_CMD_ACCESS;
627 * @gvt: a GVT device
632 struct intel_gvt *gvt, unsigned int offset)
634 return gvt->mmio.mmio_attribute[offset >> 2] & F_UNALIGN;
639 * @gvt: a GVT device
644 struct intel_gvt *gvt, unsigned int offset)
646 gvt->mmio.mmio_attribute[offset >> 2] |= F_CMD_ACCESSED;
651 * @gvt: a GVT device
659 struct intel_gvt *gvt, unsigned int offset)
661 return gvt->mmio.mmio_attribute[offset >> 2] & F_MODE_MASK;
666 * @gvt: a GVT device
674 struct intel_gvt *gvt, unsigned int offset)
676 return gvt->mmio.mmio_attribute[offset >> 2] & F_IN_CTX;
681 * @gvt: a GVT device
686 struct intel_gvt *gvt, unsigned int offset)
688 gvt->mmio.mmio_attribute[offset >> 2] |= F_IN_CTX;
693 void intel_gvt_debugfs_init(struct intel_gvt *gvt);
694 void intel_gvt_debugfs_clean(struct intel_gvt *gvt);