summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/northbridge/amd/amdk8/setup_resource_map.c82
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)