Lines Matching defs:xe
91 void xe_heci_gsc_fini(struct xe_device *xe)
93 struct xe_heci_gsc *heci_gsc = &xe->heci_gsc;
95 if (!HAS_HECI_GSCFI(xe))
111 static int heci_gsc_irq_setup(struct xe_device *xe)
113 struct xe_heci_gsc *heci_gsc = &xe->heci_gsc;
118 drm_err(&xe->drm, "gsc irq error %d\n", heci_gsc->irq);
124 drm_err(&xe->drm, "gsc irq init failed %d\n", ret);
129 static int heci_gsc_add_device(struct xe_device *xe, const struct heci_gsc_def *def)
131 struct xe_heci_gsc *heci_gsc = &xe->heci_gsc;
132 struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
157 drm_err(&xe->drm, "gsc aux init failed %d\n", ret);
165 drm_err(&xe->drm, "gsc aux add failed %d\n", ret);
174 void xe_heci_gsc_init(struct xe_device *xe)
176 struct xe_heci_gsc *heci_gsc = &xe->heci_gsc;
180 if (!HAS_HECI_GSCFI(xe))
185 if (xe->info.platform == XE_PVC) {
187 } else if (xe->info.platform == XE_DG2) {
189 } else if (xe->info.platform == XE_DG1) {
192 drm_warn_once(&xe->drm, "Unknown platform\n");
197 drm_warn_once(&xe->drm, "HECI is not implemented!\n");
202 ret = heci_gsc_irq_setup(xe);
207 ret = heci_gsc_add_device(xe, def);
213 xe_heci_gsc_fini(xe);
216 void xe_heci_gsc_irq_handler(struct xe_device *xe, u32 iir)
223 if (!HAS_HECI_GSCFI(xe)) {
224 drm_warn_once(&xe->drm, "GSC irq: not supported");
228 if (xe->heci_gsc.irq < 0)
231 ret = generic_handle_irq(xe->heci_gsc.irq);
233 drm_err_ratelimited(&xe->drm, "error handling GSC irq: %d\n", ret);