for_each_hw_engine(hwe, gt, id)
xe_hw_engine_enable_ring(hwe);
+ err = xe_uc_sanitize_reset(>->uc);
+ if (err)
+ return err;
+
err = xe_uc_init_hw(>->uc);
if (err)
return err;
if (!xe_device_uc_enabled(uc_to_xe(uc)))
return 0;
+ err = xe_uc_sanitize_reset(uc);
+ if (err)
+ return err;
+
err = xe_guc_init_post_hwconfig(&uc->guc);
if (err)
return err;
return 0;
}
-void xe_uc_sanitize(struct xe_uc *uc)
+static void xe_uc_sanitize(struct xe_uc *uc)
{
xe_huc_sanitize(&uc->huc);
xe_guc_sanitize(&uc->guc);
}
-static int xe_uc_sanitize_reset(struct xe_uc *uc)
+int xe_uc_sanitize_reset(struct xe_uc *uc)
{
xe_uc_sanitize(uc);
if (!xe_device_uc_enabled(uc_to_xe(uc)))
return 0;
- ret = xe_uc_sanitize_reset(uc);
- if (ret)
- return ret;
-
ret = xe_huc_upload(&uc->huc);
if (ret)
return ret;
int xe_uc_stop(struct xe_uc *uc);
int xe_uc_start(struct xe_uc *uc);
int xe_uc_suspend(struct xe_uc *uc);
-void xe_uc_sanitize(struct xe_uc *uc);
+int xe_uc_sanitize_reset(struct xe_uc *uc);
#endif