mei: me: enable asynchronous probing
authorAlexander Usyskin <alexander.usyskin@intel.com>
Thu, 29 Jun 2017 06:40:02 +0000 (09:40 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 17 Jul 2017 13:07:39 +0000 (15:07 +0200)
On some platforms, currently Broxton, Apollo Lake and Kaby Lake,
ME FW may be busy with internal bookkeeping and answering late
to the start message.
As a mitigation, the driver requests for a synchronous probing
to prevent stalling of the overall boot process. For example,
on a Apollo Lake platform the overall boot time has reduced from
~0.9 to ~0.6 seconds on average.

Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/mei/pci-me.c

index 8621a198a2ce3eae317e4007cd6c533b56cfecc4..8bf9a3d9792d22cc4661b254fc3a7af84cf4dcec 100644 (file)
@@ -485,6 +485,7 @@ static struct pci_driver mei_me_driver = {
        .remove = mei_me_remove,
        .shutdown = mei_me_shutdown,
        .driver.pm = MEI_ME_PM_OPS,
+       .driver.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 };
 
 module_pci_driver(mei_me_driver);