Lines Matching refs:xe
34 static inline struct xe_device *xe_device_const_cast(const struct xe_device *xe) in xe_device_const_cast() argument
36 return (struct xe_device *)xe; in xe_device_const_cast()
46 int xe_device_probe_early(struct xe_device *xe);
47 int xe_device_probe(struct xe_device *xe);
48 void xe_device_remove(struct xe_device *xe);
49 void xe_device_shutdown(struct xe_device *xe);
51 void xe_device_wmb(struct xe_device *xe);
58 static inline struct xe_tile *xe_device_get_root_tile(struct xe_device *xe) in xe_device_get_root_tile() argument
60 return &xe->tiles[0]; in xe_device_get_root_tile()
70 static inline struct xe_gt *xe_device_get_gt(struct xe_device *xe, u8 gt_id) in xe_device_get_gt() argument
75 if (gt_id >= xe->info.tile_count * xe->info.max_gt_per_tile) in xe_device_get_gt()
78 tile = &xe->tiles[gt_id / xe->info.max_gt_per_tile]; in xe_device_get_gt()
79 switch (gt_id % xe->info.max_gt_per_tile) { in xe_device_get_gt()
81 xe_assert(xe, false); in xe_device_get_gt()
94 drm_WARN_ON(&xe->drm, gt->info.id != gt_id); in xe_device_get_gt()
95 drm_WARN_ON(&xe->drm, gt->info.type == XE_GT_TYPE_UNINITIALIZED); in xe_device_get_gt()
112 static inline struct xe_gt *xe_root_mmio_gt(struct xe_device *xe) in xe_root_mmio_gt() argument
114 return xe_device_get_root_tile(xe)->primary_gt; in xe_root_mmio_gt()
117 static inline bool xe_device_uc_enabled(struct xe_device *xe) in xe_device_uc_enabled() argument
119 return !xe->info.force_execlist; in xe_device_uc_enabled()
135 for_each_gt((gt__), (tile__)->xe, (id__)) \
143 void xe_device_assert_mem_access(struct xe_device *xe);
145 static inline bool xe_device_has_flat_ccs(struct xe_device *xe) in xe_device_has_flat_ccs() argument
147 return xe->info.has_flat_ccs; in xe_device_has_flat_ccs()
150 static inline bool xe_device_has_sriov(struct xe_device *xe) in xe_device_has_sriov() argument
152 return xe->info.has_sriov; in xe_device_has_sriov()
155 static inline bool xe_device_has_msix(struct xe_device *xe) in xe_device_has_msix() argument
157 return xe->irq.msix.nvec > 0; in xe_device_has_msix()
160 static inline bool xe_device_has_memirq(struct xe_device *xe) in xe_device_has_memirq() argument
162 return GRAPHICS_VERx100(xe) >= 1250; in xe_device_has_memirq()
165 static inline bool xe_device_uses_memirq(struct xe_device *xe) in xe_device_uses_memirq() argument
167 return xe_device_has_memirq(xe) && (IS_SRIOV_VF(xe) || xe_device_has_msix(xe)); in xe_device_uses_memirq()
170 static inline bool xe_device_has_lmtt(struct xe_device *xe) in xe_device_has_lmtt() argument
172 return IS_DGFX(xe); in xe_device_has_lmtt()
175 u32 xe_device_ccs_bytes(struct xe_device *xe, u64 size);
177 void xe_device_snapshot_print(struct xe_device *xe, struct drm_printer *p);
179 u64 xe_device_canonicalize_addr(struct xe_device *xe, u64 address);
180 u64 xe_device_uncanonicalize_addr(struct xe_device *xe, u64 address);
182 void xe_device_td_flush(struct xe_device *xe);
183 void xe_device_l2_flush(struct xe_device *xe);
185 static inline bool xe_device_wedged(struct xe_device *xe) in xe_device_wedged() argument
187 return atomic_read(&xe->wedged.flag); in xe_device_wedged()
190 void xe_device_declare_wedged(struct xe_device *xe);