[SeaBIOS] SeaBIOS xhci driver

Kevin O'Connor kevin at koconnor.net
Wed Jan 22 23:52:53 CET 2014


Hi Gerd,

Have you had a chance to review the XHCI branch I've been testing?
https://github.com/KevinOConnor/seabios/commits/xhci-testing

Beyond a general review, I have a few questions on the XHCI code:

1 - It looks like usb-xhci.c is missing a copyright.  Are you okay if
I add one that looks like what you have on ahci.c?

2 - What is the mdelay(100) in configure_xhci() for?  I don't
understand the comment there.  Also, any delay should probably be an
msleep(), so that seabios can continue to bring up other devices.  (An
mdelay() doesn't let other threads run.)

3 - In the original code xhci_hub_disconnect() free'd the xhci slot
for a device, but this doesn't look right to me as there can be more
than one slot for a given port (in the case of a hub).  The testing
branch above never free's slots now - do you have any thoughts on how
slot allocation/free'ing should be done?

4 - In the testing branch above, I added a patch to make hubs work
(see "xhci: Hack to get hubs working.").  This further overloads
xhci_alloc_pipe() though.  Do you think that is okay or do you think
there is a better way to catch hub registration so that the xhci
controller knows about it?

-Kevin



More information about the SeaBIOS mailing list