Added transition to PXP mode in resume flow.
CC: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Signed-off-by: Vitaly Lubart <vitaly.lubart@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220907215113.1596567-13-tomas.winkler@intel.com
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
 
 static int __maybe_unused mei_gsc_pm_resume(struct device *device)
 {
        struct mei_device *dev = dev_get_drvdata(device);
+       struct auxiliary_device *aux_dev;
+       struct mei_aux_device *adev;
        int err;
+       struct mei_me_hw *hw;
 
        if (!dev)
                return -ENODEV;
 
+       hw = to_me_hw(dev);
+       aux_dev = to_auxiliary_dev(device);
+       adev = auxiliary_dev_to_mei_aux_dev(aux_dev);
+       if (adev->ext_op_mem.start) {
+               mei_gsc_set_ext_op_mem(hw, &adev->ext_op_mem);
+               dev->pxp_mode = MEI_DEV_PXP_INIT;
+       }
+
        err = mei_restart(dev);
        if (err)
                return err;