diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/northbridge/amd/amdk8/setup_resource_map.c | 82 |
1 files changed, 6 insertions, 76 deletions
diff --git a/src/northbridge/amd/amdk8/setup_resource_map.c b/src/northbridge/amd/amdk8/setup_resource_map.c index e5fda596e7..f7621a421f 100644 --- a/src/northbridge/amd/amdk8/setup_resource_map.c +++ b/src/northbridge/amd/amdk8/setup_resource_map.c @@ -9,7 +9,7 @@ static void setup_resource_map_offset(const unsigned int *register_values, int m for(i = 0; i < max; i += 3) { device_t dev; unsigned where; - unsigned long reg; + unsigned long reg = 0; #if RES_DEBUG prink_debug("%08x <- %08x\n", register_values[i] + offset_pci_dev, register_values[i+2]); #endif @@ -58,7 +58,7 @@ static void setup_resource_map_x_offset(const unsigned int *register_values, int { device_t dev; unsigned where; - unsigned long reg; + unsigned long reg = 0; dev = (register_values[i+1] & ~0xfff) + offset_pci_dev; where = register_values[i+1] & 0xfff; if (register_values[i+2]) @@ -71,7 +71,7 @@ static void setup_resource_map_x_offset(const unsigned int *register_values, int case RES_PORT_IO_8: // io 8 { unsigned where; - unsigned reg; + unsigned reg = 0; where = register_values[i+1] + offset_io_base; if (register_values[i+2]) reg = inb(where); @@ -83,7 +83,7 @@ static void setup_resource_map_x_offset(const unsigned int *register_values, int case RES_PORT_IO_32: //io32 { unsigned where; - unsigned long reg; + unsigned long reg = 0; where = register_values[i+1] + offset_io_base; if (register_values[i+2]) reg = inl(where); @@ -116,80 +116,10 @@ static void setup_resource_map_x_offset(const unsigned int *register_values, int #endif } -#if defined(CONFIG_SOUTHBRIDGE_NVIDIA_MCP55) || defined(CONFIG_SOUTHBRIDGE_NVIDIA_CK804) -static void setup_resource_map_x(const unsigned int *register_values, int max) +static inline void setup_resource_map_x(const unsigned int *register_values, int max) { - int i; - -#if RES_DEBUG - printk(BIOS_DEBUG, "setting up resource map ex....\n"); -#endif - - for(i = 0; i < max; i += 4) { -#if RES_DEBUG - printk(BIOS_DEBUG, "%04x: %02x %08x <- & %08x | %08x\n", - i/4, register_values[i],register_values[i+1], register_values[i+2], register_values[i+3]); -#endif - switch (register_values[i]) { - case RES_PCI_IO: //PCI - { - device_t dev; - unsigned where; - unsigned long reg; - dev = register_values[i+1] & ~0xfff; - where = register_values[i+1] & 0xfff; - reg = pci_read_config32(dev, where); - reg &= register_values[i+2]; - reg |= register_values[i+3]; - pci_write_config32(dev, where, reg); - } - break; - case RES_PORT_IO_8: // io 8 - { - unsigned where; - unsigned reg; - where = register_values[i+1]; - reg = inb(where); - reg &= register_values[i+2]; - reg |= register_values[i+3]; - outb(reg, where); - } - break; - case RES_PORT_IO_32: //io32 - { - unsigned where; - unsigned long reg; - where = register_values[i+1]; - reg = inl(where); - reg &= register_values[i+2]; - reg |= register_values[i+3]; - outl(reg, where); - } - break; -#if 0 - case RES_MEM_IO: //mem - { - unsigned where; - unsigned long reg; - where = register_values[i+1]; - reg = read32(where); - reg &= register_values[i+2]; - reg |= register_values[i+3]; - write32( where, reg); - } - break; -#endif - - } // switch - - - } - -#if RES_DEBUG - printk(BIOS_DEBUG, "done.\n"); -#endif + setup_resource_map_x_offset(register_values, max, 0, 0); } -#endif #if 0 static void setup_io_resource_map(const unsigned int *register_values, int max) |