Lines Matching refs:xe
34 struct xe_device *xe = arg; in sysctrl_fini() local
35 struct xe_sysctrl *sc = &xe->sc; in sysctrl_fini()
38 xe->soc_remapper.set_sysctrl_region(xe, 0); in sysctrl_fini()
44 struct xe_device *xe = sc_to_xe(sc); in xe_sysctrl_work() local
46 guard(xe_pm_runtime)(xe); in xe_sysctrl_work()
59 int xe_sysctrl_init(struct xe_device *xe) in xe_sysctrl_init() argument
61 struct xe_tile *tile = xe_device_get_root_tile(xe); in xe_sysctrl_init()
62 struct xe_sysctrl *sc = &xe->sc; in xe_sysctrl_init()
65 if (!xe->info.has_soc_remapper_sysctrl) in xe_sysctrl_init()
68 if (!xe->info.has_sysctrl) in xe_sysctrl_init()
71 sc->mmio = devm_kzalloc(xe->drm.dev, sizeof(*sc->mmio), GFP_KERNEL); in xe_sysctrl_init()
79 ret = devm_mutex_init(xe->drm.dev, &sc->cmd_lock); in xe_sysctrl_init()
83 ret = devm_mutex_init(xe->drm.dev, &sc->event_lock); in xe_sysctrl_init()
87 xe->soc_remapper.set_sysctrl_region(xe, SYSCTRL_MAILBOX_INDEX); in xe_sysctrl_init()
90 return devm_add_action_or_reset(xe->drm.dev, sysctrl_fini, xe); in xe_sysctrl_init()
100 void xe_sysctrl_irq_handler(struct xe_device *xe, u32 master_ctl) in xe_sysctrl_irq_handler() argument
102 struct xe_sysctrl *sc = &xe->sc; in xe_sysctrl_irq_handler()
104 if (!xe->info.has_sysctrl || !sc->work.func) in xe_sysctrl_irq_handler()
118 void xe_sysctrl_pm_resume(struct xe_device *xe) in xe_sysctrl_pm_resume() argument
120 if (!xe->info.has_soc_remapper_sysctrl) in xe_sysctrl_pm_resume()
123 if (!xe->info.has_sysctrl) in xe_sysctrl_pm_resume()
126 xe->soc_remapper.set_sysctrl_region(xe, SYSCTRL_MAILBOX_INDEX); in xe_sysctrl_pm_resume()