Subject: Re: [PATCH 0/2] vgaarb: Select fallback default VGA device

From: Sherlock Wang <[email-masked]>
Date: Thu, 12 Oct 2017 18:35:29 +0800

On Fri, Oct 06, 2017 at 05:24:20PM -0500, Bjorn Helgaas wrote:
> These patches are supposed to fix a problem Daniel Axtens found on the
> HiSilicon D05 board.  The VGA device there is behind a bridge that doesn't
> support PCI_BRIDGE_CTL_VGA, so the arbiter never selects the device as the
> default.
> 
> The first patch extends the arbiter so that if it can't find an enabled VGA
> device with legacy resources, it selects the first enabled device *without*
> legacy resources (this is what fixes the D05).  If that fails, it selects
> the first device that isn't enabled.  The combination of both changes
> should make the current powerpc fixup_vga() quirk unnecessary.
> 
> N.B. It changes the powerpc behavior: if there are several enabled VGA
> devices, the current quirk selects the last one, while this patch selects
> the first one.  If this is a problem, I can drop that part of the patch and
> keep the quirk.
> 
> The second patch pulls out this fallback device detection (and the EFI
> override) from vga_arb_device_init() to make it easier to read.

Hi Bjorn,

I tested this series in:

        D05 board based on HiSilicon SoC Hip07.
        And HiSilicon SoC Hip08 based board.

Both of these two SoCs' PCIe host bridge don't support PCI_BRIDGE_CTL_VGA. One
VGA device which does not support legacy resources has been connected to these
two PCIe host bridges to test. Default VGA device can be selected in above two
systems.

Tested-by: Zhou Wang <[email-masked]>
(sorry for my HiSilicon E-mail box miss this serias, so here I have to use my
gmail box)

Thanks,
Zhou

> 
> ---
> 
> Bjorn Helgaas (2):
>       vgaarb: Select a default VGA device even if there's no legacy VGA
>       vgaarb: Factor out EFI and fallback default device selection
> 
> 
>  arch/powerpc/kernel/pci-common.c |   12 ------
>  drivers/gpu/vga/vgaarb.c         |   72 +++++++++++++++++++++++++++++---------
>  2 files changed, 55 insertions(+), 29 deletions(-)