drm/xe/pxp: Fail the load if PXP fails to initialize

The PXP implementation mimics the i915 approach of allowing the load
to continue even if PXP init has failed. On Xe however we're taking an
harder stance on boot error and only allowing the load to complete if
everything is working, so update the code to fail if anything goes wrong
during PXP init.

While at it, update the return code in case of PXP not supported to be 0
instead of EOPNOTSUPP, to follow the standard of functions called by
xe_device_probe where every non-zero value means failure.

Suggested-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250203234857.1419637-1-daniele.ceraolospurio@intel.com
This commit is contained in:
Daniele Ceraolo Spurio
2025-02-03 15:48:57 -08:00
parent 459777724d
commit 9c9dc9ba4a
2 changed files with 14 additions and 10 deletions

View File

@@ -864,8 +864,8 @@ int xe_device_probe(struct xe_device *xe)
/* A PXP init failure is not fatal */
err = xe_pxp_init(xe);
if (err && err != -EOPNOTSUPP)
drm_err(&xe->drm, "PXP initialization failed: %pe\n", ERR_PTR(err));
if (err)
goto err_fini_display;
err = drm_dev_register(&xe->drm, 0);
if (err)