* [PATCH] drm/i915: Request driver probe from an async task
@ 2018-03-23 8:30 Chris Wilson
2018-03-23 9:05 ` ✗ Fi.CI.BAT: failure for " Patchwork
` (4 more replies)
0 siblings, 5 replies; 10+ messages in thread
From: Chris Wilson @ 2018-03-23 8:30 UTC (permalink / raw)
To: intel-gfx
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@chris-wilson.co.uk>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: David Weinehall <david.weinehall@linux.intel.com>
---
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,
};
static int __init i915_init(void)
--
2.16.2
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 10+ messages in thread
* ✗ Fi.CI.BAT: failure for drm/i915: Request driver probe from an async task
2018-03-23 8:30 [PATCH] drm/i915: Request driver probe from an async task Chris Wilson
@ 2018-03-23 9:05 ` Patchwork
2018-03-23 10:29 ` ✓ Fi.CI.BAT: success " Patchwork
` (3 subsequent siblings)
4 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2018-03-23 9:05 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: Request driver probe from an async task
URL : https://patchwork.freedesktop.org/series/40547/
State : failure
== Summary ==
Series 40547v1 drm/i915: Request driver probe from an async task
https://patchwork.freedesktop.org/api/1.0/series/40547/revisions/1/mbox/
---- Possible new issues:
Test gem_exec_flush:
Subgroup basic-wb-pro-default:
pass -> INCOMPLETE (fi-skl-6770hq)
Test gvt_basic:
Subgroup invalid-placeholder-test:
skip -> INCOMPLETE (fi-cnl-y3)
---- Known issues:
Test kms_pipe_crc_basic:
Subgroup suspend-read-crc-pipe-c:
pass -> INCOMPLETE (fi-bxt-dsi) fdo#103927
pass -> DMESG-WARN (fi-cnl-y3) fdo#104951
fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
fdo#104951 https://bugs.freedesktop.org/show_bug.cgi?id=104951
fi-bdw-5557u total:285 pass:264 dwarn:0 dfail:0 fail:0 skip:21 time:436s
fi-bdw-gvtdvm total:285 pass:261 dwarn:0 dfail:0 fail:0 skip:24 time:446s
fi-blb-e6850 total:285 pass:220 dwarn:1 dfail:0 fail:0 skip:64 time:379s
fi-bsw-n3050 total:285 pass:239 dwarn:0 dfail:0 fail:0 skip:46 time:532s
fi-bwr-2160 total:285 pass:180 dwarn:0 dfail:0 fail:0 skip:105 time:299s
fi-bxt-dsi total:243 pass:216 dwarn:0 dfail:0 fail:0 skip:26
fi-bxt-j4205 total:285 pass:256 dwarn:0 dfail:0 fail:0 skip:29 time:512s
fi-byt-j1900 total:285 pass:250 dwarn:0 dfail:0 fail:0 skip:35 time:520s
fi-byt-n2820 total:285 pass:246 dwarn:0 dfail:0 fail:0 skip:39 time:509s
fi-cfl-8700k total:285 pass:257 dwarn:0 dfail:0 fail:0 skip:28 time:418s
fi-cfl-u total:285 pass:259 dwarn:0 dfail:0 fail:0 skip:26 time:511s
fi-cnl-drrs total:285 pass:254 dwarn:3 dfail:0 fail:0 skip:28 time:528s
fi-cnl-y3 total:285 pass:258 dwarn:1 dfail:0 fail:0 skip:25
fi-elk-e7500 total:285 pass:225 dwarn:1 dfail:0 fail:0 skip:59 time:431s
fi-gdg-551 total:285 pass:177 dwarn:0 dfail:0 fail:0 skip:108 time:319s
fi-glk-1 total:285 pass:257 dwarn:0 dfail:0 fail:0 skip:28 time:537s
fi-hsw-4770 total:285 pass:258 dwarn:0 dfail:0 fail:0 skip:27 time:403s
fi-ilk-650 total:285 pass:225 dwarn:0 dfail:0 fail:0 skip:60 time:425s
fi-ivb-3520m total:285 pass:256 dwarn:0 dfail:0 fail:0 skip:29 time:477s
fi-ivb-3770 total:285 pass:252 dwarn:0 dfail:0 fail:0 skip:33 time:429s
fi-kbl-7500u total:285 pass:260 dwarn:1 dfail:0 fail:0 skip:24 time:479s
fi-kbl-7567u total:285 pass:265 dwarn:0 dfail:0 fail:0 skip:20 time:474s
fi-kbl-r total:285 pass:258 dwarn:0 dfail:0 fail:0 skip:27 time:513s
fi-pnv-d510 total:285 pass:219 dwarn:1 dfail:0 fail:0 skip:65 time:653s
fi-skl-6260u total:285 pass:265 dwarn:0 dfail:0 fail:0 skip:20 time:442s
fi-skl-6600u total:285 pass:258 dwarn:0 dfail:0 fail:0 skip:27 time:542s
fi-skl-6700k2 total:285 pass:261 dwarn:0 dfail:0 fail:0 skip:24 time:509s
fi-skl-6770hq total:58 pass:56 dwarn:0 dfail:0 fail:0 skip:1
fi-skl-guc total:285 pass:257 dwarn:0 dfail:0 fail:0 skip:28 time:431s
fi-skl-gvtdvm total:285 pass:262 dwarn:0 dfail:0 fail:0 skip:23 time:450s
fi-snb-2520m total:285 pass:245 dwarn:0 dfail:0 fail:0 skip:40 time:602s
fi-snb-2600 total:285 pass:245 dwarn:0 dfail:0 fail:0 skip:40 time:403s
9e3f06af248708774c765efd55bf8e883f24fbfd drm-tip: 2018y-03m-22d-21h-17m-42s UTC integration manifest
660ea53368eb drm/i915: Request driver probe from an async task
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_8465/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 10+ messages in thread
* ✓ Fi.CI.BAT: success for drm/i915: Request driver probe from an async task
2018-03-23 8:30 [PATCH] drm/i915: Request driver probe from an async task Chris Wilson
2018-03-23 9:05 ` ✗ Fi.CI.BAT: failure for " Patchwork
@ 2018-03-23 10:29 ` Patchwork
2018-03-23 11:02 ` [PATCH] " Chris Wilson
` (2 subsequent siblings)
4 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2018-03-23 10:29 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: Request driver probe from an async task
URL : https://patchwork.freedesktop.org/series/40547/
State : success
== Summary ==
Series 40547v1 drm/i915: Request driver probe from an async task
https://patchwork.freedesktop.org/api/1.0/series/40547/revisions/1/mbox/
---- Known issues:
Test kms_flip:
Subgroup basic-flip-vs-wf_vblank:
fail -> PASS (fi-skl-6770hq) fdo#100368
Test kms_pipe_crc_basic:
Subgroup suspend-read-crc-pipe-b:
incomplete -> PASS (fi-snb-2520m) fdo#103713
fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713
fi-bdw-5557u total:285 pass:264 dwarn:0 dfail:0 fail:0 skip:21 time:434s
fi-bdw-gvtdvm total:285 pass:261 dwarn:0 dfail:0 fail:0 skip:24 time:440s
fi-blb-e6850 total:285 pass:220 dwarn:1 dfail:0 fail:0 skip:64 time:380s
fi-bsw-n3050 total:285 pass:239 dwarn:0 dfail:0 fail:0 skip:46 time:537s
fi-bwr-2160 total:285 pass:180 dwarn:0 dfail:0 fail:0 skip:105 time:301s
fi-bxt-j4205 total:285 pass:256 dwarn:0 dfail:0 fail:0 skip:29 time:514s
fi-byt-j1900 total:285 pass:250 dwarn:0 dfail:0 fail:0 skip:35 time:520s
fi-byt-n2820 total:285 pass:246 dwarn:0 dfail:0 fail:0 skip:39 time:507s
fi-cfl-8700k total:285 pass:257 dwarn:0 dfail:0 fail:0 skip:28 time:413s
fi-cfl-u total:285 pass:259 dwarn:0 dfail:0 fail:0 skip:26 time:508s
fi-cnl-y3 total:285 pass:259 dwarn:0 dfail:0 fail:0 skip:26 time:591s
fi-elk-e7500 total:285 pass:225 dwarn:1 dfail:0 fail:0 skip:59 time:427s
fi-gdg-551 total:285 pass:176 dwarn:0 dfail:0 fail:1 skip:108 time:319s
fi-glk-1 total:285 pass:257 dwarn:0 dfail:0 fail:0 skip:28 time:534s
fi-hsw-4770 total:285 pass:258 dwarn:0 dfail:0 fail:0 skip:27 time:407s
fi-ilk-650 total:285 pass:225 dwarn:0 dfail:0 fail:0 skip:60 time:423s
fi-ivb-3520m total:285 pass:256 dwarn:0 dfail:0 fail:0 skip:29 time:474s
fi-ivb-3770 total:285 pass:252 dwarn:0 dfail:0 fail:0 skip:33 time:428s
fi-kbl-7500u total:285 pass:260 dwarn:1 dfail:0 fail:0 skip:24 time:478s
fi-kbl-7567u total:285 pass:265 dwarn:0 dfail:0 fail:0 skip:20 time:466s
fi-kbl-r total:285 pass:258 dwarn:0 dfail:0 fail:0 skip:27 time:519s
fi-pnv-d510 total:285 pass:219 dwarn:1 dfail:0 fail:0 skip:65 time:648s
fi-skl-6260u total:285 pass:265 dwarn:0 dfail:0 fail:0 skip:20 time:440s
fi-skl-6600u total:285 pass:258 dwarn:0 dfail:0 fail:0 skip:27 time:530s
fi-skl-6700k2 total:285 pass:261 dwarn:0 dfail:0 fail:0 skip:24 time:501s
fi-skl-6770hq total:285 pass:265 dwarn:0 dfail:0 fail:0 skip:20 time:511s
fi-skl-guc total:285 pass:257 dwarn:0 dfail:0 fail:0 skip:28 time:431s
fi-skl-gvtdvm total:285 pass:262 dwarn:0 dfail:0 fail:0 skip:23 time:449s
fi-snb-2520m total:285 pass:245 dwarn:0 dfail:0 fail:0 skip:40 time:586s
fi-snb-2600 total:285 pass:245 dwarn:0 dfail:0 fail:0 skip:40 time:404s
Blacklisted hosts:
fi-cfl-s3 total:285 pass:258 dwarn:0 dfail:0 fail:1 skip:26 time:550s
fi-cnl-psr total:224 pass:198 dwarn:0 dfail:0 fail:1 skip:24
4db112a713cbe4fa2e65a2f1c5c21bf1076aae49 drm-tip: 2018y-03m-23d-09h-23m-53s UTC integration manifest
7a9c17decf7c drm/i915: Request driver probe from an async task
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_8468/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] drm/i915: Request driver probe from an async task
2018-03-23 8:30 [PATCH] drm/i915: Request driver probe from an async task Chris Wilson
2018-03-23 9:05 ` ✗ Fi.CI.BAT: failure for " Patchwork
2018-03-23 10:29 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2018-03-23 11:02 ` Chris Wilson
2018-03-23 11:22 ` ✗ Fi.CI.IGT: failure for " Patchwork
2018-04-26 12:41 ` [PATCH] " David Weinehall
4 siblings, 0 replies; 10+ messages in thread
From: Chris Wilson @ 2018-03-23 11:02 UTC (permalink / raw)
To: intel-gfx; +Cc: Imre
Quoting Chris Wilson (2018-03-23 08:30:48)
> 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@chris-wilson.co.uk>
> Cc: Imre Deak <imre.deak@intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: David Weinehall <david.weinehall@linux.intel.com>
For doing what it says on the tin,
Tested-by: Paul Menzel <pmenzel@molgen.mpg.de>
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 10+ messages in thread
* ✗ Fi.CI.IGT: failure for drm/i915: Request driver probe from an async task
2018-03-23 8:30 [PATCH] drm/i915: Request driver probe from an async task Chris Wilson
` (2 preceding siblings ...)
2018-03-23 11:02 ` [PATCH] " Chris Wilson
@ 2018-03-23 11:22 ` Patchwork
2018-04-26 12:41 ` [PATCH] " David Weinehall
4 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2018-03-23 11:22 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: Request driver probe from an async task
URL : https://patchwork.freedesktop.org/series/40547/
State : failure
== Summary ==
---- Possible new issues:
Test drv_selftest:
Subgroup live_objects:
pass -> INCOMPLETE (shard-apl)
Test kms_flip:
Subgroup busy-flip:
fail -> PASS (shard-apl)
---- Known issues:
Test gem_softpin:
Subgroup noreloc-s3:
incomplete -> PASS (shard-hsw) fdo#103540
Test kms_flip:
Subgroup 2x-flip-vs-blocking-wf-vblank:
fail -> PASS (shard-hsw) fdo#100368 +1
Subgroup 2x-flip-vs-expired-vblank:
fail -> PASS (shard-hsw) fdo#102887
Test kms_setmode:
Subgroup basic:
pass -> FAIL (shard-apl) fdo#99912
fdo#103540 https://bugs.freedesktop.org/show_bug.cgi?id=103540
fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
shard-apl total:3459 pass:1795 dwarn:1 dfail:0 fail:7 skip:1655 time:12587s
shard-hsw total:3484 pass:1773 dwarn:1 dfail:0 fail:2 skip:1707 time:11736s
shard-snb total:3484 pass:1363 dwarn:1 dfail:0 fail:3 skip:2117 time:7239s
Blacklisted hosts:
shard-kbl total:3484 pass:1943 dwarn:1 dfail:0 fail:11 skip:1529 time:9976s
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_8468/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] drm/i915: Request driver probe from an async task
2018-03-23 8:30 [PATCH] drm/i915: Request driver probe from an async task Chris Wilson
` (3 preceding siblings ...)
2018-03-23 11:22 ` ✗ Fi.CI.IGT: failure for " Patchwork
@ 2018-04-26 12:41 ` David Weinehall
2018-04-26 12:55 ` Chris Wilson
2018-04-26 12:56 ` Imre Deak
4 siblings, 2 replies; 10+ messages in thread
From: David Weinehall @ 2018-04-26 12:41 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
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@chris-wilson.co.uk>
LGTM, and still seems to apply cleanly.
Reviewed-by: David Weinehall <david.weinehall@linux.intel.com>
> Cc: Imre Deak <imre.deak@intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: David Weinehall <david.weinehall@linux.intel.com>
> ---
> 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,
> };
>
> static int __init i915_init(void)
> --
> 2.16.2
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] drm/i915: Request driver probe from an async task
2018-04-26 12:41 ` [PATCH] " David Weinehall
@ 2018-04-26 12:55 ` Chris Wilson
2018-04-26 12:56 ` Imre Deak
1 sibling, 0 replies; 10+ messages in thread
From: Chris Wilson @ 2018-04-26 12:55 UTC (permalink / raw)
To: David Weinehall; +Cc: Imre, intel-gfx
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@chris-wilson.co.uk>
>
> LGTM, and still seems to apply cleanly.
>
> Reviewed-by: David Weinehall <david.weinehall@linux.intel.com>
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@intel.com>
> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Cc: David Weinehall <david.weinehall@linux.intel.com>
> > ---
> > 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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] drm/i915: Request driver probe from an async task
2018-04-26 12:41 ` [PATCH] " David Weinehall
2018-04-26 12:55 ` Chris Wilson
@ 2018-04-26 12:56 ` Imre Deak
2018-04-27 8:04 ` Jani Nikula
1 sibling, 1 reply; 10+ messages in thread
From: Imre Deak @ 2018-04-26 12:56 UTC (permalink / raw)
To: Chris Wilson, intel-gfx, Ville Syrjälä; +Cc: Takashi Iwai
On Thu, Apr 26, 2018 at 03:41:57PM +0300, David Weinehall wrote:
> 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@chris-wilson.co.uk>
>
> LGTM, and still seems to apply cleanly.
>
> Reviewed-by: David Weinehall <david.weinehall@linux.intel.com>
One problem with this is that atm in snd_hdac_i915_init()
request_module() is expected to return only once the i915 probe function
has run. With async probing this won't be any more the case.
+Takashi
>
> > Cc: Imre Deak <imre.deak@intel.com>
> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Cc: David Weinehall <david.weinehall@linux.intel.com>
> > ---
> > 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,
> > };
> >
> > static int __init i915_init(void)
> > --
> > 2.16.2
> >
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] drm/i915: Request driver probe from an async task
2018-04-26 12:56 ` Imre Deak
@ 2018-04-27 8:04 ` Jani Nikula
2018-04-28 8:16 ` Takashi Iwai
0 siblings, 1 reply; 10+ messages in thread
From: Jani Nikula @ 2018-04-27 8:04 UTC (permalink / raw)
To: imre.deak, Chris Wilson, intel-gfx, Ville Syrjälä
Cc: Takashi Iwai, Shi, Yang A
On Thu, 26 Apr 2018, Imre Deak <imre.deak@intel.com> wrote:
> On Thu, Apr 26, 2018 at 03:41:57PM +0300, David Weinehall wrote:
>> 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@chris-wilson.co.uk>
>>
>> LGTM, and still seems to apply cleanly.
>>
>> Reviewed-by: David Weinehall <david.weinehall@linux.intel.com>
>
> One problem with this is that atm in snd_hdac_i915_init()
> request_module() is expected to return only once the i915 probe function
> has run. With async probing this won't be any more the case.
>
> +Takashi
As I wrote to Yang (Cc'd) in the context of another patch, one approach
that takes care of this would be adding a completion in hdac_i915.c,
waiting for it with a timeout below request_module("i915") in
snd_hdac_i915_init(), and completing it in
hdac_component_master_bind(). How long the timeout should be is anyone's
guess...
BR,
Jani.
>
>>
>> > Cc: Imre Deak <imre.deak@intel.com>
>> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> > Cc: David Weinehall <david.weinehall@linux.intel.com>
>> > ---
>> > 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,
>> > };
>> >
>> > static int __init i915_init(void)
>> > --
>> > 2.16.2
>> >
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] drm/i915: Request driver probe from an async task
2018-04-27 8:04 ` Jani Nikula
@ 2018-04-28 8:16 ` Takashi Iwai
0 siblings, 0 replies; 10+ messages in thread
From: Takashi Iwai @ 2018-04-28 8:16 UTC (permalink / raw)
To: Jani Nikula; +Cc: Shi, Yang A, intel-gfx
On Fri, 27 Apr 2018 10:04:13 +0200,
Jani Nikula wrote:
>
> On Thu, 26 Apr 2018, Imre Deak <imre.deak@intel.com> wrote:
> > On Thu, Apr 26, 2018 at 03:41:57PM +0300, David Weinehall wrote:
> >> 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@chris-wilson.co.uk>
> >>
> >> LGTM, and still seems to apply cleanly.
> >>
> >> Reviewed-by: David Weinehall <david.weinehall@linux.intel.com>
> >
> > One problem with this is that atm in snd_hdac_i915_init()
> > request_module() is expected to return only once the i915 probe function
> > has run. With async probing this won't be any more the case.
> >
> > +Takashi
>
> As I wrote to Yang (Cc'd) in the context of another patch, one approach
> that takes care of this would be adding a completion in hdac_i915.c,
> waiting for it with a timeout below request_module("i915") in
> snd_hdac_i915_init(), and completing it in
> hdac_component_master_bind(). How long the timeout should be is anyone's
> guess...
Yes, that's also a workaround I'd take at next.
Also the code can have a vgacon_text_force() check to skip the
nomodeset case, at least, too.
thanks,
Takashi
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2018-04-28 8:16 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-23 8:30 [PATCH] drm/i915: Request driver probe from an async task Chris Wilson
2018-03-23 9:05 ` ✗ Fi.CI.BAT: failure for " Patchwork
2018-03-23 10:29 ` ✓ Fi.CI.BAT: success " Patchwork
2018-03-23 11:02 ` [PATCH] " Chris Wilson
2018-03-23 11:22 ` ✗ Fi.CI.IGT: failure for " Patchwork
2018-04-26 12:41 ` [PATCH] " David Weinehall
2018-04-26 12:55 ` Chris Wilson
2018-04-26 12:56 ` Imre Deak
2018-04-27 8:04 ` Jani Nikula
2018-04-28 8:16 ` Takashi Iwai
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.