Update XHCI driver to use PCI IO AllocateBuffer/Map/Unmap to do DMA operation.

Signed-off-by: Elvin Li <elvin.li@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14546 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Elvin Li
2013-08-12 08:51:55 +00:00
committed by li-elvin
parent eb290d0257
commit 1847ed0bfd
7 changed files with 1358 additions and 124 deletions

View File

@@ -40,6 +40,7 @@ typedef struct _USB_DEV_CONTEXT USB_DEV_CONTEXT;
#include "XhciReg.h"
#include "XhciSched.h"
#include "ComponentName.h"
#include "UsbHcMem.h"
//
// The unit is microsecond, setting it as 1us.
@@ -201,6 +202,7 @@ struct _USB_XHCI_INSTANCE {
UINT32 Signature;
EFI_PCI_IO_PROTOCOL *PciIo;
UINT64 OriginalPciAttributes;
USBHC_MEM_POOL *MemPool;
EFI_USB2_HC_PROTOCOL Usb2Hc;
@@ -223,10 +225,14 @@ struct _USB_XHCI_INSTANCE {
UINT16 MaxInterrupt;
UINT32 PageSize;
UINT64 *ScratchBuf;
VOID *ScratchMap;
UINT32 MaxScratchpadBufs;
UINT64 *ScratchEntry;
UINTN *ScratchEntryMap;
UINT32 ExtCapRegBase;
UINT32 UsbLegSupOffset;
UINT64 *DCBAA;
VOID *DCBAAMap;
UINT32 MaxSlotsEn;
//
// Cmd Transfer Ring