An earlier commit placed some driverless devices in D3 during boot so that they don't block package cstate entry. Also place these devices in D3 after resume from suspend. Fixes: 336ba968d3e3 ("platform/x86/intel/pmc/mtl: Put GNA/IPU/VPU devices in D3") Signed-off-by: David E. Box <david.e.box@xxxxxxxxxxxxxxx> --- drivers/platform/x86/intel/pmc/mtl.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/platform/x86/intel/pmc/mtl.c b/drivers/platform/x86/intel/pmc/mtl.c index e8cc156412ce..d87c4597c6d4 100644 --- a/drivers/platform/x86/intel/pmc/mtl.c +++ b/drivers/platform/x86/intel/pmc/mtl.c @@ -68,11 +68,8 @@ static void mtl_set_device_d3(unsigned int device) } } -void mtl_core_init(struct pmc_dev *pmcdev) +static void mtl_fixup(void) { - pmcdev->map = &mtl_reg_map; - pmcdev->core_configure = mtl_core_configure; - /* * Set power state of select devices that do not have drivers to D3 * so that they do not block Package C entry. @@ -81,3 +78,13 @@ void mtl_core_init(struct pmc_dev *pmcdev) mtl_set_device_d3(MTL_IPU_PCI_DEV); mtl_set_device_d3(MTL_VPU_PCI_DEV); } + +void mtl_core_init(struct pmc_dev *pmcdev) +{ + pmcdev->map = &mtl_reg_map; + pmcdev->core_configure = mtl_core_configure; + + mtl_fixup(); + + pmcdev->resume_fixup = mtl_fixup; +} -- 2.34.1