[coreboot-gerrit] Patch set updated for coreboot: 7adb800 usbdebug: Drop duplicates of EHCI BAR relocation code
Kyösti Mälkki (kyosti.malkki@gmail.com)
gerrit at coreboot.org
Sat Jun 8 07:11:24 CEST 2013
Kyösti Mälkki (kyosti.malkki at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3412
-gerrit
commit 7adb8009449270cea14b95939fed88b96a929cb4
Author: Kyösti Mälkki <kyosti.malkki at gmail.com>
Date: Fri Jun 7 22:16:52 2013 +0300
usbdebug: Drop duplicates of EHCI BAR relocation code
When USBDEBUG is not selected, resource allocator assigns EHCI
BAR with normal pci_dev_set_resources() call.
With USBDEBUG selected, all the additional work that needs to be
done is independent of the hardware platform and was actually
functionally identical in all the copies removed.
Change-Id: I8e136a5da4efedf60b6dd7068c0488153efaaf8e
Signed-off-by: Kyösti Mälkki <kyosti.malkki at gmail.com>
---
src/console/usbdebug_console.c | 19 ++++++++++++++++++
src/include/ehci.h | 2 --
src/include/usbdebug.h | 11 +++++++++-
src/southbridge/amd/agesa/hudson/usb.c | 28 ++------------------------
src/southbridge/amd/cimx/sb700/late.c | 32 ++----------------------------
src/southbridge/amd/cimx/sb800/late.c | 31 ++---------------------------
src/southbridge/amd/cimx/sb900/late.c | 32 ++----------------------------
src/southbridge/amd/sb600/usb.c | 28 ++------------------------
src/southbridge/amd/sb700/usb.c | 27 ++-----------------------
src/southbridge/amd/sb800/usb.c | 28 ++------------------------
src/southbridge/intel/bd82x6x/usb_ehci.c | 24 ----------------------
src/southbridge/intel/i82801gx/usb_ehci.c | 24 ----------------------
src/southbridge/intel/i82801ix/usb_ehci.c | 23 ---------------------
src/southbridge/intel/lynxpoint/usb_ehci.c | 24 ----------------------
src/southbridge/nvidia/mcp55/usb2.c | 25 +----------------------
src/southbridge/sis/sis966/usb2.c | 24 +---------------------
16 files changed, 45 insertions(+), 337 deletions(-)
diff --git a/src/console/usbdebug_console.c b/src/console/usbdebug_console.c
index dd61953..f7a2d2b 100644
--- a/src/console/usbdebug_console.c
+++ b/src/console/usbdebug_console.c
@@ -48,6 +48,25 @@ unsigned get_ehci_debug(void)
return (unsigned)dbg_info.ehci_debug;
}
+void usb_ehci_set_resources(struct device *dev)
+{
+ struct resource *res;
+ u32 base;
+ u32 usb_debug;
+
+ usb_debug = get_ehci_debug();
+ set_ehci_debug(0);
+
+ pci_dev_set_resources(dev);
+
+ res = find_resource(dev, EHCI_BAR_INDEX);
+ set_ehci_debug(usb_debug);
+ if (!res) return;
+ base = res->base;
+ set_ehci_base(base);
+ report_resource_stored(dev, res, "");
+}
+
static void dbgp_init(void)
{
#if !CONFIG_EARLY_CONSOLE
diff --git a/src/include/ehci.h b/src/include/ehci.h
index 7ec9810..b096f42 100644
--- a/src/include/ehci.h
+++ b/src/include/ehci.h
@@ -23,8 +23,6 @@
#ifndef EHCI_H
#define EHCI_H
-#define EHCI_BAR_INDEX 0x10
-
/* EHCI register interface, corresponds to EHCI Revision 0.95 specification */
/* Section 2.2 Host Controller Capability Registers */
diff --git a/src/include/usbdebug.h b/src/include/usbdebug.h
index c3b3437..5134047 100644
--- a/src/include/usbdebug.h
+++ b/src/include/usbdebug.h
@@ -21,7 +21,16 @@
#ifndef USBDEBUG_H
#define USBDEBUG_H
-#include <ehci.h>
+#define EHCI_BAR_INDEX 0x10
+
+#ifndef __PRE_RAM__
+#if !CONFIG_USBDEBUG
+#define usb_ehci_set_resources pci_dev_set_resources
+#else
+#include <device/pci.h>
+void usb_ehci_set_resources(struct device *dev);
+#endif
+#endif
struct ehci_debug_info {
void *ehci_caps;
diff --git a/src/southbridge/amd/agesa/hudson/usb.c b/src/southbridge/amd/agesa/hudson/usb.c
index f5ec056..6158c88 100644
--- a/src/southbridge/amd/agesa/hudson/usb.c
+++ b/src/southbridge/amd/agesa/hudson/usb.c
@@ -34,33 +34,9 @@ static void usb_init(struct device *dev)
{
}
-static void usb_set_resources(struct device *dev)
-{
-#if CONFIG_USBDEBUG
- struct resource *res;
- u32 base;
- u32 old_debug;
-
- old_debug = get_ehci_debug();
- set_ehci_debug(0);
-#endif
- pci_dev_set_resources(dev);
-
-#if CONFIG_USBDEBUG
- res = find_resource(dev, 0x10);
- set_ehci_debug(old_debug);
- if (!res)
- return;
- base = res->base;
- set_ehci_base(base);
- report_resource_stored(dev, res, "");
-#endif
-
-}
-
static struct device_operations usb_ops = {
.read_resources = pci_dev_read_resources,
- .set_resources = usb_set_resources, /* pci_dev_set_resources, */
+ .set_resources = usb_ehci_set_resources,
.enable_resources = pci_dev_enable_resources,
.init = usb_init,
.scan_bus = 0,
@@ -101,7 +77,7 @@ static const struct pci_driver usb_4_driver __pci_driver = {
/*
static struct device_operations usb_ops2 = {
.read_resources = pci_dev_read_resources,
- .set_resources = usb_set_resources,
+ .set_resources = usb_ehci_set_resources,
.enable_resources = pci_dev_enable_resources,
.init = usb_init2,
.scan_bus = 0,
diff --git a/src/southbridge/amd/cimx/sb700/late.c b/src/southbridge/amd/cimx/sb700/late.c
index ede9fb3..58fb6d1 100644
--- a/src/southbridge/amd/cimx/sb700/late.c
+++ b/src/southbridge/amd/cimx/sb700/late.c
@@ -25,6 +25,7 @@
#include <device/smbus.h> /* smbus_bus_operations */
#include <pc80/mc146818rtc.h>
#include <console/console.h> /* printk */
+#include <usbdebug.h>
#include "lpc.h" /* lpc_read_resources */
#include "Platform.h" /* Platfrom Specific Definitions */
#include "sb_cimx.h"
@@ -120,38 +121,9 @@ static const struct pci_driver sata_driver __pci_driver = {
.device = PCI_DEVICE_ID_ATI_SB700_SATA, //SATA IDE Mode 4390
};
-#if CONFIG_USBDEBUG
-static void usb_set_resources(struct device *dev)
-{
- struct resource *res;
- u32 base;
- u32 old_debug;
-
- printk(BIOS_SPEW, "SB700 - Late.c - %s - Start.\n", __func__);
- old_debug = get_ehci_debug();
- set_ehci_debug(0);
-
- pci_dev_set_resources(dev);
-
- res = find_resource(dev, 0x10);
- set_ehci_debug(old_debug);
- if (!res)
- return;
- base = res->base;
- set_ehci_base(base);
- report_resource_stored(dev, res, "");
- printk(BIOS_SPEW, "SB700 - Late.c - %s - End.\n", __func__);
-}
-#endif
-
-
static struct device_operations usb_ops = {
.read_resources = pci_dev_read_resources,
-#if CONFIG_USBDEBUG
- .set_resources = usb_set_resources,
-#else
- .set_resources = pci_dev_set_resources,
-#endif
+ .set_resources = usb_ehci_set_resources,
.enable_resources = pci_dev_enable_resources,
.init = 0,
.scan_bus = 0,
diff --git a/src/southbridge/amd/cimx/sb800/late.c b/src/southbridge/amd/cimx/sb800/late.c
index 74b2d08..90f4a8c 100644
--- a/src/southbridge/amd/cimx/sb800/late.c
+++ b/src/southbridge/amd/cimx/sb800/late.c
@@ -26,6 +26,7 @@
#include <pc80/mc146818rtc.h>
#include <console/console.h> /* printk */
#include <arch/acpi.h>
+#include <usbdebug.h>
#include "lpc.h" /* lpc_read_resources */
#include "SBPLATFORM.h" /* Platfrom Specific Definitions */
#include "cfg.h" /* sb800 Cimx configuration */
@@ -179,37 +180,9 @@ static const struct pci_driver raid5_driver __pci_driver = {
.device = PCI_DEVICE_ID_ATI_SB800_SATA_RAID5,
};
-#if CONFIG_USBDEBUG
-static void usb_set_resources(struct device *dev)
-{
- struct resource *res;
- u32 base;
- u32 old_debug;
-
- printk(BIOS_DEBUG, "SB800 - Late.c - %s - Start.\n", __func__);
- old_debug = get_ehci_debug();
- set_ehci_debug(0);
-
- pci_dev_set_resources(dev);
-
- res = find_resource(dev, 0x10);
- set_ehci_debug(old_debug);
- if (!res)
- return;
- base = res->base;
- set_ehci_base(base);
- report_resource_stored(dev, res, "");
- printk(BIOS_DEBUG, "SB800 - Late.c - %s - End.\n", __func__);
-}
-#endif
-
static struct device_operations usb_ops = {
.read_resources = pci_dev_read_resources,
-#if CONFIG_USBDEBUG
- .set_resources = usb_set_resources,
-#else
- .set_resources = pci_dev_set_resources,
-#endif
+ .set_resources = usb_ehci_set_resources,
.enable_resources = pci_dev_enable_resources,
.init = 0,
.scan_bus = 0,
diff --git a/src/southbridge/amd/cimx/sb900/late.c b/src/southbridge/amd/cimx/sb900/late.c
index 947e882..a0248bd 100644
--- a/src/southbridge/amd/cimx/sb900/late.c
+++ b/src/southbridge/amd/cimx/sb900/late.c
@@ -24,6 +24,7 @@
#include <device/smbus.h> /* smbus_bus_operations */
#include <pc80/mc146818rtc.h>
#include <console/console.h> /* printk */
+#include <usbdebug.h>
#include "lpc.h" /* lpc_read_resources */
#include "SbPlatform.h" /* Platfrom Specific Definitions */
#include "chip.h" /* struct southbridge_amd_cimx_sb900_config */
@@ -174,31 +175,6 @@ static const struct pci_driver sata_driver __pci_driver = {
#endif
};
-
-#if CONFIG_USBDEBUG
-static void usb_set_resources(struct device *dev)
-{
- struct resource *res;
- u32 base;
- u32 old_debug;
-
- printk(BIOS_DEBUG, "SB900 - Late.c - usb_set_resources - Start.\n");
- old_debug = get_ehci_debug();
- set_ehci_debug(0);
-
- pci_dev_set_resources(dev);
-
- res = find_resource(dev, 0x10);
- set_ehci_debug(old_debug);
- if (!res)
- return;
- base = res->base;
- set_ehci_base(base);
- report_resource_stored(dev, res, "");
- printk(BIOS_DEBUG, "SB900 - Late.c - usb_set_resources - End.\n");
-}
-#endif
-
static void usb_init(struct device *dev)
{
printk(BIOS_DEBUG, "SB900 - Late.c - usb_init - Start.\n");
@@ -209,11 +185,7 @@ static void usb_init(struct device *dev)
static struct device_operations usb_ops = {
.read_resources = pci_dev_read_resources,
-#if CONFIG_USBDEBUG
- .set_resources = usb_set_resources,
-#else
- .set_resources = pci_dev_set_resources,
-#endif
+ .set_resources = usb_ehci_set_resources,
.enable_resources = pci_dev_enable_resources,
.init = usb_init,
.scan_bus = 0,
diff --git a/src/southbridge/amd/sb600/usb.c b/src/southbridge/amd/sb600/usb.c
index 1ca4ad6..5f83918 100644
--- a/src/southbridge/amd/sb600/usb.c
+++ b/src/southbridge/amd/sb600/usb.c
@@ -130,33 +130,9 @@ static void usb_init2(struct device *dev)
pci_write_config8(dev, 0x54, byte);
}
-static void usb_set_resources(struct device *dev)
-{
-#if CONFIG_USBDEBUG
- struct resource *res;
- u32 base;
- u32 old_debug;
-
- old_debug = get_ehci_debug();
- set_ehci_debug(0);
-#endif
- pci_dev_set_resources(dev);
-
-#if CONFIG_USBDEBUG
- res = find_resource(dev, 0x10);
- set_ehci_debug(old_debug);
- if (!res)
- return;
- base = res->base;
- set_ehci_base(base);
- report_resource_stored(dev, res, "");
-#endif
-
-}
-
static struct device_operations usb_ops = {
.read_resources = pci_dev_read_resources,
- .set_resources = usb_set_resources, /* pci_dev_set_resources, */
+ .set_resources = usb_ehci_set_resources,
.enable_resources = pci_dev_enable_resources,
.init = usb_init,
/*.enable = sb600_enable, */
@@ -181,7 +157,7 @@ static const struct pci_driver usb_0_driver __pci_driver = {
static struct device_operations usb_ops2 = {
.read_resources = pci_dev_read_resources,
- .set_resources = usb_set_resources, /* pci_dev_set_resources, */
+ .set_resources = usb_ehci_set_resources,
.enable_resources = pci_dev_enable_resources,
.init = usb_init2,
/*.enable = sb600_enable, */
diff --git a/src/southbridge/amd/sb700/usb.c b/src/southbridge/amd/sb700/usb.c
index 44f0caa..0f4002e 100644
--- a/src/southbridge/amd/sb700/usb.c
+++ b/src/southbridge/amd/sb700/usb.c
@@ -182,32 +182,9 @@ static void usb_init2(struct device *dev)
printk(BIOS_DEBUG, "rpr 6.23, final dword=%x\n", dword);
}
-static void usb_set_resources(struct device *dev)
-{
-#if CONFIG_USBDEBUG
- struct resource *res;
- u32 base;
- u32 old_debug;
-
- old_debug = get_ehci_debug();
- set_ehci_debug(0);
-#endif
- pci_dev_set_resources(dev);
-
-#if CONFIG_USBDEBUG
- res = find_resource(dev, 0x10);
- set_ehci_debug(old_debug);
- if (!res)
- return;
- base = res->base;
- set_ehci_base(base);
- report_resource_stored(dev, res, "");
-#endif
-}
-
static struct device_operations usb_ops = {
.read_resources = pci_dev_read_resources,
- .set_resources = usb_set_resources, /* pci_dev_set_resources, */
+ .set_resources = usb_ehci_set_resources,
.enable_resources = pci_dev_enable_resources,
.init = usb_init,
.scan_bus = 0,
@@ -248,7 +225,7 @@ static const struct pci_driver usb_4_driver __pci_driver = {
static struct device_operations usb_ops2 = {
.read_resources = pci_dev_read_resources,
- .set_resources = usb_set_resources, /* pci_dev_set_resources, */
+ .set_resources = usb_ehci_set_resources,
.enable_resources = pci_dev_enable_resources,
.init = usb_init2,
.scan_bus = 0,
diff --git a/src/southbridge/amd/sb800/usb.c b/src/southbridge/amd/sb800/usb.c
index d326b8c..aab774b 100644
--- a/src/southbridge/amd/sb800/usb.c
+++ b/src/southbridge/amd/sb800/usb.c
@@ -147,33 +147,9 @@ static void usb_init2(struct device *dev)
#endif
}
-static void usb_set_resources(struct device *dev)
-{
-#if CONFIG_USBDEBUG
- struct resource *res;
- u32 base;
- u32 old_debug;
-
- old_debug = get_ehci_debug();
- set_ehci_debug(0);
-#endif
- pci_dev_set_resources(dev);
-
-#if CONFIG_USBDEBUG
- res = find_resource(dev, 0x10);
- set_ehci_debug(old_debug);
- if (!res)
- return;
- base = res->base;
- set_ehci_base(base);
- report_resource_stored(dev, res, "");
-#endif
-
-}
-
static struct device_operations usb_ops = {
.read_resources = pci_dev_read_resources,
- .set_resources = usb_set_resources, /* pci_dev_set_resources, */
+ .set_resources = usb_ehci_set_resources,
.enable_resources = pci_dev_enable_resources,
.init = usb_init,
.scan_bus = 0,
@@ -213,7 +189,7 @@ static const struct pci_driver usb_4_driver __pci_driver = {
static struct device_operations usb_ops2 = {
.read_resources = pci_dev_read_resources,
- .set_resources = usb_set_resources, /* pci_dev_set_resources, */
+ .set_resources = usb_ehci_set_resources,
.enable_resources = pci_dev_enable_resources,
.init = usb_init2,
.scan_bus = 0,
diff --git a/src/southbridge/intel/bd82x6x/usb_ehci.c b/src/southbridge/intel/bd82x6x/usb_ehci.c
index aec230c..7dc83d1 100644
--- a/src/southbridge/intel/bd82x6x/usb_ehci.c
+++ b/src/southbridge/intel/bd82x6x/usb_ehci.c
@@ -65,30 +65,6 @@ static void usb_ehci_set_subsystem(device_t dev, unsigned vendor, unsigned devic
pci_write_config8(dev, 0x80, access_cntl);
}
-static void usb_ehci_set_resources(struct device *dev)
-{
-#if CONFIG_USBDEBUG
- struct resource *res;
- u32 base;
- u32 usb_debug;
-
- usb_debug = get_ehci_debug();
- set_ehci_debug(0);
-#endif
- pci_dev_set_resources(dev);
-
-#if CONFIG_USBDEBUG
- res = find_resource(dev, 0x10);
- set_ehci_debug(usb_debug);
- if (!res) return;
- base = res->base;
- set_ehci_base(base);
- report_resource_stored(dev, res, "");
-#endif
-}
-
-
-
static struct pci_operations lops_pci = {
.set_subsystem = &usb_ehci_set_subsystem,
};
diff --git a/src/southbridge/intel/i82801gx/usb_ehci.c b/src/southbridge/intel/i82801gx/usb_ehci.c
index 4c9be71..85ad40c 100644
--- a/src/southbridge/intel/i82801gx/usb_ehci.c
+++ b/src/southbridge/intel/i82801gx/usb_ehci.c
@@ -83,30 +83,6 @@ static void usb_ehci_set_subsystem(device_t dev, unsigned vendor, unsigned devic
pci_write_config8(dev, 0x80, access_cntl);
}
-static void usb_ehci_set_resources(struct device *dev)
-{
-#if CONFIG_USBDEBUG
- struct resource *res;
- u32 base;
- u32 usb_debug;
-
- usb_debug = get_ehci_debug();
- set_ehci_debug(0);
-#endif
- pci_dev_set_resources(dev);
-
-#if CONFIG_USBDEBUG
- res = find_resource(dev, 0x10);
- set_ehci_debug(usb_debug);
- if (!res) return;
- base = res->base;
- set_ehci_base(base);
- report_resource_stored(dev, res, "");
-#endif
-}
-
-
-
static struct pci_operations lops_pci = {
.set_subsystem = &usb_ehci_set_subsystem,
};
diff --git a/src/southbridge/intel/i82801ix/usb_ehci.c b/src/southbridge/intel/i82801ix/usb_ehci.c
index 7f91174..55c7a80 100644
--- a/src/southbridge/intel/i82801ix/usb_ehci.c
+++ b/src/southbridge/intel/i82801ix/usb_ehci.c
@@ -58,29 +58,6 @@ static void usb_ehci_set_subsystem(device_t dev, unsigned vendor, unsigned devic
pci_write_config8(dev, 0x80, access_cntl);
}
-static void usb_ehci_set_resources(struct device *dev)
-{
-#if CONFIG_USBDEBUG
- struct resource *res;
- u32 base;
- u32 usb_debug;
-
- usb_debug = get_ehci_debug();
- set_ehci_debug(0);
-#endif
- pci_dev_set_resources(dev);
-
-#if CONFIG_USBDEBUG
- res = find_resource(dev, 0x10);
- set_ehci_debug(usb_debug);
- if (!res) return;
- base = res->base;
- set_ehci_base(base);
- report_resource_stored(dev, res, "");
-#endif
-}
-
-
static const unsigned short pci_device_ids[] = {
0x293a,
0x293c,
diff --git a/src/southbridge/intel/lynxpoint/usb_ehci.c b/src/southbridge/intel/lynxpoint/usb_ehci.c
index aec230c..7dc83d1 100644
--- a/src/southbridge/intel/lynxpoint/usb_ehci.c
+++ b/src/southbridge/intel/lynxpoint/usb_ehci.c
@@ -65,30 +65,6 @@ static void usb_ehci_set_subsystem(device_t dev, unsigned vendor, unsigned devic
pci_write_config8(dev, 0x80, access_cntl);
}
-static void usb_ehci_set_resources(struct device *dev)
-{
-#if CONFIG_USBDEBUG
- struct resource *res;
- u32 base;
- u32 usb_debug;
-
- usb_debug = get_ehci_debug();
- set_ehci_debug(0);
-#endif
- pci_dev_set_resources(dev);
-
-#if CONFIG_USBDEBUG
- res = find_resource(dev, 0x10);
- set_ehci_debug(usb_debug);
- if (!res) return;
- base = res->base;
- set_ehci_base(base);
- report_resource_stored(dev, res, "");
-#endif
-}
-
-
-
static struct pci_operations lops_pci = {
.set_subsystem = &usb_ehci_set_subsystem,
};
diff --git a/src/southbridge/nvidia/mcp55/usb2.c b/src/southbridge/nvidia/mcp55/usb2.c
index c97b25e..3e8eeb6 100644
--- a/src/southbridge/nvidia/mcp55/usb2.c
+++ b/src/southbridge/nvidia/mcp55/usb2.c
@@ -37,32 +37,9 @@ static void usb2_init(struct device *dev)
pci_write_config32(dev, 0xf8, dword);
}
-static void usb2_set_resources(struct device *dev)
-{
-#if CONFIG_USBDEBUG
- struct resource *res;
- unsigned base;
- unsigned old_debug;
-
- old_debug = get_ehci_debug();
- set_ehci_debug(0);
-#endif
- pci_dev_set_resources(dev);
-
-#if CONFIG_USBDEBUG
- res = find_resource(dev, 0x10);
- set_ehci_debug(old_debug);
- if (!res) return;
- base = res->base;
- set_ehci_base(base);
- report_resource_stored(dev, res, "");
-#endif
-
-}
-
static struct device_operations usb2_ops = {
.read_resources = pci_dev_read_resources,
- .set_resources = usb2_set_resources,
+ .set_resources = usb_ehci_set_resources,
.enable_resources = pci_dev_enable_resources,
.init = usb2_init,
// .enable = mcp55_enable,
diff --git a/src/southbridge/sis/sis966/usb2.c b/src/southbridge/sis/sis966/usb2.c
index a5d4127..860b573 100644
--- a/src/southbridge/sis/sis966/usb2.c
+++ b/src/southbridge/sis/sis966/usb2.c
@@ -112,28 +112,6 @@ static void usb2_init(struct device *dev)
print_debug("USB 2.0 INIT:<----------\n");
}
-static void usb2_set_resources(struct device *dev)
-{
-#if CONFIG_USBDEBUG
- struct resource *res;
- unsigned base;
- unsigned old_debug;
-
- old_debug = get_ehci_debug();
- set_ehci_debug(0);
-#endif
- pci_dev_set_resources(dev);
-
-#if CONFIG_USBDEBUG
- res = find_resource(dev, 0x10);
- set_ehci_debug(old_debug);
- if (!res) return;
- base = res->base;
- set_ehci_base(base);
- report_resource_stored(dev, res, "");
-#endif
-}
-
static void lpci_set_subsystem(device_t dev, unsigned vendor, unsigned device)
{
pci_write_config32(dev, 0x40,
@@ -146,7 +124,7 @@ static struct pci_operations lops_pci = {
static struct device_operations usb2_ops = {
.read_resources = pci_dev_read_resources,
- .set_resources = usb2_set_resources,
+ .set_resources = usb_ehci_set_resources,
.enable_resources = pci_dev_enable_resources,
.init = usb2_init,
// .enable = sis966_enable,
More information about the coreboot-gerrit
mailing list