]> git.proxmox.com Git - mirror_edk2.git/commit
MdeModulePkg: The patch eliminates two assumptions
authorerictian <erictian@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 25 Nov 2011 08:08:54 +0000 (08:08 +0000)
committererictian <erictian@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 25 Nov 2011 08:08:54 +0000 (08:08 +0000)
commit6b4483cdbdcf5e74ee61b025116f86c4e15a4793
tree74aee620b7e79a23db4988c9cc0cb9e26418e1ad
parent4d6afad3b90f169dc15f0d21b2067b07ef7b714e
MdeModulePkg: The patch eliminates two assumptions
1) XHCI host controller hw always provides more than 5 interrupters.
Now using interrupter 0 to accommodate all received events.
2) XHCI host controller hw always provides 32bytes context size.
Now it dynamically detect context size and construct it.

also solved several issues:
1) Divides 64byte width register access to two 32bit registers access because some XHCI chipsets cannot support a single 64bit access.
2) Remove halt host controller statement in UsbBusDriverBindingStop(). It has been done by host controller’s DriverBindingStop(). And XhciDriverBindingStop() need XHCI host controller is in running state because it need execute DISABLE_SLOT cmd to release h/w resource.

signed-off-by: erictian
Reviewed-by: li-elvin
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12785 6f19259b-4bc3-4df7-8a09-765794883524
MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
MdeModulePkg/Bus/Pci/XhciDxe/Xhci.h
MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.c
MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.h
MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c
MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.h
MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBus.c