[PATCH v3 3/3] drm/xe: Initialize mei-gsc and vsec in survivability mode
Usyskin, Alexander
alexander.usyskin at intel.com
Wed Jan 22 06:33:33 UTC 2025
> Subject: [PATCH v3 3/3] drm/xe: Initialize mei-gsc and vsec in survivability
> mode
>
> Initialize mei-gsc in survivability mode and disable HECI
> interrupts. Also initialize vsec in survivability mode
>
Reviewed-by: Alexander Usyskin <alexander.usyskin at intel.com>
> Signed-off-by: Riana Tauro <riana.tauro at intel.com>
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> ---
> drivers/gpu/drm/xe/xe_heci_gsc.c | 3 ++-
> drivers/gpu/drm/xe/xe_survivability_mode.c | 7 +++++++
> 2 files changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_heci_gsc.c
> b/drivers/gpu/drm/xe/xe_heci_gsc.c
> index d765bfd3636b..06dc78d3a812 100644
> --- a/drivers/gpu/drm/xe/xe_heci_gsc.c
> +++ b/drivers/gpu/drm/xe/xe_heci_gsc.c
> @@ -12,6 +12,7 @@
> #include "xe_drv.h"
> #include "xe_heci_gsc.h"
> #include "xe_platform_types.h"
> +#include "xe_survivability_mode.h"
>
> #define GSC_BAR_LENGTH 0x00000FFC
>
> @@ -200,7 +201,7 @@ void xe_heci_gsc_init(struct xe_device *xe)
> return;
> }
>
> - if (!def->use_polling) {
> + if (!def->use_polling && !xe_survivability_mode_enabled(xe)) {
> ret = heci_gsc_irq_setup(xe);
> if (ret)
> goto fail;
> diff --git a/drivers/gpu/drm/xe/xe_survivability_mode.c
> b/drivers/gpu/drm/xe/xe_survivability_mode.c
> index e1ce14d8dec2..16e805e32887 100644
> --- a/drivers/gpu/drm/xe/xe_survivability_mode.c
> +++ b/drivers/gpu/drm/xe/xe_survivability_mode.c
> @@ -12,8 +12,10 @@
>
> #include "xe_device.h"
> #include "xe_gt.h"
> +#include "xe_heci_gsc.h"
> #include "xe_mmio.h"
> #include "xe_pcode_api.h"
> +#include "xe_vsec.h"
>
> #define MAX_SCRATCH_MMIO 8
>
> @@ -142,6 +144,10 @@ static void enable_survivability_mode(struct pci_dev
> *pdev)
> dev_warn(dev, "Failed to create survivability sysfs files\n");
> return;
> }
> +
> + xe_heci_gsc_init(xe);
> +
> + xe_vsec_init(xe);
> }
>
> /**
> @@ -194,6 +200,7 @@ void xe_survivability_mode_remove(struct xe_device
> *xe)
> struct device *dev = &pdev->dev;
>
> sysfs_remove_file(&dev->kobj, &dev_attr_survivability_mode.attr);
> + xe_heci_gsc_fini(xe);
> kfree(survivability->info);
> pci_set_drvdata(pdev, NULL);
> }
> --
> 2.47.1
More information about the Intel-xe
mailing list