amd/amdfam10: Enhance resource debugging when enabled
Change-Id: Ie39652bded9a42d1d816ca5198db59a83e5c083a Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com> Reviewed-on: http://review.coreboot.org/8266 Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Tested-by: build bot (Jenkins)
This commit is contained in:
committed by
Alexandru Gagniuc
parent
c139c42f3f
commit
82982a130c
@@ -1,6 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* This file is part of the coreboot project.
|
* This file is part of the coreboot project.
|
||||||
*
|
*
|
||||||
|
* Copyright (C) 2015 Timothy Pearson <tpearson@raptorengineeringinc.com>, Raptor Engineering
|
||||||
* Copyright (C) 2007 Advanced Micro Devices, Inc.
|
* Copyright (C) 2007 Advanced Micro Devices, Inc.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@@ -68,23 +69,17 @@ void setup_resource_map_x_offset(const u32 *register_values, u32 max, u32 offset
|
|||||||
{
|
{
|
||||||
u32 i;
|
u32 i;
|
||||||
|
|
||||||
#if RES_DEBUG
|
if (IS_ENABLED(RES_DEBUG))
|
||||||
printk(BIOS_DEBUG, "setting up resource map ex offset....");
|
printk(BIOS_DEBUG, "setting up resource map ex offset....\n");
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if RES_DEBUG
|
|
||||||
printk(BIOS_DEBUG, "\n");
|
|
||||||
#endif
|
|
||||||
for(i = 0; i < max; i += 4) {
|
for(i = 0; i < max; i += 4) {
|
||||||
#if RES_DEBUG
|
if (IS_ENABLED(RES_DEBUG))
|
||||||
printk(BIOS_DEBUG, "%04x: %02x %08x <- & %08x | %08x\n",
|
printk(BIOS_DEBUG, "%04x: %02x %08x <- & %08x | %08x\n",
|
||||||
i/4, register_values[i],
|
i/4, register_values[i],
|
||||||
register_values[i+1] + ( (register_values[i]==RES_PCI_IO) ? offset_pci_dev : 0),
|
register_values[i+1] + ( (register_values[i]==RES_PCI_IO) ? offset_pci_dev : 0),
|
||||||
register_values[i+2],
|
register_values[i+2],
|
||||||
register_values[i+3] + ( ( (register_values[i] & RES_PORT_IO_32) == RES_PORT_IO_32) ? offset_io_base : 0)
|
register_values[i+3] + ( ( (register_values[i] & RES_PORT_IO_32) == RES_PORT_IO_32) ? offset_io_base : 0)
|
||||||
);
|
);
|
||||||
#endif
|
|
||||||
switch (register_values[i]) {
|
switch (register_values[i]) {
|
||||||
case RES_PCI_IO: //PCI
|
case RES_PCI_IO: //PCI
|
||||||
{
|
{
|
||||||
@@ -94,9 +89,13 @@ void setup_resource_map_x_offset(const u32 *register_values, u32 max, u32 offset
|
|||||||
dev = (register_values[i+1] & ~0xfff) + offset_pci_dev;
|
dev = (register_values[i+1] & ~0xfff) + offset_pci_dev;
|
||||||
where = register_values[i+1] & 0xfff;
|
where = register_values[i+1] & 0xfff;
|
||||||
reg = pci_read_config32(dev, where);
|
reg = pci_read_config32(dev, where);
|
||||||
|
if (IS_ENABLED(RES_DEBUG))
|
||||||
|
printk(BIOS_SPEW, "WAS: %08x\n", reg);
|
||||||
reg &= register_values[i+2];
|
reg &= register_values[i+2];
|
||||||
reg |= register_values[i+3];
|
reg |= register_values[i+3];
|
||||||
pci_write_config32(dev, where, reg);
|
pci_write_config32(dev, where, reg);
|
||||||
|
if (IS_ENABLED(RES_DEBUG))
|
||||||
|
printk(BIOS_SPEW, "NOW: %08x\n", reg);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case RES_PORT_IO_8: // io 8
|
case RES_PORT_IO_8: // io 8
|
||||||
@@ -105,9 +104,13 @@ void setup_resource_map_x_offset(const u32 *register_values, u32 max, u32 offset
|
|||||||
u32 reg;
|
u32 reg;
|
||||||
where = register_values[i+1] + offset_io_base;
|
where = register_values[i+1] + offset_io_base;
|
||||||
reg = inb(where);
|
reg = inb(where);
|
||||||
|
if (IS_ENABLED(RES_DEBUG))
|
||||||
|
printk(BIOS_SPEW, "WAS: %08x\n", reg);
|
||||||
reg &= register_values[i+2];
|
reg &= register_values[i+2];
|
||||||
reg |= register_values[i+3];
|
reg |= register_values[i+3];
|
||||||
outb(reg, where);
|
outb(reg, where);
|
||||||
|
if (IS_ENABLED(RES_DEBUG))
|
||||||
|
printk(BIOS_SPEW, "NOW: %08x\n", reg);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case RES_PORT_IO_32: //io32
|
case RES_PORT_IO_32: //io32
|
||||||
@@ -116,9 +119,13 @@ void setup_resource_map_x_offset(const u32 *register_values, u32 max, u32 offset
|
|||||||
u32 reg;
|
u32 reg;
|
||||||
where = register_values[i+1] + offset_io_base;
|
where = register_values[i+1] + offset_io_base;
|
||||||
reg = inl(where);
|
reg = inl(where);
|
||||||
|
if (IS_ENABLED(RES_DEBUG))
|
||||||
|
printk(BIOS_SPEW, "WAS: %08x\n", reg);
|
||||||
reg &= register_values[i+2];
|
reg &= register_values[i+2];
|
||||||
reg |= register_values[i+3];
|
reg |= register_values[i+3];
|
||||||
outl(reg, where);
|
outl(reg, where);
|
||||||
|
if (IS_ENABLED(RES_DEBUG))
|
||||||
|
printk(BIOS_SPEW, "NOW: %08x\n", reg);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
} // switch
|
} // switch
|
||||||
@@ -126,27 +133,21 @@ void setup_resource_map_x_offset(const u32 *register_values, u32 max, u32 offset
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if RES_DEBUG
|
if (IS_ENABLED(RES_DEBUG))
|
||||||
printk(BIOS_DEBUG, "done.\n");
|
printk(BIOS_DEBUG, "done.\n");
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void setup_resource_map_x(const u32 *register_values, u32 max)
|
void setup_resource_map_x(const u32 *register_values, u32 max)
|
||||||
{
|
{
|
||||||
u32 i;
|
u32 i;
|
||||||
|
|
||||||
#if RES_DEBUG
|
if (IS_ENABLED(RES_DEBUG))
|
||||||
printk(BIOS_DEBUG, "setting up resource map ex offset....");
|
printk(BIOS_DEBUG, "setting up resource map ex offset....\n");
|
||||||
#endif
|
|
||||||
|
|
||||||
#if RES_DEBUG
|
|
||||||
printk(BIOS_DEBUG, "\n");
|
|
||||||
#endif
|
|
||||||
for(i = 0; i < max; i += 4) {
|
for(i = 0; i < max; i += 4) {
|
||||||
#if RES_DEBUG
|
if (IS_ENABLED(RES_DEBUG))
|
||||||
printk(BIOS_DEBUG, "%04x: %02x %08x <- & %08x | %08x\n",
|
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]);
|
i/4, register_values[i],register_values[i+1], register_values[i+2], register_values[i+3]);
|
||||||
#endif
|
|
||||||
switch (register_values[i]) {
|
switch (register_values[i]) {
|
||||||
case RES_PCI_IO: //PCI
|
case RES_PCI_IO: //PCI
|
||||||
{
|
{
|
||||||
@@ -188,9 +189,8 @@ void setup_resource_map_x(const u32 *register_values, u32 max)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if RES_DEBUG
|
if (IS_ENABLED(RES_DEBUG))
|
||||||
printk(BIOS_DEBUG, "done.\n");
|
printk(BIOS_DEBUG, "done.\n");
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
|
Reference in New Issue
Block a user