get_fx_devs() was called very few places, and it wasn't needed except the
first call. I combined them.
Signed-off-by: Myles Watson <[EMAIL PROTECTED]>
Thanks,
Myles
Index: northbridge/amd/k8/common.c
===================================================================
--- northbridge/amd/k8/common.c (revision 952)
+++ northbridge/amd/k8/common.c (working copy)
@@ -80,28 +80,27 @@
void get_fx_devs(void)
{
int i;
- if (__f1_dev[0]) {
- return;
- }
for(i = 0; i < FX_DEVS; i++) {
__f0_dev[i] = dev_find_slot(0, PCI_DEVFN(0x18 + i, 0));
__f1_dev[i] = dev_find_slot(0, PCI_DEVFN(0x18 + i, 1));
}
- if (!__f1_dev[0]) {
- die("Cannot find 0:0x18.1\n");
+ if (__f1_dev[0] == NULL || __f0_dev[0] == NULL) {
+ die("Cannot find 0:0x18.[0|1]\n");
}
}
u32 f1_read_config32(unsigned int reg)
{
- get_fx_devs();
+ if ( __f1_dev[0] == NULL)
+ get_fx_devs();
return pci_read_config32(__f1_dev[0], reg);
}
void f1_write_config32(unsigned int reg, u32 value)
{
int i;
- get_fx_devs();
+ if ( __f1_dev[0] == NULL)
+ get_fx_devs();
for(i = 0; i < FX_DEVS; i++) {
struct device * dev;
dev = __f1_dev[i];
Index: northbridge/amd/k8/domain.c
===================================================================
--- northbridge/amd/k8/domain.c (revision 952)
+++ northbridge/amd/k8/domain.c (working copy)
@@ -52,7 +52,6 @@
#define FX_DEVS 8
extern struct device * __f0_dev[FX_DEVS];
-void get_fx_devs(void);
u32 f1_read_config32(unsigned int reg);
void f1_write_config32(unsigned int reg, u32 value);
unsigned int amdk8_nodeid(struct device * dev);
@@ -103,7 +102,6 @@
/* Find the already assigned resource pairs */
printk(BIOS_DEBUG, "k8_pci_domain_read_resources\n");
- get_fx_devs();
for(reg = 0x80; reg <= 0xd8; reg+= 0x08) {
u32 base, limit;
base = f1_read_config32(reg);
@@ -114,7 +112,7 @@
struct device * dev;
nodeid = limit & 7;
link = (limit >> 4) & 3;
- dev = __f0_dev[nodeid];
+ dev = __f0_dev[nodeid]; /* initialized by f1_read_config32 */
if (dev) {
/* Reserve the resource */
struct resource *resource;
@@ -379,10 +377,9 @@
/* Tune the hypertransport transaction for best performance.
* Including enabling relaxed ordering if it is safe.
*/
- get_fx_devs();
for(i = 0; i < FX_DEVS; i++) {
struct device * f0_dev;
- f0_dev = __f0_dev[i];
+ f0_dev = __f0_dev[i]; /* initialized by f1_write_config32 */
if (f0_dev && f0_dev->enabled) {
u32 httc;
httc = pci_read_config32(f0_dev, HT_TRANSACTION_CONTROL);
--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot