Skip to content

Commit c0b8099

Browse files
Tomas Winklergregkh
authored andcommitted
mei: me: allow runtime pm for platform with D0i3
commit cc365dc upstream. >From the pci power documentation: "The driver itself should not call pm_runtime_allow(), though. Instead, it should let user space or some platform-specific code do that (user space can do it via sysfs as stated above)..." However, the S0ix residency cannot be reached without MEI device getting into low power state. Hence, for mei devices that support D0i3, it's better to make runtime power management mandatory and not rely on the system integration such as udev rules. This policy cannot be applied globally as some older platforms were found to have broken power management. Cc: <stable@vger.kernel.org> v4.13+ Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Reviewed-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 3d34325 commit c0b8099

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

drivers/misc/mei/pci-me.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,8 +229,11 @@ static int mei_me_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
229229
if (!pci_dev_run_wake(pdev))
230230
mei_me_set_pm_domain(dev);
231231

232-
if (mei_pg_is_enabled(dev))
232+
if (mei_pg_is_enabled(dev)) {
233233
pm_runtime_put_noidle(&pdev->dev);
234+
if (hw->d0i3_supported)
235+
pm_runtime_allow(&pdev->dev);
236+
}
234237

235238
dev_dbg(&pdev->dev, "initialization successful.\n");
236239

0 commit comments

Comments
 (0)