2023-08-01 20:12:25

by Sui Jingfeng

[permalink] [raw]
Subject: [PATCH] LoongArch: Remove vgaarb related workarounds

When we have a better approach[1] to handle multiple video cards problems
on Loongarch, we want to drop the vgaarb related workaround.

[1] https://patchwork.freedesktop.org/patch/550708/?series=121740&rev=1

Cc: Bjorn Helgaas <[email protected]>
Cc: Li Yi <[email protected]>
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Sui Jingfeng <[email protected]>
---
arch/loongarch/pci/pci.c | 19 -------------------
1 file changed, 19 deletions(-)

diff --git a/arch/loongarch/pci/pci.c b/arch/loongarch/pci/pci.c
index 2726639150bc..4319b5d75872 100644
--- a/arch/loongarch/pci/pci.c
+++ b/arch/loongarch/pci/pci.c
@@ -8,13 +8,10 @@
#include <linux/acpi.h>
#include <linux/types.h>
#include <linux/pci.h>
-#include <linux/vgaarb.h>
#include <asm/cacheflush.h>
#include <asm/loongson.h>

#define PCI_DEVICE_ID_LOONGSON_HOST 0x7a00
-#define PCI_DEVICE_ID_LOONGSON_DC1 0x7a06
-#define PCI_DEVICE_ID_LOONGSON_DC2 0x7a36

int raw_pci_read(unsigned int domain, unsigned int bus, unsigned int devfn,
int reg, int len, u32 *val)
@@ -82,19 +79,3 @@ int pcibios_alloc_irq(struct pci_dev *dev)
return 0;
return acpi_pci_irq_enable(dev);
}
-
-static void pci_fixup_vgadev(struct pci_dev *pdev)
-{
- struct pci_dev *devp = NULL;
-
- while ((devp = pci_get_class(PCI_CLASS_DISPLAY_VGA << 8, devp))) {
- if (devp->vendor != PCI_VENDOR_ID_LOONGSON) {
- vga_set_default_device(devp);
- dev_info(&pdev->dev,
- "Overriding boot device as %X:%X\n",
- devp->vendor, devp->device);
- }
- }
-}
-DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_LOONGSON, PCI_DEVICE_ID_LOONGSON_DC1, pci_fixup_vgadev);
-DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_LOONGSON, PCI_DEVICE_ID_LOONGSON_DC2, pci_fixup_vgadev);
--
2.34.1



2023-08-11 23:03:43

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [PATCH] LoongArch: Remove vgaarb related workarounds

On Wed, Aug 02, 2023 at 02:56:07AM +0800, Sui Jingfeng wrote:
> When we have a better approach[1] to handle multiple video cards problems
> on Loongarch, we want to drop the vgaarb related workaround.
>
> [1] https://patchwork.freedesktop.org/patch/550708/?series=121740&rev=1

If I understand correctly, this patch depends on [1]. The way you do
this is to send both patches in a single series, e.g.,

[PATCH 0/2] <cover letter>
[PATCH 1/2] PCI/VGA: Make the vga_is_firmware_default() less arch-independent
[PATCH 2/2] LoongArch: Remove vgaarb related workarounds

> Cc: Bjorn Helgaas <[email protected]>
> Cc: Li Yi <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Signed-off-by: Sui Jingfeng <[email protected]>
> ---
> arch/loongarch/pci/pci.c | 19 -------------------
> 1 file changed, 19 deletions(-)
>
> diff --git a/arch/loongarch/pci/pci.c b/arch/loongarch/pci/pci.c
> index 2726639150bc..4319b5d75872 100644
> --- a/arch/loongarch/pci/pci.c
> +++ b/arch/loongarch/pci/pci.c
> @@ -8,13 +8,10 @@
> #include <linux/acpi.h>
> #include <linux/types.h>
> #include <linux/pci.h>
> -#include <linux/vgaarb.h>
> #include <asm/cacheflush.h>
> #include <asm/loongson.h>
>
> #define PCI_DEVICE_ID_LOONGSON_HOST 0x7a00
> -#define PCI_DEVICE_ID_LOONGSON_DC1 0x7a06
> -#define PCI_DEVICE_ID_LOONGSON_DC2 0x7a36
>
> int raw_pci_read(unsigned int domain, unsigned int bus, unsigned int devfn,
> int reg, int len, u32 *val)
> @@ -82,19 +79,3 @@ int pcibios_alloc_irq(struct pci_dev *dev)
> return 0;
> return acpi_pci_irq_enable(dev);
> }
> -
> -static void pci_fixup_vgadev(struct pci_dev *pdev)
> -{
> - struct pci_dev *devp = NULL;
> -
> - while ((devp = pci_get_class(PCI_CLASS_DISPLAY_VGA << 8, devp))) {
> - if (devp->vendor != PCI_VENDOR_ID_LOONGSON) {
> - vga_set_default_device(devp);
> - dev_info(&pdev->dev,
> - "Overriding boot device as %X:%X\n",
> - devp->vendor, devp->device);
> - }
> - }
> -}
> -DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_LOONGSON, PCI_DEVICE_ID_LOONGSON_DC1, pci_fixup_vgadev);
> -DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_LOONGSON, PCI_DEVICE_ID_LOONGSON_DC2, pci_fixup_vgadev);
> --
> 2.34.1
>