dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: David Airlie <airlied@linux.ie>,
	dri-devel@lists.freedesktop.org,
	Bjorn Helgaas <bhelgaas@google.com>,
	Xuefeng Li <lixuefeng@loongson.cn>,
	Huacai Chen <chenhuacai@loongson.cn>
Subject: Re: [PATCH] vgaarb: Call vga_arb_device_init() after PCI enumeration
Date: Tue, 1 Jun 2021 20:03:04 +0200	[thread overview]
Message-ID: <YLZ2WJlHu0EZT7H9@phenom.ffwll.local> (raw)
In-Reply-To: <YLZqe14Lf2+5Lbf3@kroah.com>

On Tue, Jun 01, 2021 at 07:12:27PM +0200, Greg KH wrote:
> On Tue, Jun 01, 2021 at 05:56:40PM +0200, Daniel Vetter wrote:
> > On Fri, May 28, 2021 at 04:26:07PM +0800, Huacai Chen wrote:
> > > We should call vga_arb_device_init() after PCI enumeration, otherwise it
> > > may fail to select the default VGA device. Since vga_arb_device_init()
> > > and PCI enumeration function (i.e., pcibios_init() or acpi_init()) are
> > > both wrapped by subsys_initcall(), their sequence is not assured. So, we
> > > use subsys_initcall_sync() instead of subsys_initcall() to wrap vga_arb_
> > > device_init().
> 
> Trying to juggle levels like this always fails if you build the code as
> a module.
> 
> Why not fix it properly and handle the out-of-order loading by returning
> a "deferred" error if you do not have your resources yet?

It's not a driver, it's kinda a bolted-on-the-side subsytem of pci. So not
something you can -EPROBE_DEFER I think, without potentially upsetting the
drivers that need this.

Which might mean we should move this into pci subsystem proper perhaps?
Then adding the init call at the right time becomes trivial since we just
plug it in at the end of pci init.

Also maybe that's how distros avoid this pain, pci is built-in, vgaarb is
generally a module, problem solved.

Bjorn, would you take this entire vgaarb.c thing? From a quick look I
don't think it has a drm-ism in it (unlike vga_switcheroo, but that works
a bit differently and doesn't have this init order issue).

Thoughts on this?
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

  reply	other threads:[~2021-06-01 18:03 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-28  8:26 [PATCH] vgaarb: Call vga_arb_device_init() after PCI enumeration Huacai Chen
2021-06-01 15:56 ` Daniel Vetter
2021-06-01 17:12   ` Greg KH
2021-06-01 18:03     ` Daniel Vetter [this message]
2021-06-02 10:36       ` Huacai Chen
2021-06-02 16:22         ` Daniel Vetter
2021-06-02 18:31           ` Bjorn Helgaas
2021-06-02 19:26             ` Daniel Vetter
2021-06-04  4:50             ` Huacai Chen
2021-06-04 19:56               ` Bjorn Helgaas
2021-06-05  2:02                 ` Huacai Chen
2021-06-05 17:59                   ` Bjorn Helgaas
2021-06-12  4:40                     ` Huacai Chen
2021-06-02  7:43   ` Huacai Chen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YLZ2WJlHu0EZT7H9@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=airlied@linux.ie \
    --cc=bhelgaas@google.com \
    --cc=chenhuacai@loongson.cn \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=lixuefeng@loongson.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox