mbox series

[v8,00/10] vgaarb: Rework default VGA device selection

Message ID 20220106000658.243509-1-helgaas@kernel.org (mailing list archive)
Headers show
Series vgaarb: Rework default VGA device selection | expand

Message

Bjorn Helgaas Jan. 6, 2022, 12:06 a.m. UTC
From: Bjorn Helgaas <bhelgaas@google.com>

Current default VGA device selection fails in some cases because part of it
is done in the vga_arb_device_init() subsys_initcall, and some arches
enumerate PCI devices in pcibios_init(), which runs *after* that.

For example:

  - On BMC system, the AST2500 bridge [1a03:1150] does not implement
    PCI_BRIDGE_CTL_VGA.  This is perfectly legal but means the legacy VGA
    resources won't reach downstream devices unless they're included in the
    usual bridge windows.

  - vga_arb_select_default_device() will set a device below such a bridge
    as the default VGA device as long as it has PCI_COMMAND_IO and
    PCI_COMMAND_MEMORY enabled.

  - vga_arbiter_add_pci_device() is called for every VGA device, either at
    boot-time or at hot-add time, and it will also set the device as the
    default VGA device, but ONLY if all bridges leading to it implement
    PCI_BRIDGE_CTL_VGA.

  - This difference between vga_arb_select_default_device() and
    vga_arbiter_add_pci_device() means that a device below an AST2500 or
    similar bridge can only be set as the default if it is enumerated
    before vga_arb_device_init().

  - On ACPI-based systems, PCI devices are enumerated by acpi_init(), which
    runs before vga_arb_device_init().

  - On non-ACPI systems, like on MIPS system, they are enumerated by
    pcibios_init(), which typically runs *after* vga_arb_device_init().

This series consolidates all the default VGA device selection in
vga_arbiter_add_pci_device(), which is always called after enumerating a
PCI device.

Almost all the work here is Huacai's.  I restructured it a little bit and
added a few trivial patches on top.

I'd like to move vgaarb.c to drivers/pci eventually, but there's another
initcall ordering snag that needs to be resolved first, so this leaves 
it where it is.

Bjorn

Version history:
V0 original implementation as final quirk to set default device.
https://lore.kernel.org/r/20210514080025.1828197-6-chenhuacai@loongson.cn

V1 rework vgaarb to do all default device selection in
vga_arbiter_add_pci_device().
https://lore.kernel.org/r/20210705100503.1120643-1-chenhuacai@loongson.cn

V2 move arbiter to PCI subsystem, fix nits.
https://lore.kernel.org/r/20210722212920.347118-1-helgaas@kernel.org

V3 rewrite the commit log of the last patch (which is also summarized
by Bjorn).
https://lore.kernel.org/r/20210820100832.663931-1-chenhuacai@loongson.cn

V4 split the last patch to two steps.
https://lore.kernel.org/r/20210827083129.2781420-1-chenhuacai@loongson.cn

V5 split Patch-9 again and sort the patches.
https://lore.kernel.org/r/20210911093056.1555274-1-chenhuacai@loongson.cn

V6 split Patch-5 again and sort the patches again.
https://lore.kernel.org/r/20210916082941.3421838-1-chenhuacai@loongson.cn

V7 stop moving vgaarb to drivers/pci because of ordering issues with
misc_init().
https://lore.kernel.org/r/20211015061512.2941859-1-chenhuacai@loongson.cn
https://lore.kernel.org/r/CAAhV-H7FhAjM-Ha42Z1dLrE4PvC9frfyeU27KHWcyWKkMftEsA@mail.gmail.com


Bjorn Helgaas (8):
  vgaarb: Factor out vga_select_framebuffer_device()
  vgaarb: Factor out default VGA device selection
  vgaarb: Move framebuffer detection to ADD_DEVICE path
  vgaarb: Move non-legacy VGA detection to ADD_DEVICE path
  vgaarb: Move disabled VGA device detection to ADD_DEVICE path
  vgaarb: Remove empty vga_arb_device_card_gone()
  vgaarb: Use unsigned format string to print lock counts
  vgaarb: Replace full MIT license text with SPDX identifier

Huacai Chen (2):
  vgaarb: Move vga_arb_integrated_gpu() earlier in file
  vgaarb: Log bridge control messages when adding devices

 drivers/gpu/vga/vgaarb.c | 311 +++++++++++++++++++--------------------
 1 file changed, 154 insertions(+), 157 deletions(-)

Comments

Bjorn Helgaas Jan. 6, 2022, 4:30 p.m. UTC | #1
[+to Maarten, Maxime, Thomas: sorry, I forgot to use
get_maintainer.pl so I missed you the first time.  Beginning of thread:
https://lore.kernel.org/all/20220106000658.243509-1-helgaas@kernel.org/#t
Git branch with this v8 + a couple trivial renames, based on v5.16-rc1:
https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=0f4caffa1297]

On Wed, Jan 05, 2022 at 06:06:48PM -0600, Bjorn Helgaas wrote:
> From: Bjorn Helgaas <bhelgaas@google.com>
> 
> Current default VGA device selection fails in some cases because part of it
> is done in the vga_arb_device_init() subsys_initcall, and some arches
> enumerate PCI devices in pcibios_init(), which runs *after* that.
> 
> For example:
> 
>   - On BMC system, the AST2500 bridge [1a03:1150] does not implement
>     PCI_BRIDGE_CTL_VGA.  This is perfectly legal but means the legacy VGA
>     resources won't reach downstream devices unless they're included in the
>     usual bridge windows.
> 
>   - vga_arb_select_default_device() will set a device below such a bridge
>     as the default VGA device as long as it has PCI_COMMAND_IO and
>     PCI_COMMAND_MEMORY enabled.
> 
>   - vga_arbiter_add_pci_device() is called for every VGA device, either at
>     boot-time or at hot-add time, and it will also set the device as the
>     default VGA device, but ONLY if all bridges leading to it implement
>     PCI_BRIDGE_CTL_VGA.
> 
>   - This difference between vga_arb_select_default_device() and
>     vga_arbiter_add_pci_device() means that a device below an AST2500 or
>     similar bridge can only be set as the default if it is enumerated
>     before vga_arb_device_init().
> 
>   - On ACPI-based systems, PCI devices are enumerated by acpi_init(), which
>     runs before vga_arb_device_init().
> 
>   - On non-ACPI systems, like on MIPS system, they are enumerated by
>     pcibios_init(), which typically runs *after* vga_arb_device_init().
> 
> This series consolidates all the default VGA device selection in
> vga_arbiter_add_pci_device(), which is always called after enumerating a
> PCI device.
> 
> Almost all the work here is Huacai's.  I restructured it a little bit and
> added a few trivial patches on top.
> 
> I'd like to move vgaarb.c to drivers/pci eventually, but there's another
> initcall ordering snag that needs to be resolved first, so this leaves 
> it where it is.
> 
> Bjorn
> 
> Version history:
> V0 original implementation as final quirk to set default device.
> https://lore.kernel.org/r/20210514080025.1828197-6-chenhuacai@loongson.cn
> 
> V1 rework vgaarb to do all default device selection in
> vga_arbiter_add_pci_device().
> https://lore.kernel.org/r/20210705100503.1120643-1-chenhuacai@loongson.cn
> 
> V2 move arbiter to PCI subsystem, fix nits.
> https://lore.kernel.org/r/20210722212920.347118-1-helgaas@kernel.org
> 
> V3 rewrite the commit log of the last patch (which is also summarized
> by Bjorn).
> https://lore.kernel.org/r/20210820100832.663931-1-chenhuacai@loongson.cn
> 
> V4 split the last patch to two steps.
> https://lore.kernel.org/r/20210827083129.2781420-1-chenhuacai@loongson.cn
> 
> V5 split Patch-9 again and sort the patches.
> https://lore.kernel.org/r/20210911093056.1555274-1-chenhuacai@loongson.cn
> 
> V6 split Patch-5 again and sort the patches again.
> https://lore.kernel.org/r/20210916082941.3421838-1-chenhuacai@loongson.cn
> 
> V7 stop moving vgaarb to drivers/pci because of ordering issues with
> misc_init().
> https://lore.kernel.org/r/20211015061512.2941859-1-chenhuacai@loongson.cn
> https://lore.kernel.org/r/CAAhV-H7FhAjM-Ha42Z1dLrE4PvC9frfyeU27KHWcyWKkMftEsA@mail.gmail.com
> 
> 
> Bjorn Helgaas (8):
>   vgaarb: Factor out vga_select_framebuffer_device()
>   vgaarb: Factor out default VGA device selection
>   vgaarb: Move framebuffer detection to ADD_DEVICE path
>   vgaarb: Move non-legacy VGA detection to ADD_DEVICE path
>   vgaarb: Move disabled VGA device detection to ADD_DEVICE path
>   vgaarb: Remove empty vga_arb_device_card_gone()
>   vgaarb: Use unsigned format string to print lock counts
>   vgaarb: Replace full MIT license text with SPDX identifier
> 
> Huacai Chen (2):
>   vgaarb: Move vga_arb_integrated_gpu() earlier in file
>   vgaarb: Log bridge control messages when adding devices
> 
>  drivers/gpu/vga/vgaarb.c | 311 +++++++++++++++++++--------------------
>  1 file changed, 154 insertions(+), 157 deletions(-)
> 
> -- 
> 2.25.1
> 
>
Huacai Chen Jan. 8, 2022, 3:26 a.m. UTC | #2
For the whole series:
Tested-by: Huacai Chen <chenhuacai@loongson.cn>

On Fri, Jan 7, 2022 at 12:30 AM Bjorn Helgaas <helgaas@kernel.org> wrote:
>
> [+to Maarten, Maxime, Thomas: sorry, I forgot to use
> get_maintainer.pl so I missed you the first time.  Beginning of thread:
> https://lore.kernel.org/all/20220106000658.243509-1-helgaas@kernel.org/#t
> Git branch with this v8 + a couple trivial renames, based on v5.16-rc1:
> https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=0f4caffa1297]
>
> On Wed, Jan 05, 2022 at 06:06:48PM -0600, Bjorn Helgaas wrote:
> > From: Bjorn Helgaas <bhelgaas@google.com>
> >
> > Current default VGA device selection fails in some cases because part of it
> > is done in the vga_arb_device_init() subsys_initcall, and some arches
> > enumerate PCI devices in pcibios_init(), which runs *after* that.
> >
> > For example:
> >
> >   - On BMC system, the AST2500 bridge [1a03:1150] does not implement
> >     PCI_BRIDGE_CTL_VGA.  This is perfectly legal but means the legacy VGA
> >     resources won't reach downstream devices unless they're included in the
> >     usual bridge windows.
> >
> >   - vga_arb_select_default_device() will set a device below such a bridge
> >     as the default VGA device as long as it has PCI_COMMAND_IO and
> >     PCI_COMMAND_MEMORY enabled.
> >
> >   - vga_arbiter_add_pci_device() is called for every VGA device, either at
> >     boot-time or at hot-add time, and it will also set the device as the
> >     default VGA device, but ONLY if all bridges leading to it implement
> >     PCI_BRIDGE_CTL_VGA.
> >
> >   - This difference between vga_arb_select_default_device() and
> >     vga_arbiter_add_pci_device() means that a device below an AST2500 or
> >     similar bridge can only be set as the default if it is enumerated
> >     before vga_arb_device_init().
> >
> >   - On ACPI-based systems, PCI devices are enumerated by acpi_init(), which
> >     runs before vga_arb_device_init().
> >
> >   - On non-ACPI systems, like on MIPS system, they are enumerated by
> >     pcibios_init(), which typically runs *after* vga_arb_device_init().
> >
> > This series consolidates all the default VGA device selection in
> > vga_arbiter_add_pci_device(), which is always called after enumerating a
> > PCI device.
> >
> > Almost all the work here is Huacai's.  I restructured it a little bit and
> > added a few trivial patches on top.
> >
> > I'd like to move vgaarb.c to drivers/pci eventually, but there's another
> > initcall ordering snag that needs to be resolved first, so this leaves
> > it where it is.
> >
> > Bjorn
> >
> > Version history:
> > V0 original implementation as final quirk to set default device.
> > https://lore.kernel.org/r/20210514080025.1828197-6-chenhuacai@loongson.cn
> >
> > V1 rework vgaarb to do all default device selection in
> > vga_arbiter_add_pci_device().
> > https://lore.kernel.org/r/20210705100503.1120643-1-chenhuacai@loongson.cn
> >
> > V2 move arbiter to PCI subsystem, fix nits.
> > https://lore.kernel.org/r/20210722212920.347118-1-helgaas@kernel.org
> >
> > V3 rewrite the commit log of the last patch (which is also summarized
> > by Bjorn).
> > https://lore.kernel.org/r/20210820100832.663931-1-chenhuacai@loongson.cn
> >
> > V4 split the last patch to two steps.
> > https://lore.kernel.org/r/20210827083129.2781420-1-chenhuacai@loongson.cn
> >
> > V5 split Patch-9 again and sort the patches.
> > https://lore.kernel.org/r/20210911093056.1555274-1-chenhuacai@loongson.cn
> >
> > V6 split Patch-5 again and sort the patches again.
> > https://lore.kernel.org/r/20210916082941.3421838-1-chenhuacai@loongson.cn
> >
> > V7 stop moving vgaarb to drivers/pci because of ordering issues with
> > misc_init().
> > https://lore.kernel.org/r/20211015061512.2941859-1-chenhuacai@loongson.cn
> > https://lore.kernel.org/r/CAAhV-H7FhAjM-Ha42Z1dLrE4PvC9frfyeU27KHWcyWKkMftEsA@mail.gmail.com
> >
> >
> > Bjorn Helgaas (8):
> >   vgaarb: Factor out vga_select_framebuffer_device()
> >   vgaarb: Factor out default VGA device selection
> >   vgaarb: Move framebuffer detection to ADD_DEVICE path
> >   vgaarb: Move non-legacy VGA detection to ADD_DEVICE path
> >   vgaarb: Move disabled VGA device detection to ADD_DEVICE path
> >   vgaarb: Remove empty vga_arb_device_card_gone()
> >   vgaarb: Use unsigned format string to print lock counts
> >   vgaarb: Replace full MIT license text with SPDX identifier
> >
> > Huacai Chen (2):
> >   vgaarb: Move vga_arb_integrated_gpu() earlier in file
> >   vgaarb: Log bridge control messages when adding devices
> >
> >  drivers/gpu/vga/vgaarb.c | 311 +++++++++++++++++++--------------------
> >  1 file changed, 154 insertions(+), 157 deletions(-)
> >
> > --
> > 2.25.1
> >
> >
Bjorn Helgaas Jan. 31, 2022, 10:23 p.m. UTC | #3
[+to Maarten, Maxime, Thomas; beginning of thread:
https://lore.kernel.org/r/20220106000658.243509-1-helgaas@kernel.org]

On Wed, Jan 05, 2022 at 06:06:48PM -0600, Bjorn Helgaas wrote:
> From: Bjorn Helgaas <bhelgaas@google.com>
> 
> Current default VGA device selection fails in some cases because part of it
> is done in the vga_arb_device_init() subsys_initcall, and some arches
> enumerate PCI devices in pcibios_init(), which runs *after* that.

Where are we at with this series?  Is there anything I can do to move
it forward?

Bjorn

> For example:
> 
>   - On BMC system, the AST2500 bridge [1a03:1150] does not implement
>     PCI_BRIDGE_CTL_VGA.  This is perfectly legal but means the legacy VGA
>     resources won't reach downstream devices unless they're included in the
>     usual bridge windows.
> 
>   - vga_arb_select_default_device() will set a device below such a bridge
>     as the default VGA device as long as it has PCI_COMMAND_IO and
>     PCI_COMMAND_MEMORY enabled.
> 
>   - vga_arbiter_add_pci_device() is called for every VGA device, either at
>     boot-time or at hot-add time, and it will also set the device as the
>     default VGA device, but ONLY if all bridges leading to it implement
>     PCI_BRIDGE_CTL_VGA.
> 
>   - This difference between vga_arb_select_default_device() and
>     vga_arbiter_add_pci_device() means that a device below an AST2500 or
>     similar bridge can only be set as the default if it is enumerated
>     before vga_arb_device_init().
> 
>   - On ACPI-based systems, PCI devices are enumerated by acpi_init(), which
>     runs before vga_arb_device_init().
> 
>   - On non-ACPI systems, like on MIPS system, they are enumerated by
>     pcibios_init(), which typically runs *after* vga_arb_device_init().
> 
> This series consolidates all the default VGA device selection in
> vga_arbiter_add_pci_device(), which is always called after enumerating a
> PCI device.
> 
> Almost all the work here is Huacai's.  I restructured it a little bit and
> added a few trivial patches on top.
> 
> I'd like to move vgaarb.c to drivers/pci eventually, but there's another
> initcall ordering snag that needs to be resolved first, so this leaves 
> it where it is.
> 
> Bjorn
> 
> Version history:
> V0 original implementation as final quirk to set default device.
> https://lore.kernel.org/r/20210514080025.1828197-6-chenhuacai@loongson.cn
> 
> V1 rework vgaarb to do all default device selection in
> vga_arbiter_add_pci_device().
> https://lore.kernel.org/r/20210705100503.1120643-1-chenhuacai@loongson.cn
> 
> V2 move arbiter to PCI subsystem, fix nits.
> https://lore.kernel.org/r/20210722212920.347118-1-helgaas@kernel.org
> 
> V3 rewrite the commit log of the last patch (which is also summarized
> by Bjorn).
> https://lore.kernel.org/r/20210820100832.663931-1-chenhuacai@loongson.cn
> 
> V4 split the last patch to two steps.
> https://lore.kernel.org/r/20210827083129.2781420-1-chenhuacai@loongson.cn
> 
> V5 split Patch-9 again and sort the patches.
> https://lore.kernel.org/r/20210911093056.1555274-1-chenhuacai@loongson.cn
> 
> V6 split Patch-5 again and sort the patches again.
> https://lore.kernel.org/r/20210916082941.3421838-1-chenhuacai@loongson.cn
> 
> V7 stop moving vgaarb to drivers/pci because of ordering issues with
> misc_init().
> https://lore.kernel.org/r/20211015061512.2941859-1-chenhuacai@loongson.cn
> https://lore.kernel.org/r/CAAhV-H7FhAjM-Ha42Z1dLrE4PvC9frfyeU27KHWcyWKkMftEsA@mail.gmail.com
> 
> 
> Bjorn Helgaas (8):
>   vgaarb: Factor out vga_select_framebuffer_device()
>   vgaarb: Factor out default VGA device selection
>   vgaarb: Move framebuffer detection to ADD_DEVICE path
>   vgaarb: Move non-legacy VGA detection to ADD_DEVICE path
>   vgaarb: Move disabled VGA device detection to ADD_DEVICE path
>   vgaarb: Remove empty vga_arb_device_card_gone()
>   vgaarb: Use unsigned format string to print lock counts
>   vgaarb: Replace full MIT license text with SPDX identifier
> 
> Huacai Chen (2):
>   vgaarb: Move vga_arb_integrated_gpu() earlier in file
>   vgaarb: Log bridge control messages when adding devices
> 
>  drivers/gpu/vga/vgaarb.c | 311 +++++++++++++++++++--------------------
>  1 file changed, 154 insertions(+), 157 deletions(-)
> 
> -- 
> 2.25.1
>
Maarten Lankhorst Feb. 1, 2022, 3:46 p.m. UTC | #4
Hey,
 
Op 31-01-2022 om 23:23 schreef Bjorn Helgaas:
> [+to Maarten, Maxime, Thomas; beginning of thread:
> https://lore.kernel.org/r/20220106000658.243509-1-helgaas@kernel.org]
>
> On Wed, Jan 05, 2022 at 06:06:48PM -0600, Bjorn Helgaas wrote:
>> From: Bjorn Helgaas <bhelgaas@google.com>
>>
>> Current default VGA device selection fails in some cases because part of it
>> is done in the vga_arb_device_init() subsys_initcall, and some arches
>> enumerate PCI devices in pcibios_init(), which runs *after* that.
> Where are we at with this series?  Is there anything I can do to move
> it forward?
>
> Bjorn

Hi Bjorn,


I'm afraid that I don't understand the vga arbiter or the vga code well enough to review.

Could you perhaps find someone who could review?

I see Chen wrote some patches and tested, so perhaps they could?

~Maarten

>> For example:
>>
>>   - On BMC system, the AST2500 bridge [1a03:1150] does not implement
>>     PCI_BRIDGE_CTL_VGA.  This is perfectly legal but means the legacy VGA
>>     resources won't reach downstream devices unless they're included in the
>>     usual bridge windows.
>>
>>   - vga_arb_select_default_device() will set a device below such a bridge
>>     as the default VGA device as long as it has PCI_COMMAND_IO and
>>     PCI_COMMAND_MEMORY enabled.
>>
>>   - vga_arbiter_add_pci_device() is called for every VGA device, either at
>>     boot-time or at hot-add time, and it will also set the device as the
>>     default VGA device, but ONLY if all bridges leading to it implement
>>     PCI_BRIDGE_CTL_VGA.
>>
>>   - This difference between vga_arb_select_default_device() and
>>     vga_arbiter_add_pci_device() means that a device below an AST2500 or
>>     similar bridge can only be set as the default if it is enumerated
>>     before vga_arb_device_init().
>>
>>   - On ACPI-based systems, PCI devices are enumerated by acpi_init(), which
>>     runs before vga_arb_device_init().
>>
>>   - On non-ACPI systems, like on MIPS system, they are enumerated by
>>     pcibios_init(), which typically runs *after* vga_arb_device_init().
>>
>> This series consolidates all the default VGA device selection in
>> vga_arbiter_add_pci_device(), which is always called after enumerating a
>> PCI device.
>>
>> Almost all the work here is Huacai's.  I restructured it a little bit and
>> added a few trivial patches on top.
>>
>> I'd like to move vgaarb.c to drivers/pci eventually, but there's another
>> initcall ordering snag that needs to be resolved first, so this leaves 
>> it where it is.
>>
>> Bjorn
>>
>> Version history:
>> V0 original implementation as final quirk to set default device.
>> https://lore.kernel.org/r/20210514080025.1828197-6-chenhuacai@loongson.cn
>>
>> V1 rework vgaarb to do all default device selection in
>> vga_arbiter_add_pci_device().
>> https://lore.kernel.org/r/20210705100503.1120643-1-chenhuacai@loongson.cn
>>
>> V2 move arbiter to PCI subsystem, fix nits.
>> https://lore.kernel.org/r/20210722212920.347118-1-helgaas@kernel.org
>>
>> V3 rewrite the commit log of the last patch (which is also summarized
>> by Bjorn).
>> https://lore.kernel.org/r/20210820100832.663931-1-chenhuacai@loongson.cn
>>
>> V4 split the last patch to two steps.
>> https://lore.kernel.org/r/20210827083129.2781420-1-chenhuacai@loongson.cn
>>
>> V5 split Patch-9 again and sort the patches.
>> https://lore.kernel.org/r/20210911093056.1555274-1-chenhuacai@loongson.cn
>>
>> V6 split Patch-5 again and sort the patches again.
>> https://lore.kernel.org/r/20210916082941.3421838-1-chenhuacai@loongson.cn
>>
>> V7 stop moving vgaarb to drivers/pci because of ordering issues with
>> misc_init().
>> https://lore.kernel.org/r/20211015061512.2941859-1-chenhuacai@loongson.cn
>> https://lore.kernel.org/r/CAAhV-H7FhAjM-Ha42Z1dLrE4PvC9frfyeU27KHWcyWKkMftEsA@mail.gmail.com
>>
>>
>> Bjorn Helgaas (8):
>>   vgaarb: Factor out vga_select_framebuffer_device()
>>   vgaarb: Factor out default VGA device selection
>>   vgaarb: Move framebuffer detection to ADD_DEVICE path
>>   vgaarb: Move non-legacy VGA detection to ADD_DEVICE path
>>   vgaarb: Move disabled VGA device detection to ADD_DEVICE path
>>   vgaarb: Remove empty vga_arb_device_card_gone()
>>   vgaarb: Use unsigned format string to print lock counts
>>   vgaarb: Replace full MIT license text with SPDX identifier
>>
>> Huacai Chen (2):
>>   vgaarb: Move vga_arb_integrated_gpu() earlier in file
>>   vgaarb: Log bridge control messages when adding devices
>>
>>  drivers/gpu/vga/vgaarb.c | 311 +++++++++++++++++++--------------------
>>  1 file changed, 154 insertions(+), 157 deletions(-)
>>
>> -- 
>> 2.25.1
>>
Bjorn Helgaas Feb. 7, 2022, 5:59 p.m. UTC | #5
On Tue, Feb 01, 2022 at 04:46:33PM +0100, Maarten Lankhorst wrote:
> Op 31-01-2022 om 23:23 schreef Bjorn Helgaas:
> > [+to Maarten, Maxime, Thomas; beginning of thread:
> > https://lore.kernel.org/r/20220106000658.243509-1-helgaas@kernel.org]
> >
> > On Wed, Jan 05, 2022 at 06:06:48PM -0600, Bjorn Helgaas wrote:
> >> From: Bjorn Helgaas <bhelgaas@google.com>
> >>
> >> Current default VGA device selection fails in some cases because part of it
> >> is done in the vga_arb_device_init() subsys_initcall, and some arches
> >> enumerate PCI devices in pcibios_init(), which runs *after* that.
> > Where are we at with this series?  Is there anything I can do to move
> > it forward?
> 
> I'm afraid that I don't understand the vga arbiter or the vga code
> well enough to review.
> 
> Could you perhaps find someone who could review?
> 
> I see Chen wrote some patches and tested, so perhaps they could?

Huacai, any chance you could review this?  I'm worried that this
series isn't going to go anywhere unless we can find somebody to
review it.

Bjorn
Huacai Chen Feb. 8, 2022, 2:14 a.m. UTC | #6
Hi, Bjorn,

On Tue, Feb 8, 2022 at 1:59 AM Bjorn Helgaas <helgaas@kernel.org> wrote:
>
> On Tue, Feb 01, 2022 at 04:46:33PM +0100, Maarten Lankhorst wrote:
> > Op 31-01-2022 om 23:23 schreef Bjorn Helgaas:
> > > [+to Maarten, Maxime, Thomas; beginning of thread:
> > > https://lore.kernel.org/r/20220106000658.243509-1-helgaas@kernel.org]
> > >
> > > On Wed, Jan 05, 2022 at 06:06:48PM -0600, Bjorn Helgaas wrote:
> > >> From: Bjorn Helgaas <bhelgaas@google.com>
> > >>
> > >> Current default VGA device selection fails in some cases because part of it
> > >> is done in the vga_arb_device_init() subsys_initcall, and some arches
> > >> enumerate PCI devices in pcibios_init(), which runs *after* that.
> > > Where are we at with this series?  Is there anything I can do to move
> > > it forward?
> >
> > I'm afraid that I don't understand the vga arbiter or the vga code
> > well enough to review.
> >
> > Could you perhaps find someone who could review?
> >
> > I see Chen wrote some patches and tested, so perhaps they could?
>
> Huacai, any chance you could review this?  I'm worried that this
> series isn't going to go anywhere unless we can find somebody to
> review it.
I have reviewed and tested the whole series, it looks good to me
(except the naming which has already changed). But I thought I cannot
add a "Reviewed-by" because I was originally a co-developer. But if
necessary,

Reviewed-by: Huacai Chen <chenhuacai@loongson.cn>

Huacai
>
> Bjorn
Bjorn Helgaas Feb. 14, 2022, 4:19 p.m. UTC | #7
On Tue, Feb 01, 2022 at 04:46:33PM +0100, Maarten Lankhorst wrote:
> Hey,
>  
> Op 31-01-2022 om 23:23 schreef Bjorn Helgaas:
> > [+to Maarten, Maxime, Thomas; beginning of thread:
> > https://lore.kernel.org/r/20220106000658.243509-1-helgaas@kernel.org]
> >
> > On Wed, Jan 05, 2022 at 06:06:48PM -0600, Bjorn Helgaas wrote:
> >> From: Bjorn Helgaas <bhelgaas@google.com>
> >>
> >> Current default VGA device selection fails in some cases because
> >> part of it is done in the vga_arb_device_init() subsys_initcall,
> >> and some arches enumerate PCI devices in pcibios_init(), which
> >> runs *after* that.
> >
> > Where are we at with this series?  Is there anything I can do to
> > move it forward?
> 
> I'm afraid that I don't understand the vga arbiter or the vga code
> well enough to review.
> 
> Could you perhaps find someone who could review?
> 
> I see Chen wrote some patches and tested, so perhaps they could?

Hi Maarten,

Huacai Chen did provide his Reviewed-by (although as he noted, the
content initially came from him anyway and my contribution was mainly
rearranging things into separate patches for each specific case).

Anything else we can to do help here?

Bjorn