Quoting David Weinehall (2018-04-26 13:41:57) > On Fri, Mar 23, 2018 at 08:30:48AM +0000, Chris Wilson wrote: > > 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. > > > > References: https://bugs.freedesktop.org/show_bug.cgi?id=105622 > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > > LGTM, and still seems to apply cleanly. > > Reviewed-by: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> The one downside to this was that it's only useful for builtins. For modules, the finit_module call serialises on the async task, so parallelisation has to occur in userspace. > > Cc: Imre Deak <imre.deak@xxxxxxxxx> > > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Cc: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> > > --- > > drivers/gpu/drm/i915/i915_pci.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c > > index 4364922e935d..be7b03d48229 100644 > > --- a/drivers/gpu/drm/i915/i915_pci.c > > +++ b/drivers/gpu/drm/i915/i915_pci.c > > @@ -726,6 +726,7 @@ static struct pci_driver i915_pci_driver = { > > .probe = i915_pci_probe, > > .remove = i915_pci_remove, > > .driver.pm = &i915_pm_ops, > > + .driver.probe_type = PROBE_PREFER_ASYNCHRONOUS, I thought I sent a v2 with IS_BUILTIN() ? PREFER_ASYNC : 0, possibly not. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx