2018-09-19 07:38:25

by Zhang, Ning A

[permalink] [raw]
Subject: [PATCH] drm/i915: set i915 driver probe to asynchronous

From: Zhang Ning <[email protected]>

when i915 is built in module, and system has built-in display, eg. eDP,
i915 will detect and active it during driver probe. it will take long
time.

set i915 driver probe to asynchrous can save kernel initial time.

Signed-off-by: Zhang Ning <[email protected]>
---
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 6a4d1388ad2d..0f57d71d0abb 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -738,6 +738,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.18.0



2018-09-21 09:31:23

by Daniel Vetter

[permalink] [raw]
Subject: Re: [PATCH] drm/i915: set i915 driver probe to asynchronous

On Wed, Sep 19, 2018 at 03:37:12PM +0800, [email protected] wrote:
> From: Zhang Ning <[email protected]>
>
> when i915 is built in module, and system has built-in display, eg. eDP,
> i915 will detect and active it during driver probe. it will take long
> time.
>
> set i915 driver probe to asynchrous can save kernel initial time.
>
> Signed-off-by: Zhang Ning <[email protected]>

Last time around this was proposed there was a very long discussion around
how this breaks the sound driver. Was this resolved? Definitely needs to
add this context to the commit message, and all people involved back then
added to the Cc: list. Searching for PROBE_PREFER_ASYNCHRONOUS in the
archives should dig it all up.

Thanks, Daniel
> ---
> 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 6a4d1388ad2d..0f57d71d0abb 100644
> --- a/drivers/gpu/drm/i915/i915_pci.c
> +++ b/drivers/gpu/drm/i915/i915_pci.c
> @@ -738,6 +738,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.18.0
>
> _______________________________________________
> dri-devel mailing list
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch