forked from Minki/linux
6423e59a64
We can now enable generic PCI driver in Kconfig, and remove legacy PCI driver code. Radeon vbios quirk is moved to the platform folder to fit the new structure. Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
30 lines
733 B
C
30 lines
733 B
C
// SPDX-License-Identifier: GPL-2.0+
|
|
|
|
#include <linux/pci.h>
|
|
#include <loongson.h>
|
|
|
|
static void pci_fixup_radeon(struct pci_dev *pdev)
|
|
{
|
|
struct resource *res = &pdev->resource[PCI_ROM_RESOURCE];
|
|
|
|
if (res->start)
|
|
return;
|
|
|
|
if (!loongson_sysconf.vgabios_addr)
|
|
return;
|
|
|
|
pci_disable_rom(pdev);
|
|
if (res->parent)
|
|
release_resource(res);
|
|
|
|
res->start = virt_to_phys((void *) loongson_sysconf.vgabios_addr);
|
|
res->end = res->start + 256*1024 - 1;
|
|
res->flags = IORESOURCE_MEM | IORESOURCE_ROM_SHADOW |
|
|
IORESOURCE_PCI_FIXED;
|
|
|
|
dev_info(&pdev->dev, "BAR %d: assigned %pR for Radeon ROM\n",
|
|
PCI_ROM_RESOURCE, res);
|
|
}
|
|
DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_VENDOR_ID_ATI, 0x9615,
|
|
PCI_CLASS_DISPLAY_VGA, 8, pci_fixup_radeon);
|