patch "mei: me: allow runtime pm for platform with D0i3" added to char-misc-next
Subsystems (3)
This is a note to let you know that I've just added the patch titled
mei: me: allow runtime pm for platform with D0i3
to my char-misc git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
in the char-misc-next branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will also be merged in the next major kernel release during the merge window.
If you have any questions about this process, please let me know.
Quoted 1 line
From
cc365dcf0e56271bedf3de95f88922abe248e951Mon Sep 17 00:00:00 2001
From: Tomas Winkler <[email protected]>
Date: Tue, 2 Jan 2018 12:01:41 +0200
Subject: mei: me: allow runtime pm for platform with D0i3
Quoted 1 line
Quoted 1 line
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.
--- drivers/misc/mei/pci-me.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
drivers/misc/mei/pci-me.c +4 -1
@@ -238,8 +238,11 @@ static int mei_me_probe(struct pci_dev *pdev, const struct pci_device_id *ent)*/ mei_me_set_pm_domain (dev); -if (mei_pg_is_enabled (dev)) +if (mei_pg_is_enabled (dev)) {pm_runtime_put_noidle (&pdev->dev); +if (hw->d0i3_supported) +pm_runtime_allow (&pdev->dev); + }dev_dbg (&pdev->dev,"initialization successful.\n" );
Signature · 1 line
2.15.1