sb/intel/{i82801g/i/j,bd82x6x}: Make use of generic set_subsystem()
Change-Id: Ia7a3eb2e29eb245c0e70abc23c2139aebc07cbfe Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/31987 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Subrata Banik <subrata.banik@intel.com>
This commit is contained in:
parent
4074ce0cc7
commit
dbd313280a
|
@ -62,21 +62,8 @@ static void pci_init(struct device *dev)
|
||||||
|
|
||||||
static void ich_pci_dev_enable_resources(struct device *dev)
|
static void ich_pci_dev_enable_resources(struct device *dev)
|
||||||
{
|
{
|
||||||
const struct pci_operations *ops;
|
|
||||||
uint16_t command;
|
uint16_t command;
|
||||||
|
|
||||||
/* Set the subsystem vendor and device id for mainboard devices */
|
|
||||||
ops = ops_pci(dev);
|
|
||||||
if (dev->on_mainboard && ops && ops->set_subsystem) {
|
|
||||||
printk(BIOS_DEBUG, "%s subsystem <- %02x/%02x\n",
|
|
||||||
dev_path(dev),
|
|
||||||
CONFIG_MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID,
|
|
||||||
CONFIG_MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID);
|
|
||||||
ops->set_subsystem(dev,
|
|
||||||
CONFIG_MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID,
|
|
||||||
CONFIG_MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID);
|
|
||||||
}
|
|
||||||
|
|
||||||
command = pci_read_config16(dev, PCI_COMMAND);
|
command = pci_read_config16(dev, PCI_COMMAND);
|
||||||
command |= dev->command;
|
command |= dev->command;
|
||||||
printk(BIOS_DEBUG, "%s cmd <- %02x\n", dev_path(dev), command);
|
printk(BIOS_DEBUG, "%s cmd <- %02x\n", dev_path(dev), command);
|
||||||
|
@ -101,20 +88,8 @@ static void ich_pci_bus_enable_resources(struct device *dev)
|
||||||
ich_pci_dev_enable_resources(dev);
|
ich_pci_dev_enable_resources(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void set_subsystem(struct device *dev, unsigned vendor, unsigned device)
|
|
||||||
{
|
|
||||||
/* NOTE: This is not the default position! */
|
|
||||||
if (!vendor || !device) {
|
|
||||||
pci_write_config32(dev, 0x54,
|
|
||||||
pci_read_config32(dev, PCI_VENDOR_ID));
|
|
||||||
} else {
|
|
||||||
pci_write_config32(dev, 0x54,
|
|
||||||
((device & 0xffff) << 16) | (vendor & 0xffff));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct pci_operations pci_ops = {
|
static struct pci_operations pci_ops = {
|
||||||
.set_subsystem = set_subsystem,
|
.set_subsystem = pci_dev_set_subsystem,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct device_operations device_ops = {
|
static struct device_operations device_ops = {
|
||||||
|
|
|
@ -61,19 +61,8 @@ static void pci_init(struct device *dev)
|
||||||
|
|
||||||
static void ich_pci_dev_enable_resources(struct device *dev)
|
static void ich_pci_dev_enable_resources(struct device *dev)
|
||||||
{
|
{
|
||||||
const struct pci_operations *ops;
|
|
||||||
uint16_t command;
|
uint16_t command;
|
||||||
|
|
||||||
/* Set the subsystem vendor and device id for mainboard devices */
|
|
||||||
ops = ops_pci(dev);
|
|
||||||
if (dev->on_mainboard && ops && ops->set_subsystem) {
|
|
||||||
printk(BIOS_DEBUG, "%s subsystem <- %04x/%04x\n",
|
|
||||||
dev_path(dev), dev->subsystem_vendor,
|
|
||||||
dev->subsystem_device);
|
|
||||||
ops->set_subsystem(dev, dev->subsystem_vendor,
|
|
||||||
dev->subsystem_device);
|
|
||||||
}
|
|
||||||
|
|
||||||
command = pci_read_config16(dev, PCI_COMMAND);
|
command = pci_read_config16(dev, PCI_COMMAND);
|
||||||
command |= dev->command;
|
command |= dev->command;
|
||||||
printk(BIOS_DEBUG, "%s cmd <- %02x\n", dev_path(dev), command);
|
printk(BIOS_DEBUG, "%s cmd <- %02x\n", dev_path(dev), command);
|
||||||
|
@ -98,21 +87,8 @@ static void ich_pci_bus_enable_resources(struct device *dev)
|
||||||
ich_pci_dev_enable_resources(dev);
|
ich_pci_dev_enable_resources(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void set_subsystem(struct device *dev, unsigned int vendor,
|
|
||||||
unsigned int device)
|
|
||||||
{
|
|
||||||
/* NOTE: This is not the default position! */
|
|
||||||
if (!vendor || !device) {
|
|
||||||
pci_write_config32(dev, 0x54,
|
|
||||||
pci_read_config32(dev, PCI_VENDOR_ID));
|
|
||||||
} else {
|
|
||||||
pci_write_config32(dev, 0x54,
|
|
||||||
((device & 0xffff) << 16) | (vendor & 0xffff));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct pci_operations pci_ops = {
|
static struct pci_operations pci_ops = {
|
||||||
.set_subsystem = set_subsystem,
|
.set_subsystem = pci_dev_set_subsystem,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct device_operations device_ops = {
|
static struct device_operations device_ops = {
|
||||||
|
|
|
@ -44,20 +44,8 @@ static void pci_init(struct device *dev)
|
||||||
pci_write_config16(dev, PCI_SEC_STATUS, reg16);
|
pci_write_config16(dev, PCI_SEC_STATUS, reg16);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void set_subsystem(struct device *dev, unsigned vendor, unsigned device)
|
|
||||||
{
|
|
||||||
/* NOTE: 0x54 is not the default position! */
|
|
||||||
if (!vendor || !device) {
|
|
||||||
pci_write_config32(dev, 0x54,
|
|
||||||
pci_read_config32(dev, PCI_VENDOR_ID));
|
|
||||||
} else {
|
|
||||||
pci_write_config32(dev, 0x54,
|
|
||||||
((device & 0xffff) << 16) | (vendor & 0xffff));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct pci_operations pci_ops = {
|
static struct pci_operations pci_ops = {
|
||||||
.set_subsystem = set_subsystem,
|
.set_subsystem = pci_dev_set_subsystem,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct device_operations device_ops = {
|
static struct device_operations device_ops = {
|
||||||
|
|
|
@ -44,20 +44,8 @@ static void pci_init(struct device *dev)
|
||||||
pci_write_config16(dev, PCI_SEC_STATUS, reg16);
|
pci_write_config16(dev, PCI_SEC_STATUS, reg16);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void set_subsystem(struct device *dev, unsigned vendor, unsigned device)
|
|
||||||
{
|
|
||||||
/* NOTE: 0x54 is not the default position! */
|
|
||||||
if (!vendor || !device) {
|
|
||||||
pci_write_config32(dev, 0x54,
|
|
||||||
pci_read_config32(dev, PCI_VENDOR_ID));
|
|
||||||
} else {
|
|
||||||
pci_write_config32(dev, 0x54,
|
|
||||||
((device & 0xffff) << 16) | (vendor & 0xffff));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct pci_operations pci_ops = {
|
static struct pci_operations pci_ops = {
|
||||||
.set_subsystem = set_subsystem,
|
.set_subsystem = pci_dev_set_subsystem,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct device_operations device_ops = {
|
static struct device_operations device_ops = {
|
||||||
|
|
Loading…
Reference in New Issue