[PATCH 103/118] drm/i915: Request driver probe from an async task

Chris Wilson chris at chris-wilson.co.uk
Tue Sep 11 19:50:03 UTC 2018


As we are careful not to register external interfaces before the
internals are brought up, we are not dependent upon a synchronous
probing and can allow ourselves to be probed from a secondary thread
during system bootup. We already do relegate some configuration to
asynchronous tasks (such as setting up the fbdev), now do the entire
probe.

v2: Requesting async probing from a module is useless as the modprobe is
a separate process that can already be run in parallel, and is run
synchronously.

References: https://bugs.freedesktop.org/show_bug.cgi?id=105622
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Imre Deak <imre.deak at intel.com>
Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
Cc: David Weinehall <david.weinehall at linux.intel.com>
---
 drivers/gpu/drm/i915/i915_pci.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index 9b5962a0e711..b06b4df13c87 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -750,6 +750,8 @@ static struct pci_driver i915_pci_driver = {
 	.probe = i915_pci_probe,
 	.remove = i915_pci_remove,
 	.driver.pm = &i915_pm_ops,
+	.driver.probe_type =
+		IS_BUILTIN(CONFIG_DRM_I915) ? PROBE_PREFER_ASYNCHRONOUS : 0,
 };
 
 static int __init i915_init(void)
-- 
2.19.0



More information about the Intel-gfx-trybot mailing list