oryp6: set subsystem IDs

Change-Id: I659ae6da3c5ff61c22a10ed112b82984cb3168d7
This commit is contained in:
Jeremy Soller 2020-06-26 12:26:27 -06:00 committed by Jeremy Soller
parent 264f4cd55b
commit 87a74eb767
2 changed files with 19 additions and 11 deletions

View File

@ -29,6 +29,7 @@
Device (\_SB.PCI0.PEGP.DEV0)
{
Name(_ADR, 0x00000000)
Name (_STA, 0xF)
Name (LTRE, 0)
// Memory mapped PCI express registers
@ -84,8 +85,6 @@ Device (\_SB.PCI0.PEGP.DEV0)
LREV, 1
}
Name (_STA, 0xF)
Method (_ON)
{
Debug = "PEGP.DEV0._ON"
@ -139,8 +138,6 @@ Device (\_SB.PCI0.PEGP.DEV0)
Debug = " CMDR |= 7"
CMDR |= 7
//TODO: restore subsystem ID
Debug = " _STA = 0xF"
_STA = 0xF
}

View File

@ -38,10 +38,21 @@ static void dgpu_read_resources(struct device *dev) {
}
}
static void dgpu_enable_resources(struct device *dev) {
printk(BIOS_INFO, "system76: dgpu_enable_resources %s\n", dev_path(dev));
dev->subsystem_vendor = CONFIG_SUBSYSTEM_VENDOR_ID;
dev->subsystem_device = CONFIG_SUBSYSTEM_DEVICE_ID;
printk(BIOS_INFO, " subsystem <- %04x/%04x\n", dev->subsystem_vendor, dev->subsystem_device);
pci_write_config32(dev, 0x40, ((dev->subsystem_device & 0xffff) << 16) | (dev->subsystem_vendor & 0xffff));
pci_dev_enable_resources(dev);
}
static struct device_operations dgpu_pci_ops_dev = {
.read_resources = dgpu_read_resources,
.set_resources = pci_dev_set_resources,
.enable_resources = pci_dev_enable_resources,
.enable_resources = dgpu_enable_resources,
#if CONFIG(HAVE_ACPI_TABLES)
.write_acpi_tables = pci_rom_write_acpi_tables,
.acpi_fill_ssdt = pci_rom_ssdt,