[coreboot-gerrit] New patch to review for coreboot: eaefc72 libpayload: Drop obsolete setting of reg_base in [oex]hci
Nico Huber (nico.h@gmx.de)
gerrit at coreboot.org
Thu Jul 10 13:11:44 CEST 2014
Nico Huber (nico.h at gmx.de) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6251
-gerrit
commit eaefc7223a20f655ebed4b3809dd5dd6135b2638
Author: Nico Huber <nico.huber at secunet.com>
Date: Thu Jul 10 12:56:34 2014 +0200
libpayload: Drop obsolete setting of reg_base in [oex]hci
Setting of `controller->reg_base` is of no use here, as it is never read
(in another function) later. Looks like this pattern originated from uhci.c
where it makes sense.
By removing the indirection through `reg_base` we also fix a possible
truncation to u32.
Change-Id: I5c99c5bf1f5b1d6c04bd84d87fd3e275fd7d0411
Signed-off-by: Nico Huber <nico.huber at secunet.com>
---
payloads/libpayload/drivers/usb/ehci.c | 5 ++---
payloads/libpayload/drivers/usb/ohci.c | 3 +--
payloads/libpayload/drivers/usb/xhci.c | 6 ++----
3 files changed, 5 insertions(+), 9 deletions(-)
diff --git a/payloads/libpayload/drivers/usb/ehci.c b/payloads/libpayload/drivers/usb/ehci.c
index 03d0aef..82802a7 100644
--- a/payloads/libpayload/drivers/usb/ehci.c
+++ b/payloads/libpayload/drivers/usb/ehci.c
@@ -751,14 +751,13 @@ ehci_init (unsigned long physical_bar)
controller->create_intr_queue = ehci_create_intr_queue;
controller->destroy_intr_queue = ehci_destroy_intr_queue;
controller->poll_intr_queue = ehci_poll_intr_queue;
- controller->reg_base = (u32)physical_bar;
for (i = 0; i < 128; i++) {
controller->devices[i] = 0;
}
init_device_entry (controller, 0);
- EHCI_INST(controller)->capabilities = phys_to_virt(controller->reg_base);
- EHCI_INST(controller)->operation = (hc_op_t *)(phys_to_virt(controller->reg_base) + EHCI_INST(controller)->capabilities->caplength);
+ EHCI_INST(controller)->capabilities = phys_to_virt(physical_bar);
+ EHCI_INST(controller)->operation = (hc_op_t *)(phys_to_virt(physical_bar) + EHCI_INST(controller)->capabilities->caplength);
/* Set the high address word (aka segment) if controller is 64-bit */
if (EHCI_INST(controller)->capabilities->hccparams & 1)
diff --git a/payloads/libpayload/drivers/usb/ohci.c b/payloads/libpayload/drivers/usb/ohci.c
index 84547e6..9f15dd0 100644
--- a/payloads/libpayload/drivers/usb/ohci.c
+++ b/payloads/libpayload/drivers/usb/ohci.c
@@ -201,8 +201,7 @@ ohci_init (unsigned long physical_bar)
init_device_entry (controller, 0);
OHCI_INST (controller)->roothub = controller->devices[0];
- controller->reg_base = (u32)physical_bar;
- OHCI_INST (controller)->opreg = (opreg_t*)phys_to_virt(controller->reg_base);
+ OHCI_INST (controller)->opreg = (opreg_t*)phys_to_virt(physical_bar);
usb_debug("OHCI Version %x.%x\n", (OHCI_INST (controller)->opreg->HcRevision >> 4) & 0xf, OHCI_INST (controller)->opreg->HcRevision & 0xf);
if ((OHCI_INST (controller)->opreg->HcControl & HostControllerFunctionalStateMask) == USBReset) {
diff --git a/payloads/libpayload/drivers/usb/xhci.c b/payloads/libpayload/drivers/usb/xhci.c
index 69ddab7..0bd54c7 100644
--- a/payloads/libpayload/drivers/usb/xhci.c
+++ b/payloads/libpayload/drivers/usb/xhci.c
@@ -193,13 +193,11 @@ xhci_init (unsigned long physical_bar)
goto _free_xhci;
}
- controller->reg_base = (u32)physical_bar;
-
- xhci->capreg = phys_to_virt(controller->reg_base);
+ xhci->capreg = phys_to_virt(physical_bar);
xhci->opreg = ((void *)xhci->capreg) + xhci->capreg->caplength;
xhci->hcrreg = ((void *)xhci->capreg) + xhci->capreg->rtsoff;
xhci->dbreg = ((void *)xhci->capreg) + xhci->capreg->dboff;
- xhci_debug("regbase: 0x%"PRIx32"\n", controller->reg_base);
+ xhci_debug("regbase: 0x%"PRIx32"\n", physical_bar);
xhci_debug("caplen: 0x%"PRIx32"\n", xhci->capreg->caplength);
xhci_debug("rtsoff: 0x%"PRIx32"\n", xhci->capreg->rtsoff);
xhci_debug("dboff: 0x%"PRIx32"\n", xhci->capreg->dboff);
More information about the coreboot-gerrit
mailing list