forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
733 B
29 lines
733 B
// 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);
|
|
|