amdfam10 boards: Drop array bus_sb700

Only bus_sb700[0] is evaluated.

Change-Id: Ie2cbbdebed3ae03da916d02919cd6a5d36f53562
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/30647
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
Kyösti Mälkki 2019-01-03 11:39:03 +02:00
parent bf2d227135
commit ee7e1300f4
25 changed files with 32 additions and 157 deletions

View file

@ -24,7 +24,6 @@
/* Global variables for MB layouts and these will be shared by irqtable mptable /* Global variables for MB layouts and these will be shared by irqtable mptable
* and acpi_tables busnum is default. * and acpi_tables busnum is default.
*/ */
u8 bus_sb700[2];
u32 apicid_sb700; u32 apicid_sb700;
/* /*
@ -48,7 +47,6 @@ u32 hcdnx[] = {
void get_bus_conf(void) void get_bus_conf(void)
{ {
u32 apicid_base; u32 apicid_base;
struct device *dev;
int i; int i;
sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); sysconf.hc_possible_num = ARRAY_SIZE(pci1234x);
@ -61,17 +59,7 @@ void get_bus_conf(void)
sysconf.sbdn = (sysconf.hcdn[0] & 0xff); sysconf.sbdn = (sysconf.hcdn[0] & 0xff);
for (i = 0; i < 2; i++) { pirq_router_bus = (sysconf.pci1234[0] >> 16) & 0xff;
bus_sb700[i] = 0;
}
bus_sb700[0] = (sysconf.pci1234[0] >> 16) & 0xff;
/* sb700 */
dev = dev_find_slot(bus_sb700[0], PCI_DEVFN(0x14, 4));
if (dev) {
bus_sb700[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
}
/* I/O APICs: APIC ID Version State Address */ /* I/O APICs: APIC ID Version State Address */
if (IS_ENABLED(CONFIG_LOGICAL_CPUS)) if (IS_ENABLED(CONFIG_LOGICAL_CPUS))

View file

@ -40,7 +40,6 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn,
pirq_info->rfu = rfu; pirq_info->rfu = rfu;
} }
extern u8 bus_sb700[2];
unsigned long write_pirq_routing_table(unsigned long addr) unsigned long write_pirq_routing_table(unsigned long addr)
{ {
@ -65,7 +64,7 @@ unsigned long write_pirq_routing_table(unsigned long addr)
pirq->signature = PIRQ_SIGNATURE; pirq->signature = PIRQ_SIGNATURE;
pirq->version = PIRQ_VERSION; pirq->version = PIRQ_VERSION;
pirq->rtr_bus = bus_sb700[0]; pirq->rtr_bus = pirq_router_bus;
pirq->rtr_devfn = PCI_DEVFN(0x14, 4); pirq->rtr_devfn = PCI_DEVFN(0x14, 4);
pirq->exclusive_irqs = 0; pirq->exclusive_irqs = 0;
@ -81,7 +80,7 @@ unsigned long write_pirq_routing_table(unsigned long addr)
slot_num = 0; slot_num = 0;
/* pci bridge */ /* pci bridge */
write_pirq_info(pirq_info, bus_sb700[0], PCI_DEVFN(0x14, 4), write_pirq_info(pirq_info, pirq_router_bus, PCI_DEVFN(0x14, 4),
0x1, 0xdef8, 0x2, 0xdef8, 0x3, 0xdef8, 0x4, 0xdef8, 0, 0x1, 0xdef8, 0x2, 0xdef8, 0x3, 0xdef8, 0x4, 0xdef8, 0,
0); 0);
pirq_info++; pirq_info++;

View file

@ -20,7 +20,6 @@
#include <stdint.h> #include <stdint.h>
#include <cpu/amd/amdfam10_sysconf.h> #include <cpu/amd/amdfam10_sysconf.h>
extern u8 bus_sb700[2];
extern u32 apicid_sb700; extern u32 apicid_sb700;
@ -45,7 +44,7 @@ static void *smp_write_config_table(void *v)
u8 byte; u8 byte;
dev = dev =
dev_find_slot(bus_sb700[0], dev_find_slot(pirq_router_bus,
PCI_DEVFN(0x14, 0)); PCI_DEVFN(0x14, 0));
if (dev) { if (dev) {
dword = pci_read_config32(dev, 0x74) & 0xfffffff0; dword = pci_read_config32(dev, 0x74) & 0xfffffff0;

View file

@ -24,7 +24,6 @@
/* Global variables for MB layouts and these will be shared by irqtable mptable /* Global variables for MB layouts and these will be shared by irqtable mptable
* and acpi_tables busnum is default. * and acpi_tables busnum is default.
*/ */
u8 bus_sb700[2];
u32 apicid_sb700; u32 apicid_sb700;
/* /*
@ -48,7 +47,6 @@ u32 hcdnx[] = {
void get_bus_conf(void) void get_bus_conf(void)
{ {
u32 apicid_base; u32 apicid_base;
struct device *dev;
int i; int i;
sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); sysconf.hc_possible_num = ARRAY_SIZE(pci1234x);
@ -61,17 +59,7 @@ void get_bus_conf(void)
sysconf.sbdn = (sysconf.hcdn[0] & 0xff); sysconf.sbdn = (sysconf.hcdn[0] & 0xff);
for (i = 0; i < 2; i++) { pirq_router_bus = (sysconf.pci1234[0] >> 16) & 0xff;
bus_sb700[i] = 0;
}
bus_sb700[0] = (sysconf.pci1234[0] >> 16) & 0xff;
/* sb700 */
dev = dev_find_slot(bus_sb700[0], PCI_DEVFN(0x14, 4));
if (dev) {
bus_sb700[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
}
/* I/O APICs: APIC ID Version State Address */ /* I/O APICs: APIC ID Version State Address */
if (IS_ENABLED(CONFIG_LOGICAL_CPUS)) if (IS_ENABLED(CONFIG_LOGICAL_CPUS))

View file

@ -40,7 +40,6 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn,
pirq_info->rfu = rfu; pirq_info->rfu = rfu;
} }
extern u8 bus_sb700[2];
unsigned long write_pirq_routing_table(unsigned long addr) unsigned long write_pirq_routing_table(unsigned long addr)
{ {
@ -65,7 +64,7 @@ unsigned long write_pirq_routing_table(unsigned long addr)
pirq->signature = PIRQ_SIGNATURE; pirq->signature = PIRQ_SIGNATURE;
pirq->version = PIRQ_VERSION; pirq->version = PIRQ_VERSION;
pirq->rtr_bus = bus_sb700[0]; pirq->rtr_bus = pirq_router_bus;
pirq->rtr_devfn = PCI_DEVFN(0x14, 4); pirq->rtr_devfn = PCI_DEVFN(0x14, 4);
pirq->exclusive_irqs = 0; pirq->exclusive_irqs = 0;
@ -81,7 +80,7 @@ unsigned long write_pirq_routing_table(unsigned long addr)
slot_num = 0; slot_num = 0;
/* pci bridge */ /* pci bridge */
write_pirq_info(pirq_info, bus_sb700[0], PCI_DEVFN(0x14, 4), write_pirq_info(pirq_info, pirq_router_bus, PCI_DEVFN(0x14, 4),
0x1, 0xdef8, 0x2, 0xdef8, 0x3, 0xdef8, 0x4, 0xdef8, 0, 0x1, 0xdef8, 0x2, 0xdef8, 0x3, 0xdef8, 0x4, 0xdef8, 0,
0); 0);
pirq_info++; pirq_info++;

View file

@ -20,7 +20,6 @@
#include <stdint.h> #include <stdint.h>
#include <cpu/amd/amdfam10_sysconf.h> #include <cpu/amd/amdfam10_sysconf.h>
extern u8 bus_sb700[2];
extern u32 apicid_sb700; extern u32 apicid_sb700;
@ -45,7 +44,7 @@ static void *smp_write_config_table(void *v)
u8 byte; u8 byte;
dev = dev =
dev_find_slot(bus_sb700[0], dev_find_slot(pirq_router_bus,
PCI_DEVFN(0x14, 0)); PCI_DEVFN(0x14, 0));
if (dev) { if (dev) {
dword = pci_read_config32(dev, 0x74) & 0xfffffff0; dword = pci_read_config32(dev, 0x74) & 0xfffffff0;

View file

@ -24,7 +24,6 @@
/* Global variables for MB layouts and these will be shared by irqtable mptable /* Global variables for MB layouts and these will be shared by irqtable mptable
* and acpi_tables busnum is default. * and acpi_tables busnum is default.
*/ */
u8 bus_sb700[2];
u32 apicid_sb700; u32 apicid_sb700;
/* /*
@ -48,7 +47,6 @@ u32 hcdnx[] = {
void get_bus_conf(void) void get_bus_conf(void)
{ {
u32 apicid_base; u32 apicid_base;
struct device *dev;
int i; int i;
sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); sysconf.hc_possible_num = ARRAY_SIZE(pci1234x);
@ -61,17 +59,7 @@ void get_bus_conf(void)
sysconf.sbdn = (sysconf.hcdn[0] & 0xff); sysconf.sbdn = (sysconf.hcdn[0] & 0xff);
for (i = 0; i < 2; i++) { pirq_router_bus = (sysconf.pci1234[0] >> 16) & 0xff;
bus_sb700[i] = 0;
}
bus_sb700[0] = (sysconf.pci1234[0] >> 16) & 0xff;
/* sb700 */
dev = dev_find_slot(bus_sb700[0], PCI_DEVFN(0x14, 4));
if (dev) {
bus_sb700[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
}
/* I/O APICs: APIC ID Version State Address */ /* I/O APICs: APIC ID Version State Address */
if (IS_ENABLED(CONFIG_LOGICAL_CPUS)) if (IS_ENABLED(CONFIG_LOGICAL_CPUS))

View file

@ -20,7 +20,6 @@
#include <stdint.h> #include <stdint.h>
#include <cpu/amd/amdfam10_sysconf.h> #include <cpu/amd/amdfam10_sysconf.h>
extern u8 bus_sb700[2];
extern u32 apicid_sb700; extern u32 apicid_sb700;
@ -45,7 +44,7 @@ static void *smp_write_config_table(void *v)
u8 byte; u8 byte;
dev = dev =
dev_find_slot(bus_sb700[0], dev_find_slot(pirq_router_bus,
PCI_DEVFN(0x14, 0)); PCI_DEVFN(0x14, 0));
if (dev) { if (dev) {
dword = pci_read_config32(dev, 0x74) & 0xfffffff0; dword = pci_read_config32(dev, 0x74) & 0xfffffff0;

View file

@ -24,7 +24,6 @@
/* Global variables for MB layouts and these will be shared by irqtable mptable /* Global variables for MB layouts and these will be shared by irqtable mptable
* and acpi_tables busnum is default. * and acpi_tables busnum is default.
*/ */
u8 bus_sb700[2];
u32 apicid_sb700; u32 apicid_sb700;
/* /*
@ -48,7 +47,6 @@ u32 hcdnx[] = {
void get_bus_conf(void) void get_bus_conf(void)
{ {
u32 apicid_base; u32 apicid_base;
struct device *dev;
int i; int i;
sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); sysconf.hc_possible_num = ARRAY_SIZE(pci1234x);
@ -61,17 +59,7 @@ void get_bus_conf(void)
sysconf.sbdn = (sysconf.hcdn[0] & 0xff); sysconf.sbdn = (sysconf.hcdn[0] & 0xff);
for (i = 0; i < 2; i++) { pirq_router_bus = (sysconf.pci1234[0] >> 16) & 0xff;
bus_sb700[i] = 0;
}
bus_sb700[0] = (sysconf.pci1234[0] >> 16) & 0xff;
/* sb700 */
dev = dev_find_slot(bus_sb700[0], PCI_DEVFN(0x14, 4));
if (dev) {
bus_sb700[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
}
/* I/O APICs: APIC ID Version State Address */ /* I/O APICs: APIC ID Version State Address */
if (IS_ENABLED(CONFIG_LOGICAL_CPUS)) if (IS_ENABLED(CONFIG_LOGICAL_CPUS))

View file

@ -20,7 +20,6 @@
#include <stdint.h> #include <stdint.h>
#include <cpu/amd/amdfam10_sysconf.h> #include <cpu/amd/amdfam10_sysconf.h>
extern u8 bus_sb700[2];
extern u32 apicid_sb700; extern u32 apicid_sb700;
@ -45,7 +44,7 @@ static void *smp_write_config_table(void *v)
u8 byte; u8 byte;
dev = dev =
dev_find_slot(bus_sb700[0], dev_find_slot(pirq_router_bus,
PCI_DEVFN(0x14, 0)); PCI_DEVFN(0x14, 0));
if (dev) { if (dev) {
dword = pci_read_config32(dev, 0x74) & 0xfffffff0; dword = pci_read_config32(dev, 0x74) & 0xfffffff0;

View file

@ -24,7 +24,6 @@
/* Global variables for MB layouts and these will be shared by irqtable mptable /* Global variables for MB layouts and these will be shared by irqtable mptable
* and acpi_tables busnum is default. * and acpi_tables busnum is default.
*/ */
u8 bus_sb700[2];
u32 apicid_sb700; u32 apicid_sb700;
/* /*
@ -48,7 +47,6 @@ u32 hcdnx[] = {
void get_bus_conf(void) void get_bus_conf(void)
{ {
u32 apicid_base; u32 apicid_base;
struct device *dev;
int i; int i;
sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); sysconf.hc_possible_num = ARRAY_SIZE(pci1234x);
@ -61,17 +59,7 @@ void get_bus_conf(void)
sysconf.sbdn = (sysconf.hcdn[0] & 0xff); sysconf.sbdn = (sysconf.hcdn[0] & 0xff);
for (i = 0; i < 2; i++) { pirq_router_bus = (sysconf.pci1234[0] >> 16) & 0xff;
bus_sb700[i] = 0;
}
bus_sb700[0] = (sysconf.pci1234[0] >> 16) & 0xff;
/* sb700 */
dev = dev_find_slot(bus_sb700[0], PCI_DEVFN(0x14, 4));
if (dev) {
bus_sb700[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
}
/* I/O APICs: APIC ID Version State Address */ /* I/O APICs: APIC ID Version State Address */
if (IS_ENABLED(CONFIG_LOGICAL_CPUS)) if (IS_ENABLED(CONFIG_LOGICAL_CPUS))

View file

@ -40,7 +40,6 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn,
pirq_info->rfu = rfu; pirq_info->rfu = rfu;
} }
extern u8 bus_sb700[2];
unsigned long write_pirq_routing_table(unsigned long addr) unsigned long write_pirq_routing_table(unsigned long addr)
{ {
@ -65,7 +64,7 @@ unsigned long write_pirq_routing_table(unsigned long addr)
pirq->signature = PIRQ_SIGNATURE; pirq->signature = PIRQ_SIGNATURE;
pirq->version = PIRQ_VERSION; pirq->version = PIRQ_VERSION;
pirq->rtr_bus = bus_sb700[0]; pirq->rtr_bus = pirq_router_bus;
pirq->rtr_devfn = PCI_DEVFN(0x14, 4); pirq->rtr_devfn = PCI_DEVFN(0x14, 4);
pirq->exclusive_irqs = 0; pirq->exclusive_irqs = 0;
@ -81,7 +80,7 @@ unsigned long write_pirq_routing_table(unsigned long addr)
slot_num = 0; slot_num = 0;
/* pci bridge */ /* pci bridge */
write_pirq_info(pirq_info, bus_sb700[0], PCI_DEVFN(0x14, 4), write_pirq_info(pirq_info, pirq_router_bus, PCI_DEVFN(0x14, 4),
0x1, 0xdef8, 0x2, 0xdef8, 0x3, 0xdef8, 0x4, 0xdef8, 0, 0x1, 0xdef8, 0x2, 0xdef8, 0x3, 0xdef8, 0x4, 0xdef8, 0,
0); 0);
pirq_info++; pirq_info++;

View file

@ -20,7 +20,6 @@
#include <stdint.h> #include <stdint.h>
#include <cpu/amd/amdfam10_sysconf.h> #include <cpu/amd/amdfam10_sysconf.h>
extern u8 bus_sb700[2];
extern u32 apicid_sb700; extern u32 apicid_sb700;
@ -45,7 +44,7 @@ static void *smp_write_config_table(void *v)
u8 byte; u8 byte;
dev = dev =
dev_find_slot(bus_sb700[0], dev_find_slot(pirq_router_bus,
PCI_DEVFN(0x14, 0)); PCI_DEVFN(0x14, 0));
if (dev) { if (dev) {
dword = pci_read_config32(dev, 0x74) & 0xfffffff0; dword = pci_read_config32(dev, 0x74) & 0xfffffff0;

View file

@ -24,7 +24,6 @@
/* Global variables for MB layouts and these will be shared by irqtable mptable /* Global variables for MB layouts and these will be shared by irqtable mptable
* and acpi_tables busnum is default. * and acpi_tables busnum is default.
*/ */
u8 bus_sb700[2];
u32 apicid_sb700; u32 apicid_sb700;
/* /*
@ -48,7 +47,6 @@ u32 hcdnx[] = {
void get_bus_conf(void) void get_bus_conf(void)
{ {
u32 apicid_base; u32 apicid_base;
struct device *dev;
int i; int i;
sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); sysconf.hc_possible_num = ARRAY_SIZE(pci1234x);
@ -60,18 +58,7 @@ void get_bus_conf(void)
get_pci1234(); get_pci1234();
sysconf.sbdn = (sysconf.hcdn[0] & 0xff); sysconf.sbdn = (sysconf.hcdn[0] & 0xff);
pirq_router_bus = (sysconf.pci1234[0] >> 16) & 0xff;
for (i = 0; i < 2; i++) {
bus_sb700[i] = 0;
}
bus_sb700[0] = (sysconf.pci1234[0] >> 16) & 0xff;
/* sb700 */
dev = dev_find_slot(bus_sb700[0], PCI_DEVFN(0x14, 4));
if (dev) {
bus_sb700[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
}
/* I/O APICs: APIC ID Version State Address */ /* I/O APICs: APIC ID Version State Address */
if (IS_ENABLED(CONFIG_LOGICAL_CPUS)) if (IS_ENABLED(CONFIG_LOGICAL_CPUS))

View file

@ -40,7 +40,6 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn,
pirq_info->rfu = rfu; pirq_info->rfu = rfu;
} }
extern u8 bus_sb700[2];
unsigned long write_pirq_routing_table(unsigned long addr) unsigned long write_pirq_routing_table(unsigned long addr)
{ {
@ -65,7 +64,7 @@ unsigned long write_pirq_routing_table(unsigned long addr)
pirq->signature = PIRQ_SIGNATURE; pirq->signature = PIRQ_SIGNATURE;
pirq->version = PIRQ_VERSION; pirq->version = PIRQ_VERSION;
pirq->rtr_bus = bus_sb700[0]; pirq->rtr_bus = pirq_router_bus;
pirq->rtr_devfn = PCI_DEVFN(0x14, 4); pirq->rtr_devfn = PCI_DEVFN(0x14, 4);
pirq->exclusive_irqs = 0; pirq->exclusive_irqs = 0;
@ -81,7 +80,7 @@ unsigned long write_pirq_routing_table(unsigned long addr)
slot_num = 0; slot_num = 0;
/* pci bridge */ /* pci bridge */
write_pirq_info(pirq_info, bus_sb700[0], PCI_DEVFN(0x14, 4), write_pirq_info(pirq_info, pirq_router_bus, PCI_DEVFN(0x14, 4),
0x1, 0xdef8, 0x2, 0xdef8, 0x3, 0xdef8, 0x4, 0xdef8, 0, 0x1, 0xdef8, 0x2, 0xdef8, 0x3, 0xdef8, 0x4, 0xdef8, 0,
0); 0);
pirq_info++; pirq_info++;

View file

@ -20,7 +20,6 @@
#include <stdint.h> #include <stdint.h>
#include <cpu/amd/amdfam10_sysconf.h> #include <cpu/amd/amdfam10_sysconf.h>
extern u8 bus_sb700[2];
extern u32 apicid_sb700; extern u32 apicid_sb700;
@ -45,7 +44,7 @@ static void *smp_write_config_table(void *v)
u8 byte; u8 byte;
dev = dev =
dev_find_slot(bus_sb700[0], dev_find_slot(pirq_router_bus,
PCI_DEVFN(0x14, 0)); PCI_DEVFN(0x14, 0));
if (dev) { if (dev) {
dword = pci_read_config32(dev, 0x74) & 0xfffffff0; dword = pci_read_config32(dev, 0x74) & 0xfffffff0;

View file

@ -24,7 +24,6 @@
/* Global variables for MB layouts and these will be shared by irqtable mptable /* Global variables for MB layouts and these will be shared by irqtable mptable
* and acpi_tables busnum is default. * and acpi_tables busnum is default.
*/ */
u8 bus_sb700[2];
u32 apicid_sb700; u32 apicid_sb700;
/* /*
@ -48,7 +47,6 @@ u32 hcdnx[] = {
void get_bus_conf(void) void get_bus_conf(void)
{ {
u32 apicid_base; u32 apicid_base;
struct device *dev;
int i; int i;
sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); sysconf.hc_possible_num = ARRAY_SIZE(pci1234x);
@ -61,17 +59,7 @@ void get_bus_conf(void)
sysconf.sbdn = (sysconf.hcdn[0] & 0xff); sysconf.sbdn = (sysconf.hcdn[0] & 0xff);
for (i = 0; i < 2; i++) { pirq_router_bus = (sysconf.pci1234[0] >> 16) & 0xff;
bus_sb700[i] = 0;
}
bus_sb700[0] = (sysconf.pci1234[0] >> 16) & 0xff;
/* sb700 */
dev = dev_find_slot(bus_sb700[0], PCI_DEVFN(0x14, 4));
if (dev) {
bus_sb700[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
}
/* I/O APICs: APIC ID Version State Address */ /* I/O APICs: APIC ID Version State Address */
if (IS_ENABLED(CONFIG_LOGICAL_CPUS)) if (IS_ENABLED(CONFIG_LOGICAL_CPUS))

View file

@ -40,7 +40,6 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn,
pirq_info->rfu = rfu; pirq_info->rfu = rfu;
} }
extern u8 bus_sb700[2];
unsigned long write_pirq_routing_table(unsigned long addr) unsigned long write_pirq_routing_table(unsigned long addr)
{ {
@ -65,7 +64,7 @@ unsigned long write_pirq_routing_table(unsigned long addr)
pirq->signature = PIRQ_SIGNATURE; pirq->signature = PIRQ_SIGNATURE;
pirq->version = PIRQ_VERSION; pirq->version = PIRQ_VERSION;
pirq->rtr_bus = bus_sb700[0]; pirq->rtr_bus = pirq_router_bus;
pirq->rtr_devfn = PCI_DEVFN(0x14, 4); pirq->rtr_devfn = PCI_DEVFN(0x14, 4);
pirq->exclusive_irqs = 0; pirq->exclusive_irqs = 0;
@ -81,7 +80,7 @@ unsigned long write_pirq_routing_table(unsigned long addr)
slot_num = 0; slot_num = 0;
/* pci bridge */ /* pci bridge */
write_pirq_info(pirq_info, bus_sb700[0], PCI_DEVFN(0x14, 4), write_pirq_info(pirq_info, pirq_router_bus, PCI_DEVFN(0x14, 4),
0x1, 0xdef8, 0x2, 0xdef8, 0x3, 0xdef8, 0x4, 0xdef8, 0, 0x1, 0xdef8, 0x2, 0xdef8, 0x3, 0xdef8, 0x4, 0xdef8, 0,
0); 0);
pirq_info++; pirq_info++;

View file

@ -20,7 +20,6 @@
#include <stdint.h> #include <stdint.h>
#include <cpu/amd/amdfam10_sysconf.h> #include <cpu/amd/amdfam10_sysconf.h>
extern u8 bus_sb700[2];
extern u32 apicid_sb700; extern u32 apicid_sb700;
@ -45,7 +44,7 @@ static void *smp_write_config_table(void *v)
u8 byte; u8 byte;
dev = dev =
dev_find_slot(bus_sb700[0], dev_find_slot(pirq_router_bus,
PCI_DEVFN(0x14, 0)); PCI_DEVFN(0x14, 0));
if (dev) { if (dev) {
dword = pci_read_config32(dev, 0x74) & 0xfffffff0; dword = pci_read_config32(dev, 0x74) & 0xfffffff0;

View file

@ -24,7 +24,6 @@
/* Global variables for MB layouts and these will be shared by irqtable mptable /* Global variables for MB layouts and these will be shared by irqtable mptable
* and acpi_tables busnum is default. * and acpi_tables busnum is default.
*/ */
u8 bus_sb700[2];
u32 apicid_sb700; u32 apicid_sb700;
/* /*
@ -48,7 +47,6 @@ u32 hcdnx[] = {
void get_bus_conf(void) void get_bus_conf(void)
{ {
u32 apicid_base; u32 apicid_base;
struct device *dev;
int i; int i;
sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); sysconf.hc_possible_num = ARRAY_SIZE(pci1234x);
@ -61,17 +59,7 @@ void get_bus_conf(void)
sysconf.sbdn = (sysconf.hcdn[0] & 0xff); sysconf.sbdn = (sysconf.hcdn[0] & 0xff);
for (i = 0; i < 2; i++) { pirq_router_bus = (sysconf.pci1234[0] >> 16) & 0xff;
bus_sb700[i] = 0;
}
bus_sb700[0] = (sysconf.pci1234[0] >> 16) & 0xff;
/* sb700 */
dev = dev_find_slot(bus_sb700[0], PCI_DEVFN(0x14, 4));
if (dev) {
bus_sb700[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
}
/* I/O APICs: APIC ID Version State Address */ /* I/O APICs: APIC ID Version State Address */
if (IS_ENABLED(CONFIG_LOGICAL_CPUS)) if (IS_ENABLED(CONFIG_LOGICAL_CPUS))

View file

@ -40,7 +40,6 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn,
pirq_info->rfu = rfu; pirq_info->rfu = rfu;
} }
extern u8 bus_sb700[2];
unsigned long write_pirq_routing_table(unsigned long addr) unsigned long write_pirq_routing_table(unsigned long addr)
{ {
@ -65,7 +64,7 @@ unsigned long write_pirq_routing_table(unsigned long addr)
pirq->signature = PIRQ_SIGNATURE; pirq->signature = PIRQ_SIGNATURE;
pirq->version = PIRQ_VERSION; pirq->version = PIRQ_VERSION;
pirq->rtr_bus = bus_sb700[0]; pirq->rtr_bus = pirq_router_bus;
pirq->rtr_devfn = PCI_DEVFN(0x14, 4); pirq->rtr_devfn = PCI_DEVFN(0x14, 4);
pirq->exclusive_irqs = 0; pirq->exclusive_irqs = 0;
@ -81,7 +80,7 @@ unsigned long write_pirq_routing_table(unsigned long addr)
slot_num = 0; slot_num = 0;
/* pci bridge */ /* pci bridge */
write_pirq_info(pirq_info, bus_sb700[0], PCI_DEVFN(0x14, 4), write_pirq_info(pirq_info, pirq_router_bus, PCI_DEVFN(0x14, 4),
0x1, 0xdef8, 0x2, 0xdef8, 0x3, 0xdef8, 0x4, 0xdef8, 0, 0x1, 0xdef8, 0x2, 0xdef8, 0x3, 0xdef8, 0x4, 0xdef8, 0,
0); 0);
pirq_info++; pirq_info++;

View file

@ -20,7 +20,6 @@
#include <stdint.h> #include <stdint.h>
#include <cpu/amd/amdfam10_sysconf.h> #include <cpu/amd/amdfam10_sysconf.h>
extern u8 bus_sb700[2];
extern u32 apicid_sb700; extern u32 apicid_sb700;
@ -45,7 +44,7 @@ static void *smp_write_config_table(void *v)
u8 byte; u8 byte;
dev = dev =
dev_find_slot(bus_sb700[0], dev_find_slot(pirq_router_bus,
PCI_DEVFN(0x14, 0)); PCI_DEVFN(0x14, 0));
if (dev) { if (dev) {
dword = pci_read_config32(dev, 0x74) & 0xfffffff0; dword = pci_read_config32(dev, 0x74) & 0xfffffff0;

View file

@ -24,7 +24,6 @@
/* Global variables for MB layouts and these will be shared by irqtable mptable /* Global variables for MB layouts and these will be shared by irqtable mptable
* and acpi_tables busnum is default. * and acpi_tables busnum is default.
*/ */
u8 bus_sb700[2];
u32 apicid_sb700; u32 apicid_sb700;
/* /*
@ -48,7 +47,6 @@ u32 hcdnx[] = {
void get_bus_conf(void) void get_bus_conf(void)
{ {
u32 apicid_base; u32 apicid_base;
struct device *dev;
int i; int i;
sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); sysconf.hc_possible_num = ARRAY_SIZE(pci1234x);
@ -61,17 +59,7 @@ void get_bus_conf(void)
sysconf.sbdn = (sysconf.hcdn[0] & 0xff); sysconf.sbdn = (sysconf.hcdn[0] & 0xff);
for (i = 0; i < 2; i++) { pirq_router_bus = (sysconf.pci1234[0] >> 16) & 0xff;
bus_sb700[i] = 0;
}
bus_sb700[0] = (sysconf.pci1234[0] >> 16) & 0xff;
/* sb700 */
dev = dev_find_slot(bus_sb700[0], PCI_DEVFN(0x14, 4));
if (dev) {
bus_sb700[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
}
/* I/O APICs: APIC ID Version State Address */ /* I/O APICs: APIC ID Version State Address */
if (IS_ENABLED(CONFIG_LOGICAL_CPUS)) if (IS_ENABLED(CONFIG_LOGICAL_CPUS))

View file

@ -40,7 +40,6 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn,
pirq_info->rfu = rfu; pirq_info->rfu = rfu;
} }
extern u8 bus_sb700[2];
unsigned long write_pirq_routing_table(unsigned long addr) unsigned long write_pirq_routing_table(unsigned long addr)
{ {
@ -65,7 +64,7 @@ unsigned long write_pirq_routing_table(unsigned long addr)
pirq->signature = PIRQ_SIGNATURE; pirq->signature = PIRQ_SIGNATURE;
pirq->version = PIRQ_VERSION; pirq->version = PIRQ_VERSION;
pirq->rtr_bus = bus_sb700[0]; pirq->rtr_bus = pirq_router_bus;
pirq->rtr_devfn = PCI_DEVFN(0x14, 4); pirq->rtr_devfn = PCI_DEVFN(0x14, 4);
pirq->exclusive_irqs = 0; pirq->exclusive_irqs = 0;
@ -81,7 +80,7 @@ unsigned long write_pirq_routing_table(unsigned long addr)
slot_num = 0; slot_num = 0;
/* pci bridge */ /* pci bridge */
write_pirq_info(pirq_info, bus_sb700[0], PCI_DEVFN(0x14, 4), write_pirq_info(pirq_info, pirq_router_bus, PCI_DEVFN(0x14, 4),
0x1, 0xdef8, 0x2, 0xdef8, 0x3, 0xdef8, 0x4, 0xdef8, 0, 0x1, 0xdef8, 0x2, 0xdef8, 0x3, 0xdef8, 0x4, 0xdef8, 0,
0); 0);
pirq_info++; pirq_info++;

View file

@ -21,7 +21,6 @@
#include <stdint.h> #include <stdint.h>
#include <cpu/amd/amdfam10_sysconf.h> #include <cpu/amd/amdfam10_sysconf.h>
extern u8 bus_sb700[2];
extern u32 apicid_sb700; extern u32 apicid_sb700;
@ -46,7 +45,7 @@ static void *smp_write_config_table(void *v)
u8 byte; u8 byte;
dev = dev =
dev_find_slot(bus_sb700[0], dev_find_slot(pirq_router_bus,
PCI_DEVFN(0x14, 0)); PCI_DEVFN(0x14, 0));
if (dev) { if (dev) {
dword = pci_read_config32(dev, 0x74) & 0xfffffff0; dword = pci_read_config32(dev, 0x74) & 0xfffffff0;