\r
Ep = &Urb->Ep;\r
Ep->DevAddr = DevAddr;\r
- Ep->EpAddr = EpAddr & 0x0F;\r
+ Ep->EpAddr = (UINT8)(EpAddr & 0x0F);\r
Ep->Direction = ((EpAddr & 0x80) != 0) ? EfiUsbDataIn : EfiUsbDataOut;\r
Ep->DevSpeed = DevSpeed;\r
Ep->MaxPacket = MaxPacket;\r
\r
**/\r
EFI_STATUS\r
-EFIAPI\r
XhcCreateTransferTrb (\r
IN USB_XHCI_DEV *Xhc,\r
IN URB *Urb\r
UINTN TrbNum;\r
\r
SlotId = XhcDevAddrToSlotId(Urb->Ep.DevAddr);\r
- Dci = XhcEndpointToDci (Urb->Ep.EpAddr, Urb->Ep.Direction);\r
+ Dci = XhcEndpointToDci (Urb->Ep.EpAddr, (UINT8)(Urb->Ep.Direction));\r
EPRing = (TRANSFER_RING *)(UINTN) UsbDevContext[SlotId].EndpointTransferRing[Dci-1];\r
Urb->Ring = EPRing;\r
OutputDevContxt = (DEVICE_CONTEXT *)(UINTN) Xhc->DCBAA[SlotId];\r
//\r
MaxScratchpadBufs = ((Xhc->HcSParams2.Data.ScratchBufHi) << 5) | (Xhc->HcSParams2.Data.ScratchBufLo);\r
Xhc->MaxScratchpadBufs = MaxScratchpadBufs;\r
- ASSERT (MaxScratchpadBufs >= 0 && MaxScratchpadBufs <= 1023);\r
+ ASSERT (MaxScratchpadBufs <= 1023);\r
if (MaxScratchpadBufs != 0) {\r
ScratchBuf = AllocateAlignedZeroPool(MaxScratchpadBufs * sizeof (UINT64), Xhc->PageSize);\r
ASSERT (ScratchBuf != NULL);\r
// a 64-bit address pointing to where the Device Context Base Address Array is located.\r
//\r
Xhc->DCBAA = (UINT64 *)(UINTN)Dcbaa;\r
- XhcWriteOpReg64 (Xhc, XHC_DCBAAP_OFFSET, (UINT64)Xhc->DCBAA);\r
- DEBUG ((EFI_D_INFO, "XhcInitSched:DCBAA=0x%x\n", (UINT64)Xhc->DCBAA));\r
+ XhcWriteOpReg64 (Xhc, XHC_DCBAAP_OFFSET, (UINT64)(UINTN)Xhc->DCBAA);\r
+ DEBUG ((EFI_D_INFO, "XhcInitSched:DCBAA=0x%x\n", (UINT64)(UINTN)Xhc->DCBAA));\r
\r
//\r
// Define the Command Ring Dequeue Pointer by programming the Command Ring Control Register\r
\r
Status = EFI_SUCCESS;\r
SlotId = XhcDevAddrToSlotId(Urb->Ep.DevAddr);\r
- Dci = XhcEndpointToDci(Urb->Ep.EpAddr, Urb->Ep.Direction);\r
+ Dci = XhcEndpointToDci(Urb->Ep.EpAddr, (UINT8)(Urb->Ep.Direction));\r
\r
DEBUG ((EFI_D_INFO, "Recovery Halted Slot = %x,Dci = %x\n", SlotId, Dci));\r
\r
\r
**/\r
VOID\r
-EFIAPI\r
CreateEventRing (\r
IN USB_XHCI_DEV *Xhc,\r
IN UINT8 EventInterrupter,\r
XhcWriteRuntimeReg64 (\r
Xhc,\r
XHC_ERDP_OFFSET + (32 * EventRing->EventInterrupter),\r
- (UINT64)EventRing->EventRingDequeue\r
+ (UINT64)(UINTN)EventRing->EventRingDequeue\r
);\r
//\r
// Program the Interrupter Event Ring Segment Table Base Address (ERSTBA) register(5.5.2.3.2)\r
XhcWriteRuntimeReg64 (\r
Xhc,\r
XHC_ERSTBA_OFFSET + (32 * EventRing->EventInterrupter),\r
- (UINT64) ERSTBase\r
+ (UINT64)(UINTN)ERSTBase\r
);\r
//\r
// Need set IMAN IE bit to enble the ring interrupt\r
\r
**/\r
VOID\r
-EFIAPI\r
CreateTransferRing (\r
IN USB_XHCI_DEV *Xhc,\r
IN UINTN TrbNum,\r
Urb->EvtRing->EventRingDequeue = Urb->EvtTrbStart;\r
for (Index = 0; Index < Urb->EvtRing->TrbNumber; Index++) {\r
XhcSyncEventRing (Xhc, Urb->EvtRing);\r
- Status = XhcCheckNewEvent (Xhc, Urb->EvtRing, &(TRB *)EvtTrb);\r
+ Status = XhcCheckNewEvent (Xhc, Urb->EvtRing, ((TRB **)&EvtTrb));\r
if (Status == EFI_NOT_READY) {\r
Urb->Result |= EFI_USB_ERR_TIMEOUT;\r
goto EXIT;\r
Dci = 0;\r
} else {\r
SlotId = XhcDevAddrToSlotId(Urb->Ep.DevAddr);\r
- Dci = XhcEndpointToDci(Urb->Ep.EpAddr, Urb->Ep.Direction);\r
+ Dci = XhcEndpointToDci(Urb->Ep.EpAddr, (UINT8)(Urb->Ep.Direction));\r
}\r
\r
Status = EFI_SUCCESS;\r
if (EpAddr == 0) {\r
return 1;\r
} else {\r
- Index = 2 * EpAddr;\r
+ Index = (UINT8) (2 * EpAddr);\r
if (Direction == EfiUsbDataIn) {\r
Index += 1;\r
}\r
\r
**/\r
UINT8\r
-EFIAPI\r
XhcDevAddrToSlotId (\r
IN UINT8 DevAddr\r
)\r
XHC_ERDP_OFFSET + (32 * EvtRing->EventInterrupter)\r
);\r
\r
- if (((UINT64) XhcDequeue & (~0x0F)) != ((UINT64) EvtRing->EventRingDequeue & (~0x0F))) {\r
+ if (((UINT64)(UINTN)XhcDequeue & (~0x0F)) != ((UINT64)(UINTN)EvtRing->EventRingDequeue & (~0x0F))) {\r
XhcWriteRuntimeReg64 (\r
Xhc,\r
XHC_ERDP_OFFSET + (32 * EvtRing->EventInterrupter),\r
- (UINT64)EvtRing->EventRingDequeue | BIT3\r
+ (UINT64)(UINTN)EvtRing->EventRingDequeue | BIT3\r
);\r
}\r
\r
UINT8 Dci;\r
\r
SlotId = XhcDevAddrToSlotId(Urb->Ep.DevAddr);\r
- Dci = XhcEndpointToDci(Urb->Ep.EpAddr, Urb->Ep.Direction);\r
+ Dci = XhcEndpointToDci(Urb->Ep.EpAddr, (UINT8)(Urb->Ep.Direction));\r
XhcRingDoorBell (Xhc, SlotId, Dci);\r
return EFI_SUCCESS;\r
}\r
EpDesc = (USB_ENDPOINT_DESCRIPTOR *)((UINTN)EpDesc + EpDesc->Length);\r
}\r
\r
- EpAddr = EpDesc->EndpointAddress & 0x0F;\r
+ EpAddr = (UINT8)(EpDesc->EndpointAddress & 0x0F);\r
Direction = (UINT8)((EpDesc->EndpointAddress & 0x80) ? EfiUsbDataIn : EfiUsbDataOut);\r
\r
Dci = XhcEndpointToDci (EpAddr, Direction);\r