MdeModulePkg: Clean up source files
1. Do not use tab characters 2. No trailing white space in one line 3. All files must end with CRLF Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
/** @file
|
||||
UEFI Component Name(2) protocol implementation for EHCI driver.
|
||||
|
||||
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
of the BSD License which accompanies this distribution. The
|
||||
|
@@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
/** @file
|
||||
The Ehci controller driver.
|
||||
|
||||
EhciDxe driver is responsible for managing the behavior of EHCI controller.
|
||||
It implements the interfaces of monitoring the status of all ports and transferring
|
||||
EhciDxe driver is responsible for managing the behavior of EHCI controller.
|
||||
It implements the interfaces of monitoring the status of all ports and transferring
|
||||
Control, Bulk, Interrupt and Isochronous requests to Usb2.0 device.
|
||||
|
||||
Note that EhciDxe driver is enhanced to guarantee that the EHCI controller get attached
|
||||
to the EHCI controller before a UHCI or OHCI driver attaches to the companion UHCI or
|
||||
OHCI controller. This way avoids the control transfer on a shared port between EHCI
|
||||
and companion host controller when UHCI or OHCI gets attached earlier than EHCI and a
|
||||
to the EHCI controller before a UHCI or OHCI driver attaches to the companion UHCI or
|
||||
OHCI controller. This way avoids the control transfer on a shared port between EHCI
|
||||
and companion host controller when UHCI or OHCI gets attached earlier than EHCI and a
|
||||
USB 2.0 device inserts.
|
||||
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
@@ -1608,7 +1608,7 @@ EhcCreateUsb2Hc (
|
||||
gBS->FreePool (Ehc);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
EhcGetUsbDebugPortInfo (Ehc);
|
||||
|
||||
//
|
||||
@@ -1781,12 +1781,12 @@ EhcDriverBindingStart (
|
||||
goto CLOSE_PCIIO;
|
||||
}
|
||||
//
|
||||
// Determine if the device is UHCI or OHCI host controller or not. If yes, then find out the
|
||||
// Determine if the device is UHCI or OHCI host controller or not. If yes, then find out the
|
||||
// companion usb ehci host controller and force EHCI driver get attached to it before
|
||||
// UHCI or OHCI driver attaches to UHCI or OHCI host controller.
|
||||
//
|
||||
if ((UsbClassCReg.ProgInterface == PCI_IF_UHCI || UsbClassCReg.ProgInterface == PCI_IF_OHCI) &&
|
||||
(UsbClassCReg.BaseCode == PCI_CLASS_SERIAL) &&
|
||||
(UsbClassCReg.BaseCode == PCI_CLASS_SERIAL) &&
|
||||
(UsbClassCReg.SubClassCode == PCI_CLASS_SERIAL_USB)) {
|
||||
Status = PciIo->GetLocation (
|
||||
PciIo,
|
||||
@@ -1835,7 +1835,7 @@ EhcDriverBindingStart (
|
||||
}
|
||||
|
||||
if ((UsbClassCReg.ProgInterface == PCI_IF_EHCI) &&
|
||||
(UsbClassCReg.BaseCode == PCI_CLASS_SERIAL) &&
|
||||
(UsbClassCReg.BaseCode == PCI_CLASS_SERIAL) &&
|
||||
(UsbClassCReg.SubClassCode == PCI_CLASS_SERIAL_USB)) {
|
||||
Status = Instance->GetLocation (
|
||||
Instance,
|
||||
@@ -2098,7 +2098,7 @@ EhcDriverBindingStop (
|
||||
}
|
||||
|
||||
//
|
||||
// Disable routing of all ports to EHCI controller, so all ports are
|
||||
// Disable routing of all ports to EHCI controller, so all ports are
|
||||
// routed back to the UHCI or OHCI controller.
|
||||
//
|
||||
EhcClearOpRegBit (Ehc, EHC_CONFIG_FLAG_OFFSET, CONFIGFLAG_ROUTE_EHC);
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
Provides some data struct used by EHCI controller driver.
|
||||
|
||||
Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -133,7 +133,7 @@ struct _USB2_HC_DEV {
|
||||
EFI_EVENT PollTimer;
|
||||
|
||||
//
|
||||
// ExitBootServicesEvent is used to stop the EHC DMA operation
|
||||
// ExitBootServicesEvent is used to stop the EHC DMA operation
|
||||
// after exit boot service.
|
||||
//
|
||||
EFI_EVENT ExitBootServiceEvent;
|
||||
|
@@ -1,14 +1,14 @@
|
||||
## @file
|
||||
# The EhciDxe driver is responsible for managing the behavior of EHCI controller.
|
||||
# It implements the interfaces of monitoring the status of all ports and transferring
|
||||
# It implements the interfaces of monitoring the status of all ports and transferring
|
||||
# Control, Bulk, Interrupt and Isochronous requests to Usb2.0 device.
|
||||
#
|
||||
# Note that EhciDxe driver is enhanced to guarantee that the EHCI controller get attached
|
||||
# to the EHCI controller before the UHCI driver attaches to the companion UHCI controller.
|
||||
# to the EHCI controller before the UHCI driver attaches to the companion UHCI controller.
|
||||
# This way avoids the control transfer on a shared port between EHCI and companion host
|
||||
# controller when UHCI gets attached earlier than EHCI and a USB 2.0 device inserts.
|
||||
#
|
||||
# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -36,7 +36,7 @@
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64 IPF EBC ARM AARCH64
|
||||
#
|
||||
# DRIVER_BINDING = gEhciDriverBinding
|
||||
# DRIVER_BINDING = gEhciDriverBinding
|
||||
# COMPONENT_NAME = gEhciComponentName
|
||||
# COMPONENT_NAME2 = gEhciComponentName2
|
||||
#
|
||||
|
@@ -3,19 +3,19 @@
|
||||
//
|
||||
// It implements the interfaces of monitoring the status of all ports and transferring
|
||||
// Control, Bulk, Interrupt and Isochronous requests to Usb2.0 device.
|
||||
//
|
||||
//
|
||||
// Note that EhciDxe driver is enhanced to guarantee that the EHCI controller get attached
|
||||
// to the EHCI controller before the UHCI driver attaches to the companion UHCI controller.
|
||||
// This way avoids the control transfer on a shared port between EHCI and companion host
|
||||
// controller when UHCI gets attached earlier than EHCI and a USB 2.0 device inserts.
|
||||
//
|
||||
// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions of the BSD License
|
||||
// which accompanies this distribution. The full text of the license may be found at
|
||||
// http://opensource.org/licenses/bsd-license.php
|
||||
//
|
||||
//
|
||||
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// EhciDxe Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -13,8 +13,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"EHCI Controller DXE Driver"
|
||||
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
EHCI transfer scheduling routines.
|
||||
|
||||
Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -918,7 +918,7 @@ EhcUpdateAsyncRequest (
|
||||
//
|
||||
// calculate physical address by offset.
|
||||
//
|
||||
PciAddr = (UINTN)Urb->DataPhy + ((UINTN)Qtd->Data - (UINTN)Urb->Data);
|
||||
PciAddr = (UINTN)Urb->DataPhy + ((UINTN)Qtd->Data - (UINTN)Urb->Data);
|
||||
QtdHw->Page[0] = EHC_LOW_32BIT (PciAddr);
|
||||
QtdHw->PageHigh[0]= EHC_HIGH_32BIT (PciAddr);
|
||||
}
|
||||
|
@@ -2,8 +2,8 @@
|
||||
PEIM to produce gPeiUsb2HostControllerPpiGuid based on gPeiUsbControllerPpiGuid
|
||||
which is used to enable recovery function from USB Drivers.
|
||||
|
||||
Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
of the BSD License which accompanies this distribution. The
|
||||
@@ -39,7 +39,7 @@ USB_PORT_STATE_MAP mUsbPortChangeMap[] = {
|
||||
|
||||
/**
|
||||
Read Ehc Operation register.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Offset The operation register offset.
|
||||
|
||||
@@ -53,17 +53,17 @@ EhcReadOpReg (
|
||||
)
|
||||
{
|
||||
UINT32 Data;
|
||||
|
||||
|
||||
ASSERT (Ehc->CapLen != 0);
|
||||
|
||||
Data = MmioRead32 (Ehc->UsbHostControllerBaseAddress + Ehc->CapLen + Offset);
|
||||
|
||||
|
||||
return Data;
|
||||
}
|
||||
|
||||
/**
|
||||
Write the data to the EHCI operation register.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Offset EHCI operation register offset.
|
||||
@param Data The data to write.
|
||||
@@ -85,7 +85,7 @@ EhcWriteOpReg (
|
||||
|
||||
/**
|
||||
Set one bit of the operational register while keeping other bits.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Offset The offset of the operational register.
|
||||
@param Bit The bit mask of the register to set.
|
||||
@@ -107,7 +107,7 @@ EhcSetOpRegBit (
|
||||
|
||||
/**
|
||||
Clear one bit of the operational register while keeping other bits.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Offset The offset of the operational register.
|
||||
@param Bit The bit mask of the register to clear.
|
||||
@@ -128,9 +128,9 @@ EhcClearOpRegBit (
|
||||
}
|
||||
|
||||
/**
|
||||
Wait the operation register's bit as specified by Bit
|
||||
Wait the operation register's bit as specified by Bit
|
||||
to become set (or clear).
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Offset The offset of the operational register.
|
||||
@param Bit The bit mask of the register to wait for.
|
||||
@@ -165,7 +165,7 @@ EhcWaitOpRegBit (
|
||||
|
||||
/**
|
||||
Read EHCI capability register.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Offset Capability register address.
|
||||
|
||||
@@ -179,16 +179,16 @@ EhcReadCapRegister (
|
||||
)
|
||||
{
|
||||
UINT32 Data;
|
||||
|
||||
|
||||
Data = MmioRead32(Ehc->UsbHostControllerBaseAddress + Offset);
|
||||
|
||||
|
||||
return Data;
|
||||
}
|
||||
|
||||
/**
|
||||
Set door bell and wait it to be ACKed by host controller.
|
||||
This function is used to synchronize with the hardware.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Timeout The time to wait before abort (in millisecond, ms).
|
||||
|
||||
@@ -223,9 +223,9 @@ EhcSetAndWaitDoorBell (
|
||||
}
|
||||
|
||||
/**
|
||||
Clear all the interrutp status bits, these bits
|
||||
Clear all the interrutp status bits, these bits
|
||||
are Write-Clean.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
|
||||
**/
|
||||
@@ -238,9 +238,9 @@ EhcAckAllInterrupt (
|
||||
}
|
||||
|
||||
/**
|
||||
Enable the periodic schedule then wait EHC to
|
||||
Enable the periodic schedule then wait EHC to
|
||||
actually enable it.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Timeout The time to wait before abort (in millisecond, ms).
|
||||
|
||||
@@ -264,7 +264,7 @@ EhcEnablePeriodSchd (
|
||||
|
||||
/**
|
||||
Enable asynchrounous schedule.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Timeout Time to wait before abort.
|
||||
|
||||
@@ -288,7 +288,7 @@ EhcEnableAsyncSchd (
|
||||
|
||||
/**
|
||||
Check whether Ehc is halted.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
|
||||
@retval TRUE The controller is halted.
|
||||
@@ -305,7 +305,7 @@ EhcIsHalt (
|
||||
|
||||
/**
|
||||
Check whether system error occurred.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
|
||||
@retval TRUE System error happened.
|
||||
@@ -322,7 +322,7 @@ EhcIsSysError (
|
||||
|
||||
/**
|
||||
Reset the host controller.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Timeout Time to wait before abort (in millisecond, ms).
|
||||
|
||||
@@ -356,7 +356,7 @@ EhcResetHC (
|
||||
|
||||
/**
|
||||
Halt the host controller.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Timeout Time to wait before abort.
|
||||
|
||||
@@ -379,7 +379,7 @@ EhcHaltHC (
|
||||
|
||||
/**
|
||||
Set the EHCI to run.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Timeout Time to wait before abort.
|
||||
|
||||
@@ -402,7 +402,7 @@ EhcRunHC (
|
||||
|
||||
/**
|
||||
Power On All EHCI Ports.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
|
||||
**/
|
||||
@@ -414,7 +414,7 @@ EhcPowerOnAllPorts (
|
||||
UINT8 PortNumber;
|
||||
UINT8 Index;
|
||||
UINT32 RegVal;
|
||||
|
||||
|
||||
PortNumber = (UINT8)(Ehc->HcStructParams & HCSP_NPORTS);
|
||||
for (Index = 0; Index < PortNumber; Index++) {
|
||||
//
|
||||
@@ -429,14 +429,14 @@ EhcPowerOnAllPorts (
|
||||
}
|
||||
|
||||
/**
|
||||
Initialize the HC hardware.
|
||||
Initialize the HC hardware.
|
||||
EHCI spec lists the five things to do to initialize the hardware.
|
||||
1. Program CTRLDSSEGMENT.
|
||||
2. Set USBINTR to enable interrupts.
|
||||
3. Set periodic list base.
|
||||
4. Set USBCMD, interrupt threshold, frame list size etc.
|
||||
5. Write 1 to CONFIGFLAG to route all ports to EHCI.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
|
||||
@retval EFI_SUCCESS The EHCI has come out of halt state.
|
||||
@@ -451,7 +451,7 @@ EhcInitHC (
|
||||
EFI_STATUS Status;
|
||||
EFI_PHYSICAL_ADDRESS TempPtr;
|
||||
UINTN PageNumber;
|
||||
|
||||
|
||||
ASSERT (EhcIsHalt (Ehc));
|
||||
|
||||
//
|
||||
@@ -472,9 +472,9 @@ EhcInitHC (
|
||||
return Status;
|
||||
}
|
||||
|
||||
EhcPowerOnAllPorts (Ehc);
|
||||
EhcPowerOnAllPorts (Ehc);
|
||||
MicroSecondDelay (EHC_ROOT_PORT_RECOVERY_STALL);
|
||||
|
||||
|
||||
Status = EhcInitSched (Ehc);
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
@@ -523,26 +523,26 @@ EhcInitHC (
|
||||
|
||||
/**
|
||||
Submits bulk transfer to a bulk endpoint of a USB device.
|
||||
|
||||
|
||||
@param PeiServices The pointer of EFI_PEI_SERVICES.
|
||||
@param This The pointer of PEI_USB2_HOST_CONTROLLER_PPI.
|
||||
@param DeviceAddress Target device address.
|
||||
@param EndPointAddress Endpoint number and its direction in bit 7.
|
||||
@param DeviceSpeed Device speed, Low speed device doesn't support
|
||||
@param DeviceSpeed Device speed, Low speed device doesn't support
|
||||
bulk transfer.
|
||||
@param MaximumPacketLength Maximum packet size the endpoint is capable of
|
||||
@param MaximumPacketLength Maximum packet size the endpoint is capable of
|
||||
sending or receiving.
|
||||
@param Data Array of pointers to the buffers of data to transmit
|
||||
@param Data Array of pointers to the buffers of data to transmit
|
||||
from or receive into.
|
||||
@param DataLength The lenght of the data buffer.
|
||||
@param DataToggle On input, the initial data toggle for the transfer;
|
||||
On output, it is updated to to next data toggle to use of
|
||||
On output, it is updated to to next data toggle to use of
|
||||
the subsequent bulk transfer.
|
||||
@param TimeOut Indicates the maximum time, in millisecond, which the
|
||||
transfer is allowed to complete.
|
||||
If Timeout is 0, then the caller must wait for the function
|
||||
to be completed until EFI_SUCCESS or EFI_DEVICE_ERROR is returned.
|
||||
@param Translator A pointr to the transaction translator data.
|
||||
@param Translator A pointr to the transaction translator data.
|
||||
@param TransferResult A pointer to the detailed result information of the
|
||||
bulk transfer.
|
||||
|
||||
@@ -577,7 +577,7 @@ EhcBulkTransfer (
|
||||
//
|
||||
// Validate the parameters
|
||||
//
|
||||
if ((DataLength == NULL) || (*DataLength == 0) ||
|
||||
if ((DataLength == NULL) || (*DataLength == 0) ||
|
||||
(Data == NULL) || (Data[0] == NULL) || (TransferResult == NULL)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
@@ -652,10 +652,10 @@ ON_EXIT:
|
||||
Retrieves the number of root hub ports.
|
||||
|
||||
@param[in] PeiServices The pointer to the PEI Services Table.
|
||||
@param[in] This The pointer to this instance of the
|
||||
@param[in] This The pointer to this instance of the
|
||||
PEI_USB2_HOST_CONTROLLER_PPI.
|
||||
@param[out] PortNumber The pointer to the number of the root hub ports.
|
||||
|
||||
@param[out] PortNumber The pointer to the number of the root hub ports.
|
||||
|
||||
@retval EFI_SUCCESS The port number was retrieved successfully.
|
||||
@retval EFI_INVALID_PARAMETER PortNumber is NULL.
|
||||
|
||||
@@ -671,19 +671,19 @@ EhcGetRootHubPortNumber (
|
||||
|
||||
PEI_USB2_HC_DEV *EhcDev;
|
||||
EhcDev = PEI_RECOVERY_USB_EHC_DEV_FROM_EHCI_THIS (This);
|
||||
|
||||
|
||||
if (PortNumber == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
*PortNumber = (UINT8)(EhcDev->HcStructParams & HCSP_NPORTS);
|
||||
return EFI_SUCCESS;
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
Clears a feature for the specified root hub port.
|
||||
|
||||
|
||||
@param PeiServices The pointer of EFI_PEI_SERVICES.
|
||||
@param This The pointer of PEI_USB2_HOST_CONTROLLER_PPI.
|
||||
@param PortNumber Specifies the root hub port whose feature
|
||||
@@ -691,7 +691,7 @@ EhcGetRootHubPortNumber (
|
||||
@param PortFeature Indicates the feature selector associated with the
|
||||
feature clear request.
|
||||
|
||||
@retval EFI_SUCCESS The feature specified by PortFeature was cleared
|
||||
@retval EFI_SUCCESS The feature specified by PortFeature was cleared
|
||||
for the USB root hub port specified by PortNumber.
|
||||
@retval EFI_INVALID_PARAMETER PortNumber is invalid or PortFeature is invalid.
|
||||
|
||||
@@ -805,7 +805,7 @@ ON_EXIT:
|
||||
|
||||
/**
|
||||
Sets a feature for the specified root hub port.
|
||||
|
||||
|
||||
@param PeiServices The pointer of EFI_PEI_SERVICES
|
||||
@param This The pointer of PEI_USB2_HOST_CONTROLLER_PPI
|
||||
@param PortNumber Root hub port to set.
|
||||
@@ -876,7 +876,7 @@ EhcSetRootHubPortFeature (
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Set one to PortReset bit must also set zero to PortEnable bit
|
||||
//
|
||||
@@ -907,10 +907,10 @@ ON_EXIT:
|
||||
|
||||
/**
|
||||
Retrieves the current status of a USB root hub port.
|
||||
|
||||
|
||||
@param PeiServices The pointer of EFI_PEI_SERVICES.
|
||||
@param This The pointer of PEI_USB2_HOST_CONTROLLER_PPI.
|
||||
@param PortNumber The root hub port to retrieve the state from.
|
||||
@param PortNumber The root hub port to retrieve the state from.
|
||||
@param PortStatus Variable to receive the port state.
|
||||
|
||||
@retval EFI_SUCCESS The status of the USB root hub port specified.
|
||||
@@ -957,9 +957,9 @@ EhcGetRootHubPortStatus (
|
||||
|
||||
//
|
||||
// Identify device speed. If in K state, it is low speed.
|
||||
// If the port is enabled after reset, the device is of
|
||||
// If the port is enabled after reset, the device is of
|
||||
// high speed. The USB bus driver should retrieve the actual
|
||||
// port speed after reset.
|
||||
// port speed after reset.
|
||||
//
|
||||
if (EHC_BIT_IS_SET (State, PORTSC_LINESTATE_K)) {
|
||||
PortStatus->PortStatus |= USB_PORT_STAT_LOW_SPEED;
|
||||
@@ -967,7 +967,7 @@ EhcGetRootHubPortStatus (
|
||||
} else if (EHC_BIT_IS_SET (State, PORTSC_ENABLED)) {
|
||||
PortStatus->PortStatus |= USB_PORT_STAT_HIGH_SPEED;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Convert the EHCI port/port change state to UEFI status
|
||||
//
|
||||
@@ -993,12 +993,12 @@ ON_EXIT:
|
||||
|
||||
/**
|
||||
Submits control transfer to a target USB device.
|
||||
|
||||
|
||||
@param PeiServices The pointer of EFI_PEI_SERVICES.
|
||||
@param This The pointer of PEI_USB2_HOST_CONTROLLER_PPI.
|
||||
@param DeviceAddress The target device address.
|
||||
@param DeviceSpeed Target device speed.
|
||||
@param MaximumPacketLength Maximum packet size the default control transfer
|
||||
@param MaximumPacketLength Maximum packet size the default control transfer
|
||||
endpoint is capable of sending or receiving.
|
||||
@param Request USB device request to send.
|
||||
@param TransferDirection Specifies the data direction for the data stage.
|
||||
@@ -1052,12 +1052,12 @@ EhcControlTransfer (
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if ((TransferDirection == EfiUsbNoData) &&
|
||||
if ((TransferDirection == EfiUsbNoData) &&
|
||||
((Data != NULL) || (*DataLength != 0))) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if ((TransferDirection != EfiUsbNoData) &&
|
||||
if ((TransferDirection != EfiUsbNoData) &&
|
||||
((Data == NULL) || (*DataLength == 0))) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
@@ -1225,7 +1225,7 @@ EhcPeimEntry (
|
||||
if (EFI_ERROR (Status)) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// This PEIM is for UHC type controller.
|
||||
//
|
||||
@@ -1303,19 +1303,19 @@ EhcPeimEntry (
|
||||
**/
|
||||
EFI_STATUS
|
||||
InitializeUsbHC (
|
||||
IN PEI_USB2_HC_DEV *EhcDev
|
||||
IN PEI_USB2_HC_DEV *EhcDev
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
|
||||
|
||||
|
||||
EhcResetHC (EhcDev, EHC_RESET_TIMEOUT);
|
||||
|
||||
Status = EhcInitHC (EhcDev);
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
return EFI_ABORTED;
|
||||
return EFI_ABORTED;
|
||||
}
|
||||
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
@@ -1,8 +1,8 @@
|
||||
/** @file
|
||||
Private Header file for Usb Host Controller PEIM
|
||||
|
||||
Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
of the BSD License which accompanies this distribution. The
|
||||
@@ -118,20 +118,20 @@ struct _PEI_USB2_HC_DEV {
|
||||
//
|
||||
PEI_EHC_QTD *ShortReadStop;
|
||||
EFI_EVENT PollTimer;
|
||||
|
||||
|
||||
//
|
||||
// Asynchronous(bulk and control) transfer schedule data:
|
||||
// Asynchronous(bulk and control) transfer schedule data:
|
||||
// ReclaimHead is used as the head of the asynchronous transfer
|
||||
// list. It acts as the reclamation header.
|
||||
// list. It acts as the reclamation header.
|
||||
//
|
||||
PEI_EHC_QH *ReclaimHead;
|
||||
|
||||
|
||||
//
|
||||
// Periodic (interrupt) transfer schedule data:
|
||||
//
|
||||
VOID *PeriodFrame; // Mapped as common buffer
|
||||
VOID *PeriodFrame; // Mapped as common buffer
|
||||
VOID *PeriodFrameMap;
|
||||
|
||||
|
||||
PEI_EHC_QH *PeriodOne;
|
||||
EFI_LIST_ENTRY AsyncIntTransfers;
|
||||
|
||||
@@ -156,14 +156,14 @@ struct _PEI_USB2_HC_DEV {
|
||||
**/
|
||||
EFI_STATUS
|
||||
InitializeUsbHC (
|
||||
IN PEI_USB2_HC_DEV *EhcDev
|
||||
IN PEI_USB2_HC_DEV *EhcDev
|
||||
);
|
||||
|
||||
/**
|
||||
Initialize the memory management pool for the host controller.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Check4G Whether the host controller requires allocated memory
|
||||
@param Check4G Whether the host controller requires allocated memory
|
||||
from one 4G address space.
|
||||
@param Which4G The 4G memory area each memory allocated should be from.
|
||||
|
||||
@@ -178,7 +178,7 @@ UsbHcInitMemPool (
|
||||
IN UINT32 Which4G
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
/**
|
||||
Release the memory management pool.
|
||||
|
||||
@@ -199,7 +199,7 @@ UsbHcFreeMemPool (
|
||||
/**
|
||||
Allocate some memory from the host controller's memory pool
|
||||
which can be used to communicate with host controller.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Pool The host controller's memory pool.
|
||||
@param Size Size of the memory to allocate.
|
||||
|
@@ -4,14 +4,14 @@
|
||||
# It produces gPeiUsb2HostControllerPpiGuid based on gPeiUsbControllerPpiGuid
|
||||
# which is used to enable recovery function from USB Drivers.
|
||||
#
|
||||
# Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions
|
||||
# of the BSD License which accompanies this distribution. The
|
||||
# full text of the license may be found at
|
||||
# http://opensource.org/licenses/bsd-license.php
|
||||
#
|
||||
#
|
||||
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#
|
||||
|
@@ -4,14 +4,14 @@
|
||||
// It produces gPeiUsb2HostControllerPpiGuid based on gPeiUsbControllerPpiGuid
|
||||
// which is used to enable recovery function from USB Drivers.
|
||||
//
|
||||
// Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions
|
||||
// of the BSD License which accompanies this distribution. The
|
||||
// full text of the license may be found at
|
||||
// http://opensource.org/licenses/bsd-license.php
|
||||
//
|
||||
//
|
||||
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// EhciPei Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions
|
||||
@@ -14,8 +14,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"EHCI PEI Module for Recovery"
|
||||
|
||||
|
||||
|
@@ -1,8 +1,8 @@
|
||||
/** @file
|
||||
Private Header file for Usb Host Controller PEIM
|
||||
|
||||
Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
of the BSD License which accompanies this distribution. The
|
||||
@@ -94,8 +94,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#define EHCI_IS_DATAIN(EndpointAddr) EHC_BIT_IS_SET((EndpointAddr), 0x80)
|
||||
|
||||
//
|
||||
// Structure to map the hardware port states to the
|
||||
// UEFI's port states.
|
||||
// Structure to map the hardware port states to the
|
||||
// UEFI's port states.
|
||||
//
|
||||
typedef struct {
|
||||
UINT16 HwState;
|
||||
@@ -116,7 +116,7 @@ typedef struct {
|
||||
|
||||
/**
|
||||
Read EHCI capability register.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Offset Capability register address.
|
||||
|
||||
@@ -132,7 +132,7 @@ EhcReadCapRegister (
|
||||
|
||||
/**
|
||||
Read Ehc Operation register.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Offset The operation register offset.
|
||||
|
||||
@@ -148,7 +148,7 @@ EhcReadOpReg (
|
||||
|
||||
/**
|
||||
Write the data to the EHCI operation register.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Offset EHCI operation register offset.
|
||||
@param Data The data to write.
|
||||
@@ -164,7 +164,7 @@ EhcWriteOpReg (
|
||||
|
||||
/**
|
||||
Stop the legacy USB SMI support.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
|
||||
**/
|
||||
@@ -177,7 +177,7 @@ EhcClearLegacySupport (
|
||||
/**
|
||||
Set door bell and wait it to be ACKed by host controller.
|
||||
This function is used to synchronize with the hardware.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Timeout The time to wait before abort (in millisecond, ms).
|
||||
|
||||
@@ -193,9 +193,9 @@ EhcSetAndWaitDoorBell (
|
||||
;
|
||||
|
||||
/**
|
||||
Clear all the interrutp status bits, these bits
|
||||
Clear all the interrutp status bits, these bits
|
||||
are Write-Clean.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
|
||||
**/
|
||||
@@ -207,7 +207,7 @@ EhcAckAllInterrupt (
|
||||
|
||||
/**
|
||||
Check whether Ehc is halted.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
|
||||
@retval TRUE The controller is halted.
|
||||
@@ -222,7 +222,7 @@ EhcIsHalt (
|
||||
|
||||
/**
|
||||
Check whether system error occurred.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
|
||||
@retval TRUE System error happened.
|
||||
@@ -237,7 +237,7 @@ EhcIsSysError (
|
||||
|
||||
/**
|
||||
Reset the host controller.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Timeout Time to wait before abort (in millisecond, ms).
|
||||
|
||||
@@ -254,7 +254,7 @@ EhcResetHC (
|
||||
|
||||
/**
|
||||
Halt the host controller.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Timeout Time to wait before abort.
|
||||
|
||||
@@ -271,7 +271,7 @@ EhcHaltHC (
|
||||
|
||||
/**
|
||||
Set the EHCI to run
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Timeout Time to wait before abort.
|
||||
|
||||
@@ -287,14 +287,14 @@ EhcRunHC (
|
||||
;
|
||||
|
||||
/**
|
||||
Initialize the HC hardware.
|
||||
Initialize the HC hardware.
|
||||
EHCI spec lists the five things to do to initialize the hardware.
|
||||
1. Program CTRLDSSEGMENT.
|
||||
2. Set USBINTR to enable interrupts.
|
||||
3. Set periodic list base.
|
||||
4. Set USBCMD, interrupt threshold, frame list size etc.
|
||||
5. Write 1 to CONFIGFLAG to route all ports to EHCI.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
|
||||
@retval EFI_SUCCESS The EHCI has come out of halt state.
|
||||
|
@@ -2,8 +2,8 @@
|
||||
PEIM to produce gPeiUsb2HostControllerPpiGuid based on gPeiUsbControllerPpiGuid
|
||||
which is used to enable recovery function from USB Drivers.
|
||||
|
||||
Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
of the BSD License which accompanies this distribution. The
|
||||
@@ -19,7 +19,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
/**
|
||||
Create helper QTD/QH for the EHCI device.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate resource for helper QTD/QH.
|
||||
@@ -95,7 +95,7 @@ EhcCreateHelpQ (
|
||||
|
||||
/**
|
||||
Initialize the schedule data structure such as frame list.
|
||||
|
||||
|
||||
@param Ehc The EHCI device to init schedule data for.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate resource to init schedule data.
|
||||
@@ -162,7 +162,7 @@ EhcInitSched (
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Initialize the frame list entries then set the registers
|
||||
//
|
||||
@@ -186,8 +186,8 @@ EhcInitSched (
|
||||
|
||||
/**
|
||||
Free the schedule data. It may be partially initialized.
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -230,7 +230,7 @@ EhcFreeSched (
|
||||
due to its interfaces. This simplifies the AsynList
|
||||
management: A reclamation header is always linked to
|
||||
the AsyncListAddr, the only active QH is appended to it.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Qh The queue head to link.
|
||||
|
||||
@@ -260,7 +260,7 @@ EhcLinkQhToAsync (
|
||||
/**
|
||||
Unlink a queue head from the asynchronous schedule list.
|
||||
Need to synchronize with hardware.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Qh The queue head to unlink.
|
||||
|
||||
@@ -291,13 +291,13 @@ EhcUnlinkQhFromAsync (
|
||||
// Set and wait the door bell to synchronize with the hardware
|
||||
//
|
||||
EhcSetAndWaitDoorBell (Ehc, EHC_GENERIC_TIMEOUT);
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
Check the URB's execution result and update the URB's
|
||||
result accordingly.
|
||||
result accordingly.
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Urb The URB to check result.
|
||||
@@ -358,13 +358,13 @@ EhcCheckUrbResult (
|
||||
|
||||
Finished = TRUE;
|
||||
goto ON_EXIT;
|
||||
|
||||
|
||||
} else if (EHC_BIT_IS_SET (State, QTD_STAT_ACTIVE)) {
|
||||
//
|
||||
// The QTD is still active, no need to check furthur.
|
||||
//
|
||||
Urb->Result |= EFI_USB_ERR_NOTEXECUTE;
|
||||
|
||||
|
||||
Finished = FALSE;
|
||||
goto ON_EXIT;
|
||||
|
||||
@@ -387,7 +387,7 @@ EhcCheckUrbResult (
|
||||
// Status Stage of the setup transfer to get the finial result
|
||||
//
|
||||
if (QtdHw->AltNext == QTD_LINK (Ehc->ShortReadStop, FALSE)) {
|
||||
|
||||
|
||||
Finished = TRUE;
|
||||
goto ON_EXIT;
|
||||
}
|
||||
@@ -412,7 +412,7 @@ ON_EXIT:
|
||||
|
||||
/**
|
||||
Execute the transfer by polling the URB. This is a synchronous operation.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Urb The URB to execute.
|
||||
@param TimeOut The time to wait before abort, in millisecond.
|
||||
|
@@ -1,8 +1,8 @@
|
||||
/** @file
|
||||
Private Header file for Usb Host Controller PEIM
|
||||
|
||||
Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
of the BSD License which accompanies this distribution. The
|
||||
@@ -19,7 +19,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
/**
|
||||
Initialize the schedule data structure such as frame list.
|
||||
|
||||
|
||||
@param Ehc The EHCI device to init schedule data for.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate resource to init schedule data.
|
||||
@@ -34,7 +34,7 @@ EhcInitSched (
|
||||
|
||||
/**
|
||||
Free the schedule data. It may be partially initialized.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
|
||||
**/
|
||||
@@ -50,7 +50,7 @@ EhcFreeSched (
|
||||
due to its interfaces. This simplifies the AsynList
|
||||
management: A reclamation header is always linked to
|
||||
the AsyncListAddr, the only active QH is appended to it.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Qh The queue head to link.
|
||||
|
||||
@@ -65,7 +65,7 @@ EhcLinkQhToAsync (
|
||||
/**
|
||||
Unlink a queue head from the asynchronous schedule list.
|
||||
Need to synchronize with hardware.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Qh The queue head to unlink.
|
||||
|
||||
@@ -79,7 +79,7 @@ EhcUnlinkQhFromAsync (
|
||||
|
||||
/**
|
||||
Execute the transfer by polling the URB. This is a synchronous operation.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Urb The URB to execute.
|
||||
@param TimeOut The time to wait before abort, in millisecond.
|
||||
|
@@ -2,8 +2,8 @@
|
||||
PEIM to produce gPeiUsb2HostControllerPpiGuid based on gPeiUsbControllerPpiGuid
|
||||
which is used to enable recovery function from USB Drivers.
|
||||
|
||||
Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
of the BSD License which accompanies this distribution. The
|
||||
@@ -20,7 +20,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
/**
|
||||
Delete a single asynchronous interrupt transfer for
|
||||
the device and endpoint.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Data Current data not associated with a QTD.
|
||||
@param DataLen The length of the data.
|
||||
@@ -96,7 +96,7 @@ EhcCreateQtd (
|
||||
Len += ThisBufLen;
|
||||
Data += ThisBufLen;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Need to fix the last pointer if the Qtd can't hold all the
|
||||
// user's data to make sure that the length is in the unit of
|
||||
@@ -120,7 +120,7 @@ EhcCreateQtd (
|
||||
1. SplitXState in the Status field.
|
||||
2. Microframe S-mask.
|
||||
3. Microframe C-mask.
|
||||
|
||||
|
||||
@param Ep The queue head's related endpoint.
|
||||
@param QhHw The queue head to initialize.
|
||||
|
||||
@@ -142,7 +142,7 @@ EhcInitIntQh (
|
||||
QhHw->SMask = QH_MICROFRAME_0;
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// For low/full speed device, the transfer must go through
|
||||
// the split transaction. Need to update three fields
|
||||
@@ -160,7 +160,7 @@ EhcInitIntQh (
|
||||
|
||||
/**
|
||||
Allocate and initialize a EHCI queue head.
|
||||
|
||||
|
||||
@param Ehci The EHCI device.
|
||||
@param Ep The endpoint to create queue head for.
|
||||
|
||||
@@ -185,7 +185,7 @@ EhcCreateQh (
|
||||
Qh->Signature = EHC_QH_SIG;
|
||||
Qh->NextQh = NULL;
|
||||
Qh->Interval = Ep->PollRate;
|
||||
|
||||
|
||||
InitializeListHead (&Qh->Qtds);
|
||||
|
||||
QhHw = &Qh->QhHw;
|
||||
@@ -250,7 +250,7 @@ EhcCreateQh (
|
||||
can't support high speed endpoint with a interval less
|
||||
than 8 microframe because interval is specified in
|
||||
the unit of ms (millisecond).
|
||||
|
||||
|
||||
@param Interval The interval to convert.
|
||||
|
||||
@retval The converted interval.
|
||||
@@ -266,7 +266,7 @@ EhcConvertPollRate (
|
||||
if (Interval == 0) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Find the index (1 based) of the highest non-zero bit
|
||||
//
|
||||
@@ -282,7 +282,7 @@ EhcConvertPollRate (
|
||||
|
||||
/**
|
||||
Free a list of QTDs.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Qtds The list head of the QTD.
|
||||
|
||||
@@ -307,7 +307,7 @@ EhcFreeQtds (
|
||||
|
||||
/**
|
||||
Free an allocated URB. It is possible for it to be partially inited.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Urb The URB to free.
|
||||
|
||||
@@ -338,7 +338,7 @@ EhcFreeUrb (
|
||||
|
||||
/**
|
||||
Create a list of QTDs for the URB.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Urb The URB to create QTDs for.
|
||||
|
||||
@@ -380,7 +380,7 @@ EhcCreateQtds (
|
||||
if (Ep->Direction == EfiUsbDataIn) {
|
||||
AlterNext = QTD_LINK (Ehc->ShortReadStop, FALSE);
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Build the Setup and status packets for control transfer
|
||||
//
|
||||
@@ -457,7 +457,7 @@ EhcCreateQtds (
|
||||
|
||||
Len += Qtd->DataLen;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Insert the status packet for control transfer
|
||||
//
|
||||
@@ -496,7 +496,7 @@ ON_ERROR:
|
||||
|
||||
/**
|
||||
Create a new URB and its associated QTD.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param DevAddr The device address.
|
||||
@param EpAddr Endpoint addrress & its direction.
|
||||
@@ -519,7 +519,7 @@ PEI_URB *
|
||||
EhcCreateUrb (
|
||||
IN PEI_USB2_HC_DEV *Ehc,
|
||||
IN UINT8 DevAddr,
|
||||
IN UINT8 EpAddr,
|
||||
IN UINT8 EpAddr,
|
||||
IN UINT8 DevSpeed,
|
||||
IN UINT8 Toggle,
|
||||
IN UINTN MaxPacket,
|
||||
@@ -540,7 +540,7 @@ EhcCreateUrb (
|
||||
UINTN Len;
|
||||
PEI_URB *Urb;
|
||||
VOID *Map;
|
||||
|
||||
|
||||
Urb = Ehc->Urb;
|
||||
Urb->Signature = EHC_URB_SIG;
|
||||
InitializeListHead (&Urb->UrbList);
|
||||
|
@@ -1,8 +1,8 @@
|
||||
/** @file
|
||||
Private Header file for Usb Host Controller PEIM
|
||||
|
||||
Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
of the BSD License which accompanies this distribution. The
|
||||
@@ -73,7 +73,7 @@ typedef struct _PEI_URB PEI_URB;
|
||||
#define USB_ERR_SHORT_PACKET 0x200
|
||||
|
||||
//
|
||||
// Fill in the hardware link point: pass in a EHC_QH/QH_HW
|
||||
// Fill in the hardware link point: pass in a EHC_QH/QH_HW
|
||||
// pointer to QH_LINK; A EHC_QTD/QTD_HW pointer to QTD_LINK
|
||||
//
|
||||
#define QH_LINK(Addr, Type, Term) \
|
||||
@@ -82,16 +82,16 @@ typedef struct _PEI_URB PEI_URB;
|
||||
#define QTD_LINK(Addr, Term) QH_LINK((Addr), 0, (Term))
|
||||
|
||||
//
|
||||
// The defination of EHCI hardware used data structure for
|
||||
// little endian architecture. The QTD and QH structures
|
||||
// are required to be 32 bytes aligned. Don't add members
|
||||
// The defination of EHCI hardware used data structure for
|
||||
// little endian architecture. The QTD and QH structures
|
||||
// are required to be 32 bytes aligned. Don't add members
|
||||
// to the head of the associated software strucuture.
|
||||
//
|
||||
#pragma pack(1)
|
||||
typedef struct {
|
||||
UINT32 NextQtd;
|
||||
UINT32 AltNext;
|
||||
|
||||
|
||||
UINT32 Status : 8;
|
||||
UINT32 Pid : 2;
|
||||
UINT32 ErrCnt : 2;
|
||||
@@ -105,7 +105,7 @@ typedef struct {
|
||||
} QTD_HW;
|
||||
|
||||
typedef struct {
|
||||
UINT32 HorizonLink;
|
||||
UINT32 HorizonLink;
|
||||
//
|
||||
// Endpoint capabilities/Characteristics DWord 1 and DWord 2
|
||||
//
|
||||
@@ -131,7 +131,7 @@ typedef struct {
|
||||
UINT32 CurQtd;
|
||||
UINT32 NextQtd;
|
||||
UINT32 AltQtd;
|
||||
|
||||
|
||||
UINT32 Status : 8;
|
||||
UINT32 Pid : 2;
|
||||
UINT32 ErrCnt : 2;
|
||||
@@ -163,7 +163,7 @@ typedef struct _USB_ENDPOINT {
|
||||
} USB_ENDPOINT;
|
||||
|
||||
//
|
||||
// Software QTD strcture, this is used to manage all the
|
||||
// Software QTD strcture, this is used to manage all the
|
||||
// QTD generated from a URB. Don't add fields before QtdHw.
|
||||
//
|
||||
struct _PEI_EHC_QTD {
|
||||
@@ -177,17 +177,17 @@ struct _PEI_EHC_QTD {
|
||||
|
||||
|
||||
//
|
||||
// Software QH structure. All three different transaction types
|
||||
// supported by UEFI USB, that is the control/bulk/interrupt
|
||||
// transfers use the queue head and queue token strcuture.
|
||||
// Software QH structure. All three different transaction types
|
||||
// supported by UEFI USB, that is the control/bulk/interrupt
|
||||
// transfers use the queue head and queue token strcuture.
|
||||
//
|
||||
// Interrupt QHs are linked to periodic frame list in the reversed
|
||||
// 2^N tree. Each interrupt QH is linked to the list starting at
|
||||
// 2^N tree. Each interrupt QH is linked to the list starting at
|
||||
// frame 0. There is a dummy interrupt QH linked to each frame as
|
||||
// a sentinental whose polling interval is 1. Synchronous interrupt
|
||||
// transfer is linked after this dummy QH.
|
||||
//
|
||||
// For control/bulk transfer, only synchronous (in the sense of UEFI)
|
||||
// transfer is linked after this dummy QH.
|
||||
//
|
||||
// For control/bulk transfer, only synchronous (in the sense of UEFI)
|
||||
// transfer is supported. A dummy QH is linked to EHCI AsyncListAddr
|
||||
// as the reclamation header. New transfer is inserted after this QH.
|
||||
//
|
||||
@@ -196,17 +196,17 @@ struct _PEI_EHC_QH {
|
||||
UINT32 Signature;
|
||||
PEI_EHC_QH *NextQh; // The queue head pointed to by horizontal link
|
||||
EFI_LIST_ENTRY Qtds; // The list of QTDs to this queue head
|
||||
UINTN Interval;
|
||||
UINTN Interval;
|
||||
};
|
||||
|
||||
//
|
||||
// URB (Usb Request Block) contains information for all kinds of
|
||||
// URB (Usb Request Block) contains information for all kinds of
|
||||
// usb requests.
|
||||
//
|
||||
struct _PEI_URB {
|
||||
UINT32 Signature;
|
||||
EFI_LIST_ENTRY UrbList;
|
||||
|
||||
|
||||
//
|
||||
// Transaction information
|
||||
//
|
||||
@@ -218,14 +218,14 @@ struct _PEI_URB {
|
||||
UINTN DataLen;
|
||||
VOID *DataPhy; // Address of the mapped user data
|
||||
VOID *DataMap;
|
||||
EFI_ASYNC_USB_TRANSFER_CALLBACK Callback;
|
||||
EFI_ASYNC_USB_TRANSFER_CALLBACK Callback;
|
||||
VOID *Context;
|
||||
|
||||
//
|
||||
// Schedule data
|
||||
//
|
||||
PEI_EHC_QH *Qh;
|
||||
|
||||
|
||||
//
|
||||
// Transaction result
|
||||
//
|
||||
@@ -237,7 +237,7 @@ struct _PEI_URB {
|
||||
/**
|
||||
Delete a single asynchronous interrupt transfer for
|
||||
the device and endpoint.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Data Current data not associated with a QTD.
|
||||
@param DataLen The length of the data.
|
||||
@@ -261,7 +261,7 @@ EhcCreateQtd (
|
||||
|
||||
/**
|
||||
Allocate and initialize a EHCI queue head.
|
||||
|
||||
|
||||
@param Ehci The EHCI device.
|
||||
@param Ep The endpoint to create queue head for.
|
||||
|
||||
@@ -277,7 +277,7 @@ EhcCreateQh (
|
||||
|
||||
/**
|
||||
Free an allocated URB. It is possible for it to be partially inited.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Urb The URB to free.
|
||||
|
||||
@@ -291,7 +291,7 @@ EhcFreeUrb (
|
||||
|
||||
/**
|
||||
Create a new URB and its associated QTD.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param DevAddr The device address.
|
||||
@param EpAddr Endpoint addrress & its direction.
|
||||
@@ -314,7 +314,7 @@ PEI_URB *
|
||||
EhcCreateUrb (
|
||||
IN PEI_USB2_HC_DEV *Ehc,
|
||||
IN UINT8 DevAddr,
|
||||
IN UINT8 EpAddr,
|
||||
IN UINT8 EpAddr,
|
||||
IN UINT8 DevSpeed,
|
||||
IN UINT8 Toggle,
|
||||
IN UINTN MaxPacket,
|
||||
|
@@ -2,8 +2,8 @@
|
||||
PEIM to produce gPeiUsb2HostControllerPpiGuid based on gPeiUsbControllerPpiGuid
|
||||
which is used to enable recovery function from USB Drivers.
|
||||
|
||||
Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
of the BSD License which accompanies this distribution. The
|
||||
@@ -54,28 +54,28 @@ UsbHcAllocMemBlock (
|
||||
return NULL;
|
||||
}
|
||||
ZeroMem ((VOID *)(UINTN)TempPtr, PageNumber*EFI_PAGE_SIZE);
|
||||
|
||||
|
||||
//
|
||||
// each bit in the bit array represents USBHC_MEM_UNIT
|
||||
// bytes of memory in the memory block.
|
||||
//
|
||||
ASSERT (USBHC_MEM_UNIT * 8 <= EFI_PAGE_SIZE);
|
||||
|
||||
|
||||
Block = (USBHC_MEM_BLOCK*)(UINTN)TempPtr;
|
||||
Block->BufLen = EFI_PAGES_TO_SIZE (Pages);
|
||||
Block->BitsLen = Block->BufLen / (USBHC_MEM_UNIT * 8);
|
||||
|
||||
|
||||
PageNumber = (Block->BitsLen)/PAGESIZE +1;
|
||||
Status = PeiServicesAllocatePages (
|
||||
EfiBootServicesCode,
|
||||
PageNumber,
|
||||
&TempPtr
|
||||
);
|
||||
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
return NULL;
|
||||
}
|
||||
ZeroMem ((VOID *)(UINTN)TempPtr, PageNumber*EFI_PAGE_SIZE);
|
||||
ZeroMem ((VOID *)(UINTN)TempPtr, PageNumber*EFI_PAGE_SIZE);
|
||||
|
||||
Block->Bits = (UINT8 *)(UINTN)TempPtr;
|
||||
|
||||
@@ -184,7 +184,7 @@ UsbHcAllocMemFromBlock (
|
||||
if (Available < Units) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Mark the memory as allocated
|
||||
//
|
||||
@@ -283,7 +283,7 @@ UsbHcIsMemBlockEmpty (
|
||||
{
|
||||
UINTN Index;
|
||||
|
||||
|
||||
|
||||
for (Index = 0; Index < Block->BitsLen; Index++) {
|
||||
if (Block->Bits[Index] != 0) {
|
||||
return FALSE;
|
||||
@@ -321,7 +321,7 @@ UsbHcUnlinkMemBlock (
|
||||
|
||||
/**
|
||||
Initialize the memory management pool for the host controller.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Check4G Whether the host controller requires allocated memory.
|
||||
from one 4G address space.
|
||||
@@ -342,7 +342,7 @@ UsbHcInitMemPool (
|
||||
UINTN PageNumber;
|
||||
EFI_STATUS Status;
|
||||
EFI_PHYSICAL_ADDRESS TempPtr;
|
||||
|
||||
|
||||
PageNumber = sizeof(USBHC_MEM_POOL)/PAGESIZE +1;
|
||||
Status = PeiServicesAllocatePages (
|
||||
EfiBootServicesCode,
|
||||
@@ -353,9 +353,9 @@ UsbHcInitMemPool (
|
||||
if (EFI_ERROR (Status)) {
|
||||
return NULL;
|
||||
}
|
||||
ZeroMem ((VOID *)(UINTN)TempPtr, PageNumber*EFI_PAGE_SIZE);
|
||||
ZeroMem ((VOID *)(UINTN)TempPtr, PageNumber*EFI_PAGE_SIZE);
|
||||
|
||||
Pool = (USBHC_MEM_POOL *) ((UINTN) TempPtr);
|
||||
Pool = (USBHC_MEM_POOL *) ((UINTN) TempPtr);
|
||||
|
||||
Pool->Check4G = Check4G;
|
||||
Pool->Which4G = Which4G;
|
||||
@@ -405,7 +405,7 @@ UsbHcFreeMemPool (
|
||||
/**
|
||||
Allocate some memory from the host controller's memory pool
|
||||
which can be used to communicate with host controller.
|
||||
|
||||
|
||||
@param Ehc The EHCI device.
|
||||
@param Pool The host controller's memory pool.
|
||||
@param Size Size of the memory to allocate.
|
||||
@@ -464,7 +464,7 @@ UsbHcAllocateMem (
|
||||
if (NewBlock == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Add the new memory block to the pool, then allocate memory from it
|
||||
//
|
||||
|
@@ -1,8 +1,8 @@
|
||||
/** @file
|
||||
Private Header file for Usb Host Controller PEIM
|
||||
|
||||
Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
of the BSD License which accompanies this distribution. The
|
||||
@@ -32,22 +32,22 @@ typedef struct _USBHC_MEM_BLOCK USBHC_MEM_BLOCK;
|
||||
|
||||
struct _USBHC_MEM_BLOCK {
|
||||
UINT8 *Bits; // Bit array to record which unit is allocated
|
||||
UINTN BitsLen;
|
||||
UINTN BitsLen;
|
||||
UINT8 *Buf;
|
||||
UINT8 *BufHost;
|
||||
UINTN BufLen; // Memory size in bytes
|
||||
VOID *Mapping;
|
||||
VOID *Mapping;
|
||||
USBHC_MEM_BLOCK *Next;
|
||||
};
|
||||
|
||||
//
|
||||
// USBHC_MEM_POOL is used to manage the memory used by USB
|
||||
// USBHC_MEM_POOL is used to manage the memory used by USB
|
||||
// host controller. EHCI requires the control memory and transfer
|
||||
// data to be on the same 4G memory.
|
||||
// data to be on the same 4G memory.
|
||||
//
|
||||
typedef struct _USBHC_MEM_POOL {
|
||||
BOOLEAN Check4G;
|
||||
UINT32 Which4G;
|
||||
BOOLEAN Check4G;
|
||||
UINT32 Which4G;
|
||||
USBHC_MEM_BLOCK *Head;
|
||||
} USBHC_MEM_POOL;
|
||||
|
||||
@@ -71,7 +71,7 @@ typedef struct _USBHC_MEM_POOL {
|
||||
(Byte)++; \
|
||||
(Bit) = 0; \
|
||||
} \
|
||||
} while (0)
|
||||
} while (0)
|
||||
|
||||
|
||||
/**
|
||||
|
@@ -5,7 +5,7 @@ ATA controllers in the platform.
|
||||
This PPI can be consumed by PEIM which produce gEfiPeiDeviceRecoveryModulePpiGuid
|
||||
for Atapi CD ROM device.
|
||||
|
||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
@@ -21,8 +21,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#include "AtapiPeim.h"
|
||||
|
||||
/**
|
||||
Initializes the Atapi Block Io PPI.
|
||||
|
||||
Initializes the Atapi Block Io PPI.
|
||||
|
||||
@param[in] FileHandle Handle of the file being invoked.
|
||||
@param[in] PeiServices Describes the list of possible PEI Services.
|
||||
|
||||
@@ -97,16 +97,16 @@ AtapiPeimEntry (
|
||||
/**
|
||||
Gets the count of block I/O devices that one specific block driver detects.
|
||||
|
||||
This function is used for getting the count of block I/O devices that one
|
||||
This function is used for getting the count of block I/O devices that one
|
||||
specific block driver detects. To the PEI ATAPI driver, it returns the number
|
||||
of all the detected ATAPI devices it detects during the enumeration process.
|
||||
To the PEI legacy floppy driver, it returns the number of all the legacy
|
||||
devices it finds during its enumeration process. If no device is detected,
|
||||
then the function will return zero.
|
||||
|
||||
@param[in] PeiServices General-purpose services that are available
|
||||
of all the detected ATAPI devices it detects during the enumeration process.
|
||||
To the PEI legacy floppy driver, it returns the number of all the legacy
|
||||
devices it finds during its enumeration process. If no device is detected,
|
||||
then the function will return zero.
|
||||
|
||||
@param[in] PeiServices General-purpose services that are available
|
||||
to every PEIM.
|
||||
@param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI
|
||||
@param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI
|
||||
instance.
|
||||
@param[out] NumberBlockDevices The number of block I/O devices discovered.
|
||||
|
||||
@@ -135,27 +135,27 @@ AtapiGetNumberOfBlockDevices (
|
||||
/**
|
||||
Gets a block device's media information.
|
||||
|
||||
This function will provide the caller with the specified block device's media
|
||||
information. If the media changes, calling this function will update the media
|
||||
This function will provide the caller with the specified block device's media
|
||||
information. If the media changes, calling this function will update the media
|
||||
information accordingly.
|
||||
|
||||
@param[in] PeiServices General-purpose services that are available to every
|
||||
PEIM
|
||||
@param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI instance.
|
||||
@param[in] DeviceIndex Specifies the block device to which the function wants
|
||||
to talk. Because the driver that implements Block I/O
|
||||
PPIs will manage multiple block devices, the PPIs that
|
||||
want to talk to a single device must specify the
|
||||
@param[in] DeviceIndex Specifies the block device to which the function wants
|
||||
to talk. Because the driver that implements Block I/O
|
||||
PPIs will manage multiple block devices, the PPIs that
|
||||
want to talk to a single device must specify the
|
||||
device index that was assigned during the enumeration
|
||||
process. This index is a number from one to
|
||||
process. This index is a number from one to
|
||||
NumberBlockDevices.
|
||||
@param[out] MediaInfo The media information of the specified block media.
|
||||
The caller is responsible for the ownership of this
|
||||
@param[out] MediaInfo The media information of the specified block media.
|
||||
The caller is responsible for the ownership of this
|
||||
data structure.
|
||||
|
||||
@retval EFI_SUCCESS Media information about the specified block device
|
||||
|
||||
@retval EFI_SUCCESS Media information about the specified block device
|
||||
was obtained successfully.
|
||||
@retval EFI_DEVICE_ERROR Cannot get the media information due to a hardware
|
||||
@retval EFI_DEVICE_ERROR Cannot get the media information due to a hardware
|
||||
error.
|
||||
@retval Others Other failure occurs.
|
||||
|
||||
@@ -196,7 +196,7 @@ AtapiGetBlockDeviceMediaInfo (
|
||||
//
|
||||
// probe media and retrieve latest media information
|
||||
//
|
||||
DEBUG ((EFI_D_INFO, "Atatpi GetInfo DevicePosition is %d\n", AtapiBlkIoDev->DeviceInfo[Index].DevicePosition));
|
||||
DEBUG ((EFI_D_INFO, "Atatpi GetInfo DevicePosition is %d\n", AtapiBlkIoDev->DeviceInfo[Index].DevicePosition));
|
||||
DEBUG ((EFI_D_INFO, "Atatpi GetInfo DeviceType is %d\n", AtapiBlkIoDev->DeviceInfo[Index].MediaInfo.DeviceType));
|
||||
DEBUG ((EFI_D_INFO, "Atatpi GetInfo MediaPresent is %d\n", AtapiBlkIoDev->DeviceInfo[Index].MediaInfo.MediaPresent));
|
||||
DEBUG ((EFI_D_INFO, "Atatpi GetInfo BlockSize is 0x%x\n", AtapiBlkIoDev->DeviceInfo[Index].MediaInfo.BlockSize));
|
||||
@@ -217,7 +217,7 @@ AtapiGetBlockDeviceMediaInfo (
|
||||
DEBUG ((EFI_D_INFO, "Atatpi GetInfo MediaPresent is %d\n", AtapiBlkIoDev->DeviceInfo[Index].MediaInfo.MediaPresent));
|
||||
DEBUG ((EFI_D_INFO, "Atatpi GetInfo BlockSize is 0x%x\n", AtapiBlkIoDev->DeviceInfo[Index].MediaInfo.BlockSize));
|
||||
DEBUG ((EFI_D_INFO, "Atatpi GetInfo LastBlock is 0x%x\n", AtapiBlkIoDev->DeviceInfo[Index].MediaInfo.LastBlock));
|
||||
|
||||
|
||||
//
|
||||
// Get media info from AtapiBlkIoDev
|
||||
//
|
||||
@@ -229,31 +229,31 @@ AtapiGetBlockDeviceMediaInfo (
|
||||
/**
|
||||
Reads the requested number of blocks from the specified block device.
|
||||
|
||||
The function reads the requested number of blocks from the device. All the
|
||||
The function reads the requested number of blocks from the device. All the
|
||||
blocks are read, or an error is returned. If there is no media in the device,
|
||||
the function returns EFI_NO_MEDIA.
|
||||
|
||||
@param[in] PeiServices General-purpose services that are available to
|
||||
@param[in] PeiServices General-purpose services that are available to
|
||||
every PEIM.
|
||||
@param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI instance.
|
||||
@param[in] DeviceIndex Specifies the block device to which the function wants
|
||||
to talk. Because the driver that implements Block I/O
|
||||
PPIs will manage multiple block devices, the PPIs that
|
||||
want to talk to a single device must specify the device
|
||||
index that was assigned during the enumeration process.
|
||||
@param[in] DeviceIndex Specifies the block device to which the function wants
|
||||
to talk. Because the driver that implements Block I/O
|
||||
PPIs will manage multiple block devices, the PPIs that
|
||||
want to talk to a single device must specify the device
|
||||
index that was assigned during the enumeration process.
|
||||
This index is a number from one to NumberBlockDevices.
|
||||
@param[in] StartLBA The starting logical block address (LBA) to read from
|
||||
on the device
|
||||
@param[in] BufferSize The size of the Buffer in bytes. This number must be
|
||||
a multiple of the intrinsic block size of the device.
|
||||
@param[out] Buffer A pointer to the destination buffer for the data.
|
||||
The caller is responsible for the ownership of the
|
||||
The caller is responsible for the ownership of the
|
||||
buffer.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The data was read correctly from the device.
|
||||
@retval EFI_DEVICE_ERROR The device reported an error while attempting
|
||||
@retval EFI_DEVICE_ERROR The device reported an error while attempting
|
||||
to perform the read operation.
|
||||
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not
|
||||
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not
|
||||
valid, or the buffer is not properly aligned.
|
||||
@retval EFI_NO_MEDIA There is no media in the device.
|
||||
@retval EFI_BAD_BUFFER_SIZE The BufferSize parameter is not a multiple of
|
||||
@@ -553,7 +553,7 @@ AtapiEnumerateDevices (
|
||||
);
|
||||
|
||||
//
|
||||
// Allow SATA Devices to spin-up. This is needed if
|
||||
// Allow SATA Devices to spin-up. This is needed if
|
||||
// SEC and PEI phase is too short, for example Release Build.
|
||||
//
|
||||
DEBUG ((EFI_D_INFO, "Delay for %d seconds for SATA devices to spin-up\n", PcdGet16 (PcdSataSpinUpDelayInSecForRecoveryPath)));
|
||||
@@ -571,7 +571,7 @@ AtapiEnumerateDevices (
|
||||
//
|
||||
// Using Command and Control Regs Base Address to fill other registers.
|
||||
//
|
||||
for (Index1 = 0; Index1 < IdeEnabledNumber; Index1 ++) {
|
||||
for (Index1 = 0; Index1 < IdeEnabledNumber; Index1 ++) {
|
||||
CommandBlockBaseAddr = IdeRegsBaseAddr[Index1].CommandBlockBaseAddr;
|
||||
AtapiBlkIoDev->IdeIoPortReg[Index1].Data = CommandBlockBaseAddr;
|
||||
AtapiBlkIoDev->IdeIoPortReg[Index1].Reg1.Feature = (UINT16) (CommandBlockBaseAddr + 0x1);
|
||||
@@ -585,7 +585,7 @@ AtapiEnumerateDevices (
|
||||
ControlBlockBaseAddr = IdeRegsBaseAddr[Index1].ControlBlockBaseAddr;
|
||||
AtapiBlkIoDev->IdeIoPortReg[Index1].Alt.DeviceControl = ControlBlockBaseAddr;
|
||||
AtapiBlkIoDev->IdeIoPortReg[Index1].DriveAddress = (UINT16) (ControlBlockBaseAddr + 0x1);
|
||||
|
||||
|
||||
//
|
||||
// Scan IDE bus for ATAPI devices IDE or Sata device
|
||||
//
|
||||
@@ -628,7 +628,7 @@ AtapiEnumerateDevices (
|
||||
|
||||
/**
|
||||
Detect Atapi devices.
|
||||
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@param[in] DevicePosition An integer to signify device position.
|
||||
@param[out] MediaInfo The media information of the specified block media.
|
||||
@@ -667,7 +667,7 @@ DiscoverAtapiDevice (
|
||||
|
||||
/**
|
||||
Check power mode of Atapi devices.
|
||||
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@param[in] DevicePosition An integer to signify device position.
|
||||
@param[in] AtaCommand The Ata Command passed in.
|
||||
@@ -800,7 +800,7 @@ CheckPowerMode (
|
||||
|
||||
/**
|
||||
Detect if an IDE controller exists in specified position.
|
||||
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@param[in] DevicePosition An integer to signify device position.
|
||||
|
||||
@@ -842,7 +842,7 @@ DetectIDEController (
|
||||
|
||||
/**
|
||||
Wait specified time interval to poll for BSY bit clear in the Status Register.
|
||||
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@param[in] IdeIoRegisters A pointer to IDE IO registers.
|
||||
@param[in] TimeoutInMilliSeconds Time specified in milliseconds.
|
||||
@@ -887,7 +887,7 @@ WaitForBSYClear (
|
||||
|
||||
/**
|
||||
Wait specified time interval to poll for DRDY bit set in the Status register.
|
||||
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@param[in] IdeIoRegisters A pointer to IDE IO registers.
|
||||
@param[in] TimeoutInMilliSeconds Time specified in milliseconds.
|
||||
@@ -928,7 +928,7 @@ DRDYReady (
|
||||
return EFI_ABORTED;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
MicroSecondDelay (250);
|
||||
|
||||
Delay--;
|
||||
@@ -944,7 +944,7 @@ DRDYReady (
|
||||
|
||||
/**
|
||||
Wait specified time interval to poll for DRQ bit clear in the Status Register.
|
||||
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@param[in] IdeIoRegisters A pointer to IDE IO registers.
|
||||
@param[in] TimeoutInMilliSeconds Time specified in milliseconds.
|
||||
@@ -987,7 +987,7 @@ DRQClear (
|
||||
return EFI_ABORTED;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
MicroSecondDelay (250);
|
||||
|
||||
Delay--;
|
||||
@@ -1002,7 +1002,7 @@ DRQClear (
|
||||
|
||||
/**
|
||||
Wait specified time interval to poll for DRQ bit clear in the Alternate Status Register.
|
||||
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@param[in] IdeIoRegisters A pointer to IDE IO registers.
|
||||
@param[in] TimeoutInMilliSeconds Time specified in milliseconds.
|
||||
@@ -1045,7 +1045,7 @@ DRQClear2 (
|
||||
return EFI_ABORTED;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
MicroSecondDelay (250);
|
||||
|
||||
Delay--;
|
||||
@@ -1406,7 +1406,7 @@ TestUnitReady (
|
||||
|
||||
/**
|
||||
Send out ATAPI commands conforms to the Packet Command with PIO Data In Protocol.
|
||||
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@param[in] DevicePosition An integer to signify device position.
|
||||
@param[in] Packet A pointer to ATAPI command packet.
|
||||
@@ -1702,8 +1702,8 @@ Inquiry (
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
Used before read/write blocks from/to ATAPI device media.
|
||||
/**
|
||||
Used before read/write blocks from/to ATAPI device media.
|
||||
Since ATAPI device media is removable, it is necessary to detect
|
||||
whether media is present and get current present media's information.
|
||||
|
||||
@@ -1739,7 +1739,7 @@ DetectMedia (
|
||||
if (SenseBuffers == NULL) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Test Unit Ready command is used to detect whether device is accessible,
|
||||
// the device will produce corresponding Sense data.
|
||||
@@ -1878,7 +1878,7 @@ DetectMedia (
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
Reset specified Atapi device.
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@@ -1976,7 +1976,7 @@ ResetDevice (
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
Sends out ATAPI Request Sense Packet Command to the specified device.
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@@ -2072,7 +2072,7 @@ RequestSense (
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
Sends out ATAPI Read Capacity Packet Command to the specified device.
|
||||
This command will return the information regarding the capacity of the
|
||||
media in the device.
|
||||
@@ -2185,7 +2185,7 @@ ReadCapacity (
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
Perform read from disk in block unit.
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@@ -2288,7 +2288,7 @@ ReadSectors (
|
||||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
Check if there is media according to sense data.
|
||||
|
||||
@param[in] SenseData Pointer to sense data.
|
||||
@@ -2324,14 +2324,14 @@ IsNoMedia (
|
||||
return IsNoMedia;
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
Check if device state is unclear according to sense data.
|
||||
|
||||
@param[in] SenseData Pointer to sense data.
|
||||
@param[in] SenseCounts Count of sense data.
|
||||
|
||||
@retval TRUE Device state is unclear
|
||||
@retval FALSE Device state is clear
|
||||
@retval FALSE Device state is clear
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
@@ -2365,7 +2365,7 @@ IsDeviceStateUnclear (
|
||||
return Unclear;
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
Check if there is media error according to sense data.
|
||||
|
||||
@param[in] SenseData Pointer to sense data.
|
||||
@@ -2438,7 +2438,7 @@ IsMediaError (
|
||||
return IsError;
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
Check if drive is ready according to sense data.
|
||||
|
||||
@param[in] SenseData Pointer to sense data.
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Private Include file for IdeBus PEIM.
|
||||
|
||||
Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
@@ -140,16 +140,16 @@ typedef struct {
|
||||
/**
|
||||
Gets the count of block I/O devices that one specific block driver detects.
|
||||
|
||||
This function is used for getting the count of block I/O devices that one
|
||||
This function is used for getting the count of block I/O devices that one
|
||||
specific block driver detects. To the PEI ATAPI driver, it returns the number
|
||||
of all the detected ATAPI devices it detects during the enumeration process.
|
||||
To the PEI legacy floppy driver, it returns the number of all the legacy
|
||||
devices it finds during its enumeration process. If no device is detected,
|
||||
then the function will return zero.
|
||||
|
||||
@param[in] PeiServices General-purpose services that are available
|
||||
of all the detected ATAPI devices it detects during the enumeration process.
|
||||
To the PEI legacy floppy driver, it returns the number of all the legacy
|
||||
devices it finds during its enumeration process. If no device is detected,
|
||||
then the function will return zero.
|
||||
|
||||
@param[in] PeiServices General-purpose services that are available
|
||||
to every PEIM.
|
||||
@param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI
|
||||
@param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI
|
||||
instance.
|
||||
@param[out] NumberBlockDevices The number of block I/O devices discovered.
|
||||
|
||||
@@ -167,27 +167,27 @@ AtapiGetNumberOfBlockDevices (
|
||||
/**
|
||||
Gets a block device's media information.
|
||||
|
||||
This function will provide the caller with the specified block device's media
|
||||
information. If the media changes, calling this function will update the media
|
||||
This function will provide the caller with the specified block device's media
|
||||
information. If the media changes, calling this function will update the media
|
||||
information accordingly.
|
||||
|
||||
@param[in] PeiServices General-purpose services that are available to every
|
||||
PEIM
|
||||
@param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI instance.
|
||||
@param[in] DeviceIndex Specifies the block device to which the function wants
|
||||
to talk. Because the driver that implements Block I/O
|
||||
PPIs will manage multiple block devices, the PPIs that
|
||||
want to talk to a single device must specify the
|
||||
@param[in] DeviceIndex Specifies the block device to which the function wants
|
||||
to talk. Because the driver that implements Block I/O
|
||||
PPIs will manage multiple block devices, the PPIs that
|
||||
want to talk to a single device must specify the
|
||||
device index that was assigned during the enumeration
|
||||
process. This index is a number from one to
|
||||
process. This index is a number from one to
|
||||
NumberBlockDevices.
|
||||
@param[out] MediaInfo The media information of the specified block media.
|
||||
The caller is responsible for the ownership of this
|
||||
@param[out] MediaInfo The media information of the specified block media.
|
||||
The caller is responsible for the ownership of this
|
||||
data structure.
|
||||
|
||||
@retval EFI_SUCCESS Media information about the specified block device
|
||||
|
||||
@retval EFI_SUCCESS Media information about the specified block device
|
||||
was obtained successfully.
|
||||
@retval EFI_DEVICE_ERROR Cannot get the media information due to a hardware
|
||||
@retval EFI_DEVICE_ERROR Cannot get the media information due to a hardware
|
||||
error.
|
||||
@retval Others Other failure occurs.
|
||||
|
||||
@@ -204,31 +204,31 @@ AtapiGetBlockDeviceMediaInfo (
|
||||
/**
|
||||
Reads the requested number of blocks from the specified block device.
|
||||
|
||||
The function reads the requested number of blocks from the device. All the
|
||||
The function reads the requested number of blocks from the device. All the
|
||||
blocks are read, or an error is returned. If there is no media in the device,
|
||||
the function returns EFI_NO_MEDIA.
|
||||
|
||||
@param[in] PeiServices General-purpose services that are available to
|
||||
@param[in] PeiServices General-purpose services that are available to
|
||||
every PEIM.
|
||||
@param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI instance.
|
||||
@param[in] DeviceIndex Specifies the block device to which the function wants
|
||||
to talk. Because the driver that implements Block I/O
|
||||
PPIs will manage multiple block devices, the PPIs that
|
||||
want to talk to a single device must specify the device
|
||||
index that was assigned during the enumeration process.
|
||||
@param[in] DeviceIndex Specifies the block device to which the function wants
|
||||
to talk. Because the driver that implements Block I/O
|
||||
PPIs will manage multiple block devices, the PPIs that
|
||||
want to talk to a single device must specify the device
|
||||
index that was assigned during the enumeration process.
|
||||
This index is a number from one to NumberBlockDevices.
|
||||
@param[in] StartLBA The starting logical block address (LBA) to read from
|
||||
on the device
|
||||
@param[in] BufferSize The size of the Buffer in bytes. This number must be
|
||||
a multiple of the intrinsic block size of the device.
|
||||
@param[out] Buffer A pointer to the destination buffer for the data.
|
||||
The caller is responsible for the ownership of the
|
||||
The caller is responsible for the ownership of the
|
||||
buffer.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The data was read correctly from the device.
|
||||
@retval EFI_DEVICE_ERROR The device reported an error while attempting
|
||||
@retval EFI_DEVICE_ERROR The device reported an error while attempting
|
||||
to perform the read operation.
|
||||
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not
|
||||
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not
|
||||
valid, or the buffer is not properly aligned.
|
||||
@retval EFI_NO_MEDIA There is no media in the device.
|
||||
@retval EFI_BAD_BUFFER_SIZE The BufferSize parameter is not a multiple of
|
||||
@@ -374,7 +374,7 @@ AtapiEnumerateDevices (
|
||||
|
||||
/**
|
||||
Detect Atapi devices.
|
||||
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@param[in] DevicePosition An integer to signify device position.
|
||||
@param[out] MediaInfo The media information of the specified block media.
|
||||
@@ -394,7 +394,7 @@ DiscoverAtapiDevice (
|
||||
|
||||
/**
|
||||
Detect if an IDE controller exists in specified position.
|
||||
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@param[in] DevicePosition An integer to signify device position.
|
||||
|
||||
@@ -410,7 +410,7 @@ DetectIDEController (
|
||||
|
||||
/**
|
||||
Wait specified time interval to poll for BSY bit clear in the Status Register.
|
||||
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@param[in] IdeIoRegisters A pointer to IDE IO registers.
|
||||
@param[in] TimeoutInMilliSeconds Time specified in milliseconds.
|
||||
@@ -428,7 +428,7 @@ WaitForBSYClear (
|
||||
|
||||
/**
|
||||
Wait specified time interval to poll for DRDY bit set in the Status register.
|
||||
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@param[in] IdeIoRegisters A pointer to IDE IO registers.
|
||||
@param[in] TimeoutInMilliSeconds Time specified in milliseconds.
|
||||
@@ -446,7 +446,7 @@ DRDYReady (
|
||||
|
||||
/**
|
||||
Wait specified time interval to poll for DRQ bit clear in the Status Register.
|
||||
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@param[in] IdeIoRegisters A pointer to IDE IO registers.
|
||||
@param[in] TimeoutInMilliSeconds Time specified in milliseconds.
|
||||
@@ -464,7 +464,7 @@ DRQClear (
|
||||
|
||||
/**
|
||||
Wait specified time interval to poll for DRQ bit clear in the Alternate Status Register.
|
||||
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@param[in] IdeIoRegisters A pointer to IDE IO registers.
|
||||
@param[in] TimeoutInMilliSeconds Time specified in milliseconds.
|
||||
@@ -569,7 +569,7 @@ TestUnitReady (
|
||||
|
||||
/**
|
||||
Send out ATAPI commands conforms to the Packet Command with PIO Data In Protocol.
|
||||
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@param[in] DevicePosition An integer to signify device position.
|
||||
@param[in] Packet A pointer to ATAPI command packet.
|
||||
@@ -613,10 +613,10 @@ Inquiry (
|
||||
OUT EFI_PEI_BLOCK_IO2_MEDIA *MediaInfo2
|
||||
);
|
||||
|
||||
/**
|
||||
Used before read/write blocks from/to ATAPI device media.
|
||||
/**
|
||||
Used before read/write blocks from/to ATAPI device media.
|
||||
Since ATAPI device media is removable, it is necessary to detect
|
||||
whether media is present and get current present media's information.
|
||||
whether media is present and get current present media's information.
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@param[in] DevicePosition An integer to signify device position.
|
||||
@@ -636,7 +636,7 @@ DetectMedia (
|
||||
IN OUT EFI_PEI_BLOCK_IO2_MEDIA *MediaInfo2
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Reset specified Atapi device.
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@@ -654,7 +654,7 @@ ResetDevice (
|
||||
IN BOOLEAN Extensive
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Sends out ATAPI Request Sense Packet Command to the specified device.
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@@ -674,7 +674,7 @@ RequestSense (
|
||||
IN OUT UINT8 *SenseCounts
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Sends out ATAPI Read Capacity Packet Command to the specified device.
|
||||
This command will return the information regarding the capacity of the
|
||||
media in the device.
|
||||
@@ -696,7 +696,7 @@ ReadCapacity (
|
||||
IN OUT EFI_PEI_BLOCK_IO2_MEDIA *MediaInfo2
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Perform read from disk in block unit.
|
||||
|
||||
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
|
||||
@@ -720,7 +720,7 @@ ReadSectors (
|
||||
IN UINTN BlockSize
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Check if there is media according to sense data.
|
||||
|
||||
@param[in] SenseData Pointer to sense data.
|
||||
@@ -736,14 +736,14 @@ IsNoMedia (
|
||||
IN UINTN SenseCounts
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Check if device state is unclear according to sense data.
|
||||
|
||||
@param[in] SenseData Pointer to sense data.
|
||||
@param[in] SenseCounts Count of sense data.
|
||||
|
||||
@retval TRUE Device state is unclear
|
||||
@retval FALSE Device state is clear
|
||||
@retval FALSE Device state is clear
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
@@ -752,7 +752,7 @@ IsDeviceStateUnclear (
|
||||
IN UINTN SenseCounts
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Check if there is media error according to sense data.
|
||||
|
||||
@param[in] SenseData Pointer to sense data.
|
||||
@@ -768,7 +768,7 @@ IsMediaError (
|
||||
IN UINTN SenseCounts
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Check if drive is ready according to sense data.
|
||||
|
||||
@param[in] SenseData Pointer to sense data.
|
||||
|
@@ -3,17 +3,17 @@
|
||||
//
|
||||
// This PPI can be consumed by PEIM which produce gEfiPeiDeviceRecoveryModulePpiGuid
|
||||
// for Atapi CD ROM device.
|
||||
//
|
||||
//
|
||||
// This module discovers CDROM devices in Legacy and native mode and installs block IO ppis for them.
|
||||
//
|
||||
// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions
|
||||
// of the BSD License which accompanies this distribution. The
|
||||
// full text of the license may be found at
|
||||
// http://opensource.org/licenses/bsd-license.php
|
||||
//
|
||||
//
|
||||
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// IdeBusPei Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions
|
||||
@@ -14,8 +14,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"IDE Bus PEI Module for Recovery"
|
||||
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
This module is one template module for Incompatible PCI Device Support protocol.
|
||||
It includes one incompatible pci devices list template.
|
||||
|
||||
|
||||
Incompatible PCI Device Support protocol allows the PCI bus driver to support
|
||||
resource allocation for some PCI devices that do not comply with the PCI Specification.
|
||||
|
||||
@@ -68,7 +68,7 @@ typedef struct {
|
||||
the configuration requirement.
|
||||
|
||||
@retval EFI_SUCCESS Successfully got ACPI resource for specified PCI device.
|
||||
@retval EFI_INVALID_PARAMETER Configuration is NULL.
|
||||
@retval EFI_INVALID_PARAMETER Configuration is NULL.
|
||||
@retval EFI_OUT_OF_RESOURCES No memory available.
|
||||
@retval EFI_UNSUPPORTED The specified PCI device wasn't supported.
|
||||
|
||||
@@ -233,7 +233,7 @@ IncompatiblePciDeviceSupportEntryPoint (
|
||||
the configuration requirement.
|
||||
|
||||
@retval EFI_SUCCESS Successfully got ACPI resource for specified PCI device.
|
||||
@retval EFI_INVALID_PARAMETER Configuration is NULL.
|
||||
@retval EFI_INVALID_PARAMETER Configuration is NULL.
|
||||
@retval EFI_OUT_OF_RESOURCES No memory available.
|
||||
@retval EFI_UNSUPPORTED The specified PCI device wasn't supported.
|
||||
|
||||
|
@@ -1,10 +1,10 @@
|
||||
## @file
|
||||
# PCI Incompatible device support module template.
|
||||
#
|
||||
# Installs EFI PCI Incompatible Device Support protocol and includes one incompatile
|
||||
# Installs EFI PCI Incompatible Device Support protocol and includes one incompatile
|
||||
# pci devices list template.
|
||||
#
|
||||
# Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// IncompatiblePciDeviceSupport Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -12,8 +12,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"Incompatible PCI Device Support DXE Driver"
|
||||
|
||||
|
||||
|
@@ -4,7 +4,7 @@
|
||||
# NvmExpressDxe driver is used to manage non-volatile memory subsystem which follows
|
||||
# NVM Express specification.
|
||||
#
|
||||
# Copyright (c) 2013 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -78,4 +78,4 @@
|
||||
#
|
||||
|
||||
[UserExtensions.TianoCore."ExtraFiles"]
|
||||
NvmExpressDxeExtra.uni
|
||||
NvmExpressDxeExtra.uni
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// NvmExpressDxe Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -12,8 +12,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"NVM Express DXE Driver"
|
||||
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
NvmExpressDxe driver is used to manage non-volatile memory subsystem which follows
|
||||
NVM Express specification.
|
||||
|
||||
Copyright (c) 2013 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -1003,7 +1003,7 @@ NvmeControllerInit (
|
||||
//
|
||||
if (Private->ControllerData == NULL) {
|
||||
Private->ControllerData = (NVME_ADMIN_CONTROLLER_DATA *)AllocateZeroPool (sizeof(NVME_ADMIN_CONTROLLER_DATA));
|
||||
|
||||
|
||||
if (Private->ControllerData == NULL) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
@@ -781,7 +781,7 @@ NvmExpressPassThru (
|
||||
// Copy the Respose Queue entry for this command to the callers response buffer
|
||||
//
|
||||
CopyMem(Packet->NvmeCompletion, Cq, sizeof(EFI_NVM_EXPRESS_COMPLETION));
|
||||
|
||||
|
||||
//
|
||||
// Dump every completion entry status for debugging.
|
||||
//
|
||||
|
@@ -140,7 +140,7 @@ PciBusDriverBindingSupported (
|
||||
//
|
||||
if (RemainingDevicePath != NULL) {
|
||||
//
|
||||
// Check if RemainingDevicePath is the End of Device Path Node,
|
||||
// Check if RemainingDevicePath is the End of Device Path Node,
|
||||
// if yes, go on checking other conditions
|
||||
//
|
||||
if (!IsDevicePathEnd (RemainingDevicePath)) {
|
||||
@@ -254,7 +254,7 @@ PciBusDriverBindingStart (
|
||||
//
|
||||
if (RemainingDevicePath != NULL) {
|
||||
//
|
||||
// Check if RemainingDevicePath is the End of Device Path Node,
|
||||
// Check if RemainingDevicePath is the End of Device Path Node,
|
||||
// if yes, return EFI_SUCCESS
|
||||
//
|
||||
if (IsDevicePathEnd (RemainingDevicePath)) {
|
||||
@@ -282,14 +282,14 @@ PciBusDriverBindingStart (
|
||||
//
|
||||
// If PCI Platform protocol doesn't exist, try to Pci Override Protocol.
|
||||
//
|
||||
if (gPciPlatformProtocol == NULL) {
|
||||
if (gPciPlatformProtocol == NULL) {
|
||||
gPciOverrideProtocol = NULL;
|
||||
gBS->LocateProtocol (
|
||||
&gEfiPciOverrideProtocolGuid,
|
||||
NULL,
|
||||
(VOID **) &gPciOverrideProtocol
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (mIoMmuProtocol == NULL) {
|
||||
gBS->LocateProtocol (
|
||||
@@ -315,7 +315,7 @@ PciBusDriverBindingStart (
|
||||
This->DriverBindingHandle,
|
||||
Controller,
|
||||
EFI_OPEN_PROTOCOL_GET_PROTOCOL
|
||||
);
|
||||
);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
//
|
||||
|
@@ -2,7 +2,7 @@
|
||||
# The PCI bus driver will probe all PCI devices and allocate MMIO and IO space for these devices.
|
||||
# Please use PCD feature flag PcdPciBusHotplugDeviceSupport to enable hot plug supporting.
|
||||
#
|
||||
# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -90,8 +90,8 @@
|
||||
gEfiPciHotPlugInitProtocolGuid ## SOMETIMES_CONSUMES
|
||||
gEfiPciHostBridgeResourceAllocationProtocolGuid ## TO_START
|
||||
gEfiPciPlatformProtocolGuid ## SOMETIMES_CONSUMES
|
||||
gEfiPciOverrideProtocolGuid ## SOMETIMES_CONSUMES
|
||||
gEfiPciEnumerationCompleteProtocolGuid ## PRODUCES
|
||||
gEfiPciOverrideProtocolGuid ## SOMETIMES_CONSUMES
|
||||
gEfiPciEnumerationCompleteProtocolGuid ## PRODUCES
|
||||
gEfiPciRootBridgeIoProtocolGuid ## TO_START
|
||||
gEfiIncompatiblePciDeviceSupportProtocolGuid ## SOMETIMES_CONSUMES
|
||||
gEfiLoadFile2ProtocolGuid ## SOMETIMES_PRODUCES
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// PciBusDxe Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -12,8 +12,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"PCI Bus DXE Driver"
|
||||
|
||||
|
||||
|
@@ -236,7 +236,7 @@ RegisterPciDevice (
|
||||
PciIo = &(PciIoDevice->PciIo);
|
||||
Data8 = PCI_INT_LINE_UNKNOWN;
|
||||
PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x3C, 1, &Data8);
|
||||
|
||||
|
||||
//
|
||||
// Process OpRom
|
||||
//
|
||||
@@ -296,7 +296,7 @@ RegisterPciDevice (
|
||||
PciIoDevice->PciIo.RomImage,
|
||||
PciIoDevice->PciIo.RomSize
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -187,7 +187,7 @@ PciRootBridgeEnumerator (
|
||||
AddrRangeMin = Configuration1->AddrRangeMin;
|
||||
Configuration1->AddrRangeMin = Configuration2->AddrRangeMin;
|
||||
Configuration2->AddrRangeMin = AddrRangeMin;
|
||||
|
||||
|
||||
AddrLen = Configuration1->AddrLen;
|
||||
Configuration1->AddrLen = Configuration2->AddrLen;
|
||||
Configuration2->AddrLen = AddrLen;
|
||||
@@ -234,7 +234,7 @@ PciRootBridgeEnumerator (
|
||||
Status = PciAllocateBusNumber (RootBridgeDev, SubBusNumber, PaddedBusRange, &SubBusNumber);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Find the bus range which contains the higest bus number, then returns the number of buses
|
||||
@@ -252,7 +252,7 @@ PciRootBridgeEnumerator (
|
||||
Configuration++;
|
||||
Desc = Configuration->Desc;
|
||||
Configuration->Desc = ACPI_END_TAG_DESCRIPTOR;
|
||||
|
||||
|
||||
//
|
||||
// Set bus number
|
||||
//
|
||||
@@ -267,7 +267,7 @@ PciRootBridgeEnumerator (
|
||||
//
|
||||
Configuration->Desc = Desc;
|
||||
(Configuration - 1)->AddrLen = AddrLen;
|
||||
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
@@ -1812,7 +1812,7 @@ NotifyPhase (
|
||||
Phase,
|
||||
ChipsetEntry
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Status = PciResAlloc->NotifyPhase (
|
||||
PciResAlloc,
|
||||
@@ -2043,7 +2043,7 @@ PciHotPlugRequestNotify (
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Status = gBS->OpenProtocol (
|
||||
Controller,
|
||||
&gEfiPciIoProtocolGuid,
|
||||
|
@@ -1736,7 +1736,7 @@ PciIovParseVfBar (
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Check the length again so as to keep compatible with some special bars
|
||||
//
|
||||
@@ -1745,7 +1745,7 @@ PciIovParseVfBar (
|
||||
PciIoDevice->VfPciBar[BarIndex].BaseAddress = 0;
|
||||
PciIoDevice->VfPciBar[BarIndex].Alignment = 0;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Increment number of bar
|
||||
//
|
||||
@@ -2185,7 +2185,7 @@ CreatePciIoDevice (
|
||||
//
|
||||
ParentPciIo = &Bridge->PciIo;
|
||||
ParentPciIo->Pci.Read (
|
||||
ParentPciIo,
|
||||
ParentPciIo,
|
||||
EfiPciIoWidthUint32,
|
||||
Bridge->PciExpressCapabilityOffset + EFI_PCIE_CAPABILITY_DEVICE_CAPABILITIES_2_OFFSET,
|
||||
1,
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
EFI PCI IO protocol functions implementation for PCI Bus module.
|
||||
|
||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -232,7 +232,7 @@ PciIoPollMem (
|
||||
|
||||
//
|
||||
// If request is not aligned, then convert request to EfiPciIoWithXXXUint8
|
||||
//
|
||||
//
|
||||
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
|
||||
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
|
||||
Status = PciIoMemRead (This, Width, BarIndex, Offset, 1, Result);
|
||||
@@ -262,7 +262,7 @@ PciIoPollMem (
|
||||
} while (TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Status = PciIoDevice->PciRootBridgeIo->PollMem (
|
||||
PciIoDevice->PciRootBridgeIo,
|
||||
(EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width,
|
||||
@@ -335,7 +335,7 @@ PciIoPollIo (
|
||||
|
||||
//
|
||||
// If request is not aligned, then convert request to EfiPciIoWithXXXUint8
|
||||
//
|
||||
//
|
||||
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
|
||||
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
|
||||
Status = PciIoIoRead (This, Width, BarIndex, Offset, 1, Result);
|
||||
@@ -365,7 +365,7 @@ PciIoPollIo (
|
||||
} while (TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Status = PciIoDevice->PciRootBridgeIo->PollIo (
|
||||
PciIoDevice->PciRootBridgeIo,
|
||||
(EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width,
|
||||
@@ -438,14 +438,14 @@ PciIoMemRead (
|
||||
|
||||
//
|
||||
// If request is not aligned, then convert request to EfiPciIoWithXXXUint8
|
||||
//
|
||||
//
|
||||
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
|
||||
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
|
||||
Count *= (UINTN)(1 << (Width & 0x03));
|
||||
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Status = PciIoDevice->PciRootBridgeIo->Mem.Read (
|
||||
PciIoDevice->PciRootBridgeIo,
|
||||
@@ -517,7 +517,7 @@ PciIoMemWrite (
|
||||
|
||||
//
|
||||
// If request is not aligned, then convert request to EfiPciIoWithXXXUint8
|
||||
//
|
||||
//
|
||||
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
|
||||
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
|
||||
Count *= (UINTN)(1 << (Width & 0x03));
|
||||
@@ -595,13 +595,13 @@ PciIoIoRead (
|
||||
|
||||
//
|
||||
// If request is not aligned, then convert request to EfiPciIoWithXXXUint8
|
||||
//
|
||||
//
|
||||
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
|
||||
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
|
||||
Count *= (UINTN)(1 << (Width & 0x03));
|
||||
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Status = PciIoDevice->PciRootBridgeIo->Io.Read (
|
||||
PciIoDevice->PciRootBridgeIo,
|
||||
@@ -673,13 +673,13 @@ PciIoIoWrite (
|
||||
|
||||
//
|
||||
// If request is not aligned, then convert request to EfiPciIoWithXXXUint8
|
||||
//
|
||||
//
|
||||
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
|
||||
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
|
||||
Count *= (UINTN)(1 << (Width & 0x03));
|
||||
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Status = PciIoDevice->PciRootBridgeIo->Io.Write (
|
||||
PciIoDevice->PciRootBridgeIo,
|
||||
@@ -739,16 +739,16 @@ PciIoConfigRead (
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// If request is not aligned, then convert request to EfiPciIoWithXXXUint8
|
||||
//
|
||||
//
|
||||
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
|
||||
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
|
||||
Count *= (UINTN)(1 << (Width & 0x03));
|
||||
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Status = PciIoDevice->PciRootBridgeIo->Pci.Read (
|
||||
PciIoDevice->PciRootBridgeIo,
|
||||
@@ -811,14 +811,14 @@ PciIoConfigWrite (
|
||||
|
||||
//
|
||||
// If request is not aligned, then convert request to EfiPciIoWithXXXUint8
|
||||
//
|
||||
//
|
||||
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
|
||||
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
|
||||
Count *= (UINTN)(1 << (Width & 0x03));
|
||||
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Status = PciIoDevice->PciRootBridgeIo->Pci.Write (
|
||||
PciIoDevice->PciRootBridgeIo,
|
||||
(EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width,
|
||||
@@ -910,13 +910,13 @@ PciIoCopyMem (
|
||||
|
||||
//
|
||||
// If request is not aligned, then convert request to EfiPciIoWithXXXUint8
|
||||
//
|
||||
//
|
||||
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
|
||||
if ((SrcOffset & ((1 << (Width & 0x03)) - 1)) != 0 || (DestOffset & ((1 << (Width & 0x03)) - 1)) != 0) {
|
||||
Count *= (UINTN)(1 << (Width & 0x03));
|
||||
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Status = PciIoDevice->PciRootBridgeIo->CopyMem (
|
||||
PciIoDevice->PciRootBridgeIo,
|
||||
@@ -1790,7 +1790,7 @@ PciIoAttributes (
|
||||
@param AddrRangeMin The base address of the MMIO.
|
||||
@param AddrLen The length of the MMIO.
|
||||
|
||||
@retval The AddrTranslationOffset from RootBridgeIo for the
|
||||
@retval The AddrTranslationOffset from RootBridgeIo for the
|
||||
specified range, or (UINT64) -1 if the range is not
|
||||
found in RootBridgeIo.
|
||||
**/
|
||||
|
@@ -269,11 +269,11 @@ DumpBridgeResource (
|
||||
|
||||
/**
|
||||
Find the corresponding resource node for the Device in child list of BridgeResource.
|
||||
|
||||
|
||||
@param[in] Device Pointer to PCI_IO_DEVICE.
|
||||
@param[in] BridgeResource Pointer to PCI_RESOURCE_NODE.
|
||||
@param[out] DeviceResources Pointer to a buffer to receive resources for the Device.
|
||||
|
||||
|
||||
@return Count of the resource descriptors returned.
|
||||
**/
|
||||
UINTN
|
||||
@@ -306,7 +306,7 @@ FindResourceNode (
|
||||
|
||||
/**
|
||||
Dump the resource map of all the devices under Bridge.
|
||||
|
||||
|
||||
@param[in] Bridge Bridge device instance.
|
||||
@param[in] Resources Resource descriptors for the bridge device.
|
||||
@param[in] ResourceCount Count of resource descriptors.
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
PCI Rom supporting funtions implementation for PCI Bus module.
|
||||
|
||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -342,7 +342,7 @@ ContainEfiImage (
|
||||
}
|
||||
|
||||
//
|
||||
// The PCI Data Structure must be DWORD aligned.
|
||||
// The PCI Data Structure must be DWORD aligned.
|
||||
//
|
||||
if (RomHeader->PcirOffset == 0 ||
|
||||
(RomHeader->PcirOffset & 3) != 0 ||
|
||||
@@ -471,8 +471,8 @@ LoadOpRomImage (
|
||||
FirstCheck = FALSE;
|
||||
OffsetPcir = RomHeader->PcirOffset;
|
||||
//
|
||||
// If the pointer to the PCI Data Structure is invalid, no further images can be located.
|
||||
// The PCI Data Structure must be DWORD aligned.
|
||||
// If the pointer to the PCI Data Structure is invalid, no further images can be located.
|
||||
// The PCI Data Structure must be DWORD aligned.
|
||||
//
|
||||
if (OffsetPcir == 0 ||
|
||||
(OffsetPcir & 3) != 0 ||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
PCI resouces support functions implemntation for PCI Bus module.
|
||||
|
||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -1116,7 +1116,7 @@ DegradeResource (
|
||||
PMem64Node,
|
||||
TRUE
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// if both PMEM64 and PMEM32 requests from child devices, which can not be satisfied
|
||||
|
@@ -537,7 +537,7 @@ GetElapsedTick (
|
||||
)
|
||||
{
|
||||
UINT64 PreviousTick;
|
||||
|
||||
|
||||
PreviousTick = *CurrentTick;
|
||||
*CurrentTick = GetPerformanceCounter();
|
||||
if (StartTick < EndTick) {
|
||||
|
@@ -3,13 +3,13 @@
|
||||
//
|
||||
// Produces the Serial I/O protocol for standard UARTS using Super I/O or PCI I/O.
|
||||
//
|
||||
// Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions of the BSD License
|
||||
// which accompanies this distribution. The full text of the license may be found at
|
||||
// http://opensource.org/licenses/bsd-license.php
|
||||
//
|
||||
//
|
||||
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// PciSioSerialDxe Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -13,6 +13,6 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"PCI SIO UART Serial Bus DXE Driver"
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Serial driver for PCI or SIO UARTS.
|
||||
|
||||
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -94,7 +94,7 @@ SERIAL_DEV gSerialDevTemplate = {
|
||||
Check the device path node whether it's the Flow Control node or not.
|
||||
|
||||
@param[in] FlowControl The device path node to be checked.
|
||||
|
||||
|
||||
@retval TRUE It's the Flow Control node.
|
||||
@retval FALSE It's not.
|
||||
|
||||
@@ -114,9 +114,9 @@ IsUartFlowControlDevicePathNode (
|
||||
/**
|
||||
The user Entry Point for module PciSioSerial. The user code starts with this function.
|
||||
|
||||
@param[in] ImageHandle The firmware allocated handle for the EFI image.
|
||||
@param[in] ImageHandle The firmware allocated handle for the EFI image.
|
||||
@param[in] SystemTable A pointer to the EFI System Table.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The entry point is executed successfully.
|
||||
@retval other Some error occurs when executing this entry point.
|
||||
|
||||
@@ -396,7 +396,7 @@ SerialControllerDriverSupported (
|
||||
if (EFI_ERROR (Status)) {
|
||||
Status = IsPciSerialController (Controller);
|
||||
}
|
||||
return Status;
|
||||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Header file for PciSioSerial Driver
|
||||
|
||||
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -497,7 +497,7 @@ SerialFifoFull (
|
||||
|
||||
/**
|
||||
Detect whether specific FIFO is empty or not.
|
||||
|
||||
|
||||
@param Fifo A pointer to the Data Structure SERIAL_DEV_FIFO
|
||||
|
||||
@return whether specific FIFO is empty or not
|
||||
@@ -777,7 +777,7 @@ SkipControllerDevicePathNode (
|
||||
Check the device path node whether it's the Flow Control node or not.
|
||||
|
||||
@param[in] FlowControl The device path node to be checked.
|
||||
|
||||
|
||||
@retval TRUE It's the Flow Control node.
|
||||
@retval FALSE It's not.
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
SerialIo implementation for PCI or SIO UARTs.
|
||||
|
||||
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -92,7 +92,7 @@ VerifyUartParameters (
|
||||
((DataBits >= 6) && (DataBits <= 8) && (StopBits == OneFiveStopBits))
|
||||
) {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Do not verify the baud rate if clock rate is unknown (0).
|
||||
@@ -169,8 +169,8 @@ VerifyUartParameters (
|
||||
}
|
||||
|
||||
//
|
||||
// ActualBaudRate is higher than requested baud rate and more than 4%
|
||||
// higher than the requested value. Increment Divisor if it is less
|
||||
// ActualBaudRate is higher than requested baud rate and more than 4%
|
||||
// higher than the requested value. Increment Divisor if it is less
|
||||
// than MAX_UINT16 and computed baud rate with new divisor.
|
||||
//
|
||||
if (ComputedDivisor == MAX_UINT16) {
|
||||
@@ -212,7 +212,7 @@ SerialFifoFull (
|
||||
|
||||
/**
|
||||
Detect whether specific FIFO is empty or not.
|
||||
|
||||
|
||||
@param Fifo A pointer to the Data Structure SERIAL_DEV_FIFO
|
||||
|
||||
@return whether specific FIFO is empty or not
|
||||
@@ -363,7 +363,7 @@ SerialReceiveTransmit (
|
||||
Data = READ_RBR (SerialDevice);
|
||||
|
||||
SerialFifoAdd (&SerialDevice->Receive, Data);
|
||||
|
||||
|
||||
//
|
||||
// For full handshake flow control, if receive buffer full
|
||||
// tell the peer to stop sending data.
|
||||
@@ -1065,7 +1065,7 @@ SerialWrite (
|
||||
NULL
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
for (Index = 0; Index < *BufferSize; Index++) {
|
||||
SerialFifoAdd (&SerialDevice->Transmit, CharBuffer[Index]);
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
UEFI Component Name(2) protocol implementation for Sata Controller driver.
|
||||
|
||||
Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -72,7 +72,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mSataControllerController
|
||||
@param DriverName A pointer to the Unicode string to return. This Unicode string
|
||||
is the name of the driver specified by This in the language
|
||||
specified by Language.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The Unicode string for the Driver specified by This
|
||||
and the language specified by Language was returned
|
||||
in DriverName.
|
||||
@@ -100,7 +100,7 @@ SataControllerComponentNameGetDriverName (
|
||||
|
||||
/**
|
||||
Retrieves a Unicode string that is the user readable name of the controller
|
||||
that is being managed by an UEFI Driver.
|
||||
that is being managed by an UEFI Driver.
|
||||
|
||||
@param This A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance.
|
||||
@param ControllerHandle The handle of a controller that the driver specified by
|
||||
@@ -123,7 +123,7 @@ SataControllerComponentNameGetDriverName (
|
||||
ControllerHandle and ChildHandle in the language
|
||||
specified by Language from the point of view of the
|
||||
driver specified by This.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The Unicode string for the user readable name in the
|
||||
language specified by Language for the driver
|
||||
specified by This was returned in DriverName.
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
This driver module produces IDE_CONTROLLER_INIT protocol for Sata Controllers.
|
||||
|
||||
Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2018, ARM Ltd. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -46,7 +46,7 @@ AhciReadReg (
|
||||
UINT32 Data;
|
||||
|
||||
ASSERT (PciIo != NULL);
|
||||
|
||||
|
||||
Data = 0;
|
||||
|
||||
PciIo->Mem.Read (
|
||||
@@ -242,9 +242,9 @@ CalculateBestUdmaMode (
|
||||
/**
|
||||
The Entry Point of module. It follows the standard UEFI driver model.
|
||||
|
||||
@param[in] ImageHandle The firmware allocated handle for the EFI image.
|
||||
@param[in] ImageHandle The firmware allocated handle for the EFI image.
|
||||
@param[in] SystemTable A pointer to the EFI System Table.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The entry point is executed successfully.
|
||||
@retval other Some error occurs when executing this entry point.
|
||||
|
||||
@@ -338,7 +338,7 @@ SataControllerSupported (
|
||||
}
|
||||
|
||||
/**
|
||||
This routine is called right after the .Supported() called and
|
||||
This routine is called right after the .Supported() called and
|
||||
Start this driver on ControllerHandle.
|
||||
|
||||
@param This Protocol instance pointer.
|
||||
@@ -558,7 +558,7 @@ Done:
|
||||
@param This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
|
||||
@param Controller A handle to the device being stopped.
|
||||
@param NumberOfChildren The number of child device handles in ChildHandleBuffer.
|
||||
@param ChildHandleBuffer An array of child handles to be freed.
|
||||
@param ChildHandleBuffer An array of child handles to be freed.
|
||||
|
||||
@retval EFI_SUCCESS This driver is removed from this device.
|
||||
@retval other Some error occurs when removing this driver from this device.
|
||||
@@ -679,34 +679,34 @@ FlatDeviceIndex (
|
||||
//
|
||||
/**
|
||||
Returns the information about the specified IDE channel.
|
||||
|
||||
|
||||
This function can be used to obtain information about a particular IDE channel.
|
||||
The driver entity uses this information during the enumeration process.
|
||||
|
||||
If Enabled is set to FALSE, the driver entity will not scan the channel. Note
|
||||
The driver entity uses this information during the enumeration process.
|
||||
|
||||
If Enabled is set to FALSE, the driver entity will not scan the channel. Note
|
||||
that it will not prevent an operating system driver from scanning the channel.
|
||||
|
||||
For most of today's controllers, MaxDevices will either be 1 or 2. For SATA
|
||||
controllers, this value will always be 1. SATA configurations can contain SATA
|
||||
|
||||
For most of today's controllers, MaxDevices will either be 1 or 2. For SATA
|
||||
controllers, this value will always be 1. SATA configurations can contain SATA
|
||||
port multipliers. SATA port multipliers behave like SATA bridges and can support
|
||||
up to 16 devices on the other side. If a SATA port out of the IDE controller
|
||||
is connected to a port multiplier, MaxDevices will be set to the number of SATA
|
||||
devices that the port multiplier supports. Because today's port multipliers
|
||||
support up to fifteen SATA devices, this number can be as large as fifteen. The IDE
|
||||
bus driver is required to scan for the presence of port multipliers behind an SATA
|
||||
controller and enumerate up to MaxDevices number of devices behind the port
|
||||
multiplier.
|
||||
|
||||
In this context, the devices behind a port multiplier constitute a channel.
|
||||
|
||||
up to 16 devices on the other side. If a SATA port out of the IDE controller
|
||||
is connected to a port multiplier, MaxDevices will be set to the number of SATA
|
||||
devices that the port multiplier supports. Because today's port multipliers
|
||||
support up to fifteen SATA devices, this number can be as large as fifteen. The IDE
|
||||
bus driver is required to scan for the presence of port multipliers behind an SATA
|
||||
controller and enumerate up to MaxDevices number of devices behind the port
|
||||
multiplier.
|
||||
|
||||
In this context, the devices behind a port multiplier constitute a channel.
|
||||
|
||||
@param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
|
||||
@param[in] Channel Zero-based channel number.
|
||||
@param[out] Enabled TRUE if this channel is enabled. Disabled channels
|
||||
@param[out] Enabled TRUE if this channel is enabled. Disabled channels
|
||||
are not scanned to see if any devices are present.
|
||||
@param[out] MaxDevices The maximum number of IDE devices that the bus driver
|
||||
can expect on this channel. For the ATA/ATAPI
|
||||
specification, version 6, this number will either be
|
||||
one or two. For Serial ATA (SATA) configurations with a
|
||||
can expect on this channel. For the ATA/ATAPI
|
||||
specification, version 6, this number will either be
|
||||
one or two. For Serial ATA (SATA) configurations with a
|
||||
port multiplier, this number can be as large as fifteen.
|
||||
|
||||
@retval EFI_SUCCESS Information was returned without any errors.
|
||||
@@ -739,13 +739,13 @@ IdeInitGetChannelInfo (
|
||||
/**
|
||||
The notifications from the driver entity that it is about to enter a certain
|
||||
phase of the IDE channel enumeration process.
|
||||
|
||||
This function can be used to notify the IDE controller driver to perform
|
||||
specific actions, including any chipset-specific initialization, so that the
|
||||
chipset is ready to enter the next phase. Seven notification points are defined
|
||||
at this time.
|
||||
|
||||
More synchronization points may be added as required in the future.
|
||||
|
||||
This function can be used to notify the IDE controller driver to perform
|
||||
specific actions, including any chipset-specific initialization, so that the
|
||||
chipset is ready to enter the next phase. Seven notification points are defined
|
||||
at this time.
|
||||
|
||||
More synchronization points may be added as required in the future.
|
||||
|
||||
@param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL
|
||||
instance.
|
||||
@@ -755,9 +755,9 @@ IdeInitGetChannelInfo (
|
||||
@retval EFI_SUCCESS The notification was accepted without any errors.
|
||||
@retval EFI_UNSUPPORTED Phase is not supported.
|
||||
@retval EFI_INVALID_PARAMETER Channel is invalid (Channel >= ChannelCount).
|
||||
@retval EFI_NOT_READY This phase cannot be entered at this time; for
|
||||
example, an attempt was made to enter a Phase
|
||||
without having entered one or more previous
|
||||
@retval EFI_NOT_READY This phase cannot be entered at this time; for
|
||||
example, an attempt was made to enter a Phase
|
||||
without having entered one or more previous
|
||||
Phase.
|
||||
|
||||
**/
|
||||
@@ -775,32 +775,32 @@ IdeInitNotifyPhase (
|
||||
/**
|
||||
Submits the device information to the IDE controller driver.
|
||||
|
||||
This function is used by the driver entity to pass detailed information about
|
||||
a particular device to the IDE controller driver. The driver entity obtains
|
||||
This function is used by the driver entity to pass detailed information about
|
||||
a particular device to the IDE controller driver. The driver entity obtains
|
||||
this information by issuing an ATA or ATAPI IDENTIFY_DEVICE command. IdentifyData
|
||||
is the pointer to the response data buffer. The IdentifyData buffer is owned
|
||||
by the driver entity, and the IDE controller driver must make a local copy
|
||||
of the entire buffer or parts of the buffer as needed. The original IdentifyData
|
||||
is the pointer to the response data buffer. The IdentifyData buffer is owned
|
||||
by the driver entity, and the IDE controller driver must make a local copy
|
||||
of the entire buffer or parts of the buffer as needed. The original IdentifyData
|
||||
buffer pointer may not be valid when
|
||||
|
||||
|
||||
- EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() or
|
||||
- EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode() is called at a later point.
|
||||
|
||||
The IDE controller driver may consult various fields of EFI_IDENTIFY_DATA to
|
||||
compute the optimum mode for the device. These fields are not limited to the
|
||||
timing information. For example, an implementation of the IDE controller driver
|
||||
may examine the vendor and type/mode field to match known bad drives.
|
||||
|
||||
The driver entity may submit drive information in any order, as long as it
|
||||
submits information for all the devices belonging to the enumeration group
|
||||
|
||||
The IDE controller driver may consult various fields of EFI_IDENTIFY_DATA to
|
||||
compute the optimum mode for the device. These fields are not limited to the
|
||||
timing information. For example, an implementation of the IDE controller driver
|
||||
may examine the vendor and type/mode field to match known bad drives.
|
||||
|
||||
The driver entity may submit drive information in any order, as long as it
|
||||
submits information for all the devices belonging to the enumeration group
|
||||
before EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() is called for any device
|
||||
in that enumeration group. If a device is absent, EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
|
||||
should be called with IdentifyData set to NULL. The IDE controller driver may
|
||||
not have any other mechanism to know whether a device is present or not. Therefore,
|
||||
setting IdentifyData to NULL does not constitute an error condition.
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData() can be called only once for a
|
||||
given (Channel, Device) pair.
|
||||
|
||||
should be called with IdentifyData set to NULL. The IDE controller driver may
|
||||
not have any other mechanism to know whether a device is present or not. Therefore,
|
||||
setting IdentifyData to NULL does not constitute an error condition.
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData() can be called only once for a
|
||||
given (Channel, Device) pair.
|
||||
|
||||
@param[in] This A pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
|
||||
@param[in] Channel Zero-based channel number.
|
||||
@param[in] Device Zero-based device number on the Channel.
|
||||
@@ -853,31 +853,31 @@ IdeInitSubmitData (
|
||||
/**
|
||||
Disqualifies specific modes for an IDE device.
|
||||
|
||||
This function allows the driver entity or other drivers (such as platform
|
||||
This function allows the driver entity or other drivers (such as platform
|
||||
drivers) to reject certain timing modes and request the IDE controller driver
|
||||
to recalculate modes. This function allows the driver entity and the IDE
|
||||
controller driver to negotiate the timings on a per-device basis. This function
|
||||
is useful in the case of drives that lie about their capabilities. An example
|
||||
is when the IDE device fails to accept the timing modes that are calculated
|
||||
to recalculate modes. This function allows the driver entity and the IDE
|
||||
controller driver to negotiate the timings on a per-device basis. This function
|
||||
is useful in the case of drives that lie about their capabilities. An example
|
||||
is when the IDE device fails to accept the timing modes that are calculated
|
||||
by the IDE controller driver based on the response to the Identify Drive command.
|
||||
|
||||
If the driver entity does not want to limit the ATA timing modes and leave that
|
||||
decision to the IDE controller driver, it can either not call this function for
|
||||
the given device or call this function and set the Valid flag to FALSE for all
|
||||
If the driver entity does not want to limit the ATA timing modes and leave that
|
||||
decision to the IDE controller driver, it can either not call this function for
|
||||
the given device or call this function and set the Valid flag to FALSE for all
|
||||
modes that are listed in EFI_ATA_COLLECTIVE_MODE.
|
||||
|
||||
The driver entity may disqualify modes for a device in any order and any number
|
||||
|
||||
The driver entity may disqualify modes for a device in any order and any number
|
||||
of times.
|
||||
|
||||
This function can be called multiple times to invalidate multiple modes of the
|
||||
same type (e.g., Programmed Input/Output [PIO] modes 3 and 4). See the ATA/ATAPI
|
||||
specification for more information on PIO modes.
|
||||
|
||||
|
||||
This function can be called multiple times to invalidate multiple modes of the
|
||||
same type (e.g., Programmed Input/Output [PIO] modes 3 and 4). See the ATA/ATAPI
|
||||
specification for more information on PIO modes.
|
||||
|
||||
For Serial ATA (SATA) controllers, this member function can be used to disqualify
|
||||
a higher transfer rate mode on a given channel. For example, a platform driver
|
||||
may inform the IDE controller driver to not use second-generation (Gen2) speeds
|
||||
may inform the IDE controller driver to not use second-generation (Gen2) speeds
|
||||
for a certain SATA drive.
|
||||
|
||||
|
||||
@param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
|
||||
@param[in] Channel The zero-based channel number.
|
||||
@param[in] Device The zero-based device number on the Channel.
|
||||
@@ -888,7 +888,7 @@ IdeInitSubmitData (
|
||||
@retval EFI_INVALID_PARAMETER Channel is invalid (Channel >= ChannelCount).
|
||||
@retval EFI_INVALID_PARAMETER Device is invalid.
|
||||
@retval EFI_INVALID_PARAMETER IdentifyData is NULL.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -928,39 +928,39 @@ IdeInitDisqualifyMode (
|
||||
Returns the information about the optimum modes for the specified IDE device.
|
||||
|
||||
This function is used by the driver entity to obtain the optimum ATA modes for
|
||||
a specific device. The IDE controller driver takes into account the following
|
||||
a specific device. The IDE controller driver takes into account the following
|
||||
while calculating the mode:
|
||||
- The IdentifyData inputs to EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
|
||||
- The BadModes inputs to EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode()
|
||||
|
||||
The driver entity is required to call EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
|
||||
for all the devices that belong to an enumeration group before calling
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() for any device in the same group.
|
||||
|
||||
The IDE controller driver will use controller- and possibly platform-specific
|
||||
algorithms to arrive at SupportedModes. The IDE controller may base its
|
||||
decision on user preferences and other considerations as well. This function
|
||||
may be called multiple times because the driver entity may renegotiate the mode
|
||||
The driver entity is required to call EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
|
||||
for all the devices that belong to an enumeration group before calling
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() for any device in the same group.
|
||||
|
||||
The IDE controller driver will use controller- and possibly platform-specific
|
||||
algorithms to arrive at SupportedModes. The IDE controller may base its
|
||||
decision on user preferences and other considerations as well. This function
|
||||
may be called multiple times because the driver entity may renegotiate the mode
|
||||
with the IDE controller driver using EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode().
|
||||
|
||||
The driver entity may collect timing information for various devices in any
|
||||
|
||||
The driver entity may collect timing information for various devices in any
|
||||
order. The driver entity is responsible for making sure that all the dependencies
|
||||
are satisfied. For example, the SupportedModes information for device A that
|
||||
was previously returned may become stale after a call to
|
||||
are satisfied. For example, the SupportedModes information for device A that
|
||||
was previously returned may become stale after a call to
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode() for device B.
|
||||
|
||||
The buffer SupportedModes is allocated by the callee because the caller does
|
||||
not necessarily know the size of the buffer. The type EFI_ATA_COLLECTIVE_MODE
|
||||
is defined in a way that allows for future extensibility and can be of variable
|
||||
length. This memory pool should be deallocated by the caller when it is no
|
||||
longer necessary.
|
||||
|
||||
The IDE controller driver for a Serial ATA (SATA) controller can use this
|
||||
member function to force a lower speed (first-generation [Gen1] speeds on a
|
||||
second-generation [Gen2]-capable hardware). The IDE controller driver can
|
||||
also allow the driver entity to stay with the speed that has been negotiated
|
||||
|
||||
The buffer SupportedModes is allocated by the callee because the caller does
|
||||
not necessarily know the size of the buffer. The type EFI_ATA_COLLECTIVE_MODE
|
||||
is defined in a way that allows for future extensibility and can be of variable
|
||||
length. This memory pool should be deallocated by the caller when it is no
|
||||
longer necessary.
|
||||
|
||||
The IDE controller driver for a Serial ATA (SATA) controller can use this
|
||||
member function to force a lower speed (first-generation [Gen1] speeds on a
|
||||
second-generation [Gen2]-capable hardware). The IDE controller driver can
|
||||
also allow the driver entity to stay with the speed that has been negotiated
|
||||
by the physical layer.
|
||||
|
||||
|
||||
@param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
|
||||
@param[in] Channel A zero-based channel number.
|
||||
@param[in] Device A zero-based device number on the Channel.
|
||||
@@ -968,13 +968,13 @@ IdeInitDisqualifyMode (
|
||||
|
||||
@retval EFI_SUCCESS SupportedModes was returned.
|
||||
@retval EFI_INVALID_PARAMETER Channel is invalid (Channel >= ChannelCount).
|
||||
@retval EFI_INVALID_PARAMETER Device is invalid.
|
||||
@retval EFI_INVALID_PARAMETER Device is invalid.
|
||||
@retval EFI_INVALID_PARAMETER SupportedModes is NULL.
|
||||
@retval EFI_NOT_READY Modes cannot be calculated due to a lack of
|
||||
data. This error may happen if
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
|
||||
and EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyData()
|
||||
were not called for at least one drive in the
|
||||
@retval EFI_NOT_READY Modes cannot be calculated due to a lack of
|
||||
data. This error may happen if
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
|
||||
and EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyData()
|
||||
were not called for at least one drive in the
|
||||
same enumeration group.
|
||||
|
||||
**/
|
||||
@@ -1061,9 +1061,9 @@ IdeInitCalculateMode (
|
||||
Commands the IDE controller driver to program the IDE controller hardware
|
||||
so that the specified device can operate at the specified mode.
|
||||
|
||||
This function is used by the driver entity to instruct the IDE controller
|
||||
driver to program the IDE controller hardware to the specified modes. This
|
||||
function can be called only once for a particular device. For a Serial ATA
|
||||
This function is used by the driver entity to instruct the IDE controller
|
||||
driver to program the IDE controller hardware to the specified modes. This
|
||||
function can be called only once for a particular device. For a Serial ATA
|
||||
(SATA) Advanced Host Controller Interface (AHCI) controller, no controller-
|
||||
specific programming may be required.
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Header file for Sata Controller driver.
|
||||
|
||||
Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2018, ARM Ltd. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -146,7 +146,7 @@ SataControllerSupported (
|
||||
);
|
||||
|
||||
/**
|
||||
This routine is called right after the .Supported() called and
|
||||
This routine is called right after the .Supported() called and
|
||||
Start this driver on ControllerHandle.
|
||||
|
||||
@param This Protocol instance pointer.
|
||||
@@ -173,7 +173,7 @@ SataControllerStart (
|
||||
@param This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
|
||||
@param Controller A handle to the device being stopped.
|
||||
@param NumberOfChildren The number of child device handles in ChildHandleBuffer.
|
||||
@param ChildHandleBuffer An array of child handles to be freed.
|
||||
@param ChildHandleBuffer An array of child handles to be freed.
|
||||
|
||||
@retval EFI_SUCCESS This driver is removed from this device.
|
||||
@retval other Some error occurs when removing this driver from this device.
|
||||
@@ -193,34 +193,34 @@ SataControllerStop (
|
||||
//
|
||||
/**
|
||||
Returns the information about the specified IDE channel.
|
||||
|
||||
|
||||
This function can be used to obtain information about a particular IDE channel.
|
||||
The driver entity uses this information during the enumeration process.
|
||||
|
||||
If Enabled is set to FALSE, the driver entity will not scan the channel. Note
|
||||
The driver entity uses this information during the enumeration process.
|
||||
|
||||
If Enabled is set to FALSE, the driver entity will not scan the channel. Note
|
||||
that it will not prevent an operating system driver from scanning the channel.
|
||||
|
||||
For most of today's controllers, MaxDevices will either be 1 or 2. For SATA
|
||||
controllers, this value will always be 1. SATA configurations can contain SATA
|
||||
|
||||
For most of today's controllers, MaxDevices will either be 1 or 2. For SATA
|
||||
controllers, this value will always be 1. SATA configurations can contain SATA
|
||||
port multipliers. SATA port multipliers behave like SATA bridges and can support
|
||||
up to 16 devices on the other side. If a SATA port out of the IDE controller
|
||||
is connected to a port multiplier, MaxDevices will be set to the number of SATA
|
||||
devices that the port multiplier supports. Because today's port multipliers
|
||||
support up to fifteen SATA devices, this number can be as large as fifteen. The IDE
|
||||
bus driver is required to scan for the presence of port multipliers behind an SATA
|
||||
controller and enumerate up to MaxDevices number of devices behind the port
|
||||
multiplier.
|
||||
|
||||
In this context, the devices behind a port multiplier constitute a channel.
|
||||
|
||||
up to 16 devices on the other side. If a SATA port out of the IDE controller
|
||||
is connected to a port multiplier, MaxDevices will be set to the number of SATA
|
||||
devices that the port multiplier supports. Because today's port multipliers
|
||||
support up to fifteen SATA devices, this number can be as large as fifteen. The IDE
|
||||
bus driver is required to scan for the presence of port multipliers behind an SATA
|
||||
controller and enumerate up to MaxDevices number of devices behind the port
|
||||
multiplier.
|
||||
|
||||
In this context, the devices behind a port multiplier constitute a channel.
|
||||
|
||||
@param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
|
||||
@param[in] Channel Zero-based channel number.
|
||||
@param[out] Enabled TRUE if this channel is enabled. Disabled channels
|
||||
@param[out] Enabled TRUE if this channel is enabled. Disabled channels
|
||||
are not scanned to see if any devices are present.
|
||||
@param[out] MaxDevices The maximum number of IDE devices that the bus driver
|
||||
can expect on this channel. For the ATA/ATAPI
|
||||
specification, version 6, this number will either be
|
||||
one or two. For Serial ATA (SATA) configurations with a
|
||||
can expect on this channel. For the ATA/ATAPI
|
||||
specification, version 6, this number will either be
|
||||
one or two. For Serial ATA (SATA) configurations with a
|
||||
port multiplier, this number can be as large as fifteen.
|
||||
|
||||
|
||||
@@ -240,13 +240,13 @@ IdeInitGetChannelInfo (
|
||||
/**
|
||||
The notifications from the driver entity that it is about to enter a certain
|
||||
phase of the IDE channel enumeration process.
|
||||
|
||||
This function can be used to notify the IDE controller driver to perform
|
||||
specific actions, including any chipset-specific initialization, so that the
|
||||
chipset is ready to enter the next phase. Seven notification points are defined
|
||||
at this time.
|
||||
|
||||
More synchronization points may be added as required in the future.
|
||||
|
||||
This function can be used to notify the IDE controller driver to perform
|
||||
specific actions, including any chipset-specific initialization, so that the
|
||||
chipset is ready to enter the next phase. Seven notification points are defined
|
||||
at this time.
|
||||
|
||||
More synchronization points may be added as required in the future.
|
||||
|
||||
@param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL
|
||||
instance.
|
||||
@@ -256,9 +256,9 @@ IdeInitGetChannelInfo (
|
||||
@retval EFI_SUCCESS The notification was accepted without any errors.
|
||||
@retval EFI_UNSUPPORTED Phase is not supported.
|
||||
@retval EFI_INVALID_PARAMETER Channel is invalid (Channel >= ChannelCount).
|
||||
@retval EFI_NOT_READY This phase cannot be entered at this time; for
|
||||
example, an attempt was made to enter a Phase
|
||||
without having entered one or more previous
|
||||
@retval EFI_NOT_READY This phase cannot be entered at this time; for
|
||||
example, an attempt was made to enter a Phase
|
||||
without having entered one or more previous
|
||||
Phase.
|
||||
|
||||
**/
|
||||
@@ -273,32 +273,32 @@ IdeInitNotifyPhase (
|
||||
/**
|
||||
Submits the device information to the IDE controller driver.
|
||||
|
||||
This function is used by the driver entity to pass detailed information about
|
||||
a particular device to the IDE controller driver. The driver entity obtains
|
||||
This function is used by the driver entity to pass detailed information about
|
||||
a particular device to the IDE controller driver. The driver entity obtains
|
||||
this information by issuing an ATA or ATAPI IDENTIFY_DEVICE command. IdentifyData
|
||||
is the pointer to the response data buffer. The IdentifyData buffer is owned
|
||||
by the driver entity, and the IDE controller driver must make a local copy
|
||||
of the entire buffer or parts of the buffer as needed. The original IdentifyData
|
||||
is the pointer to the response data buffer. The IdentifyData buffer is owned
|
||||
by the driver entity, and the IDE controller driver must make a local copy
|
||||
of the entire buffer or parts of the buffer as needed. The original IdentifyData
|
||||
buffer pointer may not be valid when
|
||||
|
||||
|
||||
- EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() or
|
||||
- EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode() is called at a later point.
|
||||
|
||||
The IDE controller driver may consult various fields of EFI_IDENTIFY_DATA to
|
||||
compute the optimum mode for the device. These fields are not limited to the
|
||||
timing information. For example, an implementation of the IDE controller driver
|
||||
may examine the vendor and type/mode field to match known bad drives.
|
||||
|
||||
The driver entity may submit drive information in any order, as long as it
|
||||
submits information for all the devices belonging to the enumeration group
|
||||
|
||||
The IDE controller driver may consult various fields of EFI_IDENTIFY_DATA to
|
||||
compute the optimum mode for the device. These fields are not limited to the
|
||||
timing information. For example, an implementation of the IDE controller driver
|
||||
may examine the vendor and type/mode field to match known bad drives.
|
||||
|
||||
The driver entity may submit drive information in any order, as long as it
|
||||
submits information for all the devices belonging to the enumeration group
|
||||
before EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() is called for any device
|
||||
in that enumeration group. If a device is absent, EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
|
||||
should be called with IdentifyData set to NULL. The IDE controller driver may
|
||||
not have any other mechanism to know whether a device is present or not. Therefore,
|
||||
setting IdentifyData to NULL does not constitute an error condition.
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData() can be called only once for a
|
||||
given (Channel, Device) pair.
|
||||
|
||||
should be called with IdentifyData set to NULL. The IDE controller driver may
|
||||
not have any other mechanism to know whether a device is present or not. Therefore,
|
||||
setting IdentifyData to NULL does not constitute an error condition.
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData() can be called only once for a
|
||||
given (Channel, Device) pair.
|
||||
|
||||
@param[in] This A pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
|
||||
@param[in] Channel Zero-based channel number.
|
||||
@param[in] Device Zero-based device number on the Channel.
|
||||
@@ -321,31 +321,31 @@ IdeInitSubmitData (
|
||||
/**
|
||||
Disqualifies specific modes for an IDE device.
|
||||
|
||||
This function allows the driver entity or other drivers (such as platform
|
||||
This function allows the driver entity or other drivers (such as platform
|
||||
drivers) to reject certain timing modes and request the IDE controller driver
|
||||
to recalculate modes. This function allows the driver entity and the IDE
|
||||
controller driver to negotiate the timings on a per-device basis. This function
|
||||
is useful in the case of drives that lie about their capabilities. An example
|
||||
is when the IDE device fails to accept the timing modes that are calculated
|
||||
to recalculate modes. This function allows the driver entity and the IDE
|
||||
controller driver to negotiate the timings on a per-device basis. This function
|
||||
is useful in the case of drives that lie about their capabilities. An example
|
||||
is when the IDE device fails to accept the timing modes that are calculated
|
||||
by the IDE controller driver based on the response to the Identify Drive command.
|
||||
|
||||
If the driver entity does not want to limit the ATA timing modes and leave that
|
||||
decision to the IDE controller driver, it can either not call this function for
|
||||
the given device or call this function and set the Valid flag to FALSE for all
|
||||
If the driver entity does not want to limit the ATA timing modes and leave that
|
||||
decision to the IDE controller driver, it can either not call this function for
|
||||
the given device or call this function and set the Valid flag to FALSE for all
|
||||
modes that are listed in EFI_ATA_COLLECTIVE_MODE.
|
||||
|
||||
The driver entity may disqualify modes for a device in any order and any number
|
||||
|
||||
The driver entity may disqualify modes for a device in any order and any number
|
||||
of times.
|
||||
|
||||
This function can be called multiple times to invalidate multiple modes of the
|
||||
same type (e.g., Programmed Input/Output [PIO] modes 3 and 4). See the ATA/ATAPI
|
||||
specification for more information on PIO modes.
|
||||
|
||||
|
||||
This function can be called multiple times to invalidate multiple modes of the
|
||||
same type (e.g., Programmed Input/Output [PIO] modes 3 and 4). See the ATA/ATAPI
|
||||
specification for more information on PIO modes.
|
||||
|
||||
For Serial ATA (SATA) controllers, this member function can be used to disqualify
|
||||
a higher transfer rate mode on a given channel. For example, a platform driver
|
||||
may inform the IDE controller driver to not use second-generation (Gen2) speeds
|
||||
may inform the IDE controller driver to not use second-generation (Gen2) speeds
|
||||
for a certain SATA drive.
|
||||
|
||||
|
||||
@param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
|
||||
@param[in] Channel The zero-based channel number.
|
||||
@param[in] Device The zero-based device number on the Channel.
|
||||
@@ -356,7 +356,7 @@ IdeInitSubmitData (
|
||||
@retval EFI_INVALID_PARAMETER Channel is invalid (Channel >= ChannelCount).
|
||||
@retval EFI_INVALID_PARAMETER Device is invalid.
|
||||
@retval EFI_INVALID_PARAMETER IdentifyData is NULL.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -371,39 +371,39 @@ IdeInitDisqualifyMode (
|
||||
Returns the information about the optimum modes for the specified IDE device.
|
||||
|
||||
This function is used by the driver entity to obtain the optimum ATA modes for
|
||||
a specific device. The IDE controller driver takes into account the following
|
||||
a specific device. The IDE controller driver takes into account the following
|
||||
while calculating the mode:
|
||||
- The IdentifyData inputs to EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
|
||||
- The BadModes inputs to EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode()
|
||||
|
||||
The driver entity is required to call EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
|
||||
for all the devices that belong to an enumeration group before calling
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() for any device in the same group.
|
||||
|
||||
The IDE controller driver will use controller- and possibly platform-specific
|
||||
algorithms to arrive at SupportedModes. The IDE controller may base its
|
||||
decision on user preferences and other considerations as well. This function
|
||||
may be called multiple times because the driver entity may renegotiate the mode
|
||||
The driver entity is required to call EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
|
||||
for all the devices that belong to an enumeration group before calling
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() for any device in the same group.
|
||||
|
||||
The IDE controller driver will use controller- and possibly platform-specific
|
||||
algorithms to arrive at SupportedModes. The IDE controller may base its
|
||||
decision on user preferences and other considerations as well. This function
|
||||
may be called multiple times because the driver entity may renegotiate the mode
|
||||
with the IDE controller driver using EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode().
|
||||
|
||||
The driver entity may collect timing information for various devices in any
|
||||
|
||||
The driver entity may collect timing information for various devices in any
|
||||
order. The driver entity is responsible for making sure that all the dependencies
|
||||
are satisfied. For example, the SupportedModes information for device A that
|
||||
was previously returned may become stale after a call to
|
||||
are satisfied. For example, the SupportedModes information for device A that
|
||||
was previously returned may become stale after a call to
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode() for device B.
|
||||
|
||||
The buffer SupportedModes is allocated by the callee because the caller does
|
||||
not necessarily know the size of the buffer. The type EFI_ATA_COLLECTIVE_MODE
|
||||
is defined in a way that allows for future extensibility and can be of variable
|
||||
length. This memory pool should be deallocated by the caller when it is no
|
||||
longer necessary.
|
||||
|
||||
The IDE controller driver for a Serial ATA (SATA) controller can use this
|
||||
member function to force a lower speed (first-generation [Gen1] speeds on a
|
||||
second-generation [Gen2]-capable hardware). The IDE controller driver can
|
||||
also allow the driver entity to stay with the speed that has been negotiated
|
||||
|
||||
The buffer SupportedModes is allocated by the callee because the caller does
|
||||
not necessarily know the size of the buffer. The type EFI_ATA_COLLECTIVE_MODE
|
||||
is defined in a way that allows for future extensibility and can be of variable
|
||||
length. This memory pool should be deallocated by the caller when it is no
|
||||
longer necessary.
|
||||
|
||||
The IDE controller driver for a Serial ATA (SATA) controller can use this
|
||||
member function to force a lower speed (first-generation [Gen1] speeds on a
|
||||
second-generation [Gen2]-capable hardware). The IDE controller driver can
|
||||
also allow the driver entity to stay with the speed that has been negotiated
|
||||
by the physical layer.
|
||||
|
||||
|
||||
@param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
|
||||
@param[in] Channel A zero-based channel number.
|
||||
@param[in] Device A zero-based device number on the Channel.
|
||||
@@ -411,13 +411,13 @@ IdeInitDisqualifyMode (
|
||||
|
||||
@retval EFI_SUCCESS SupportedModes was returned.
|
||||
@retval EFI_INVALID_PARAMETER Channel is invalid (Channel >= ChannelCount).
|
||||
@retval EFI_INVALID_PARAMETER Device is invalid.
|
||||
@retval EFI_INVALID_PARAMETER Device is invalid.
|
||||
@retval EFI_INVALID_PARAMETER SupportedModes is NULL.
|
||||
@retval EFI_NOT_READY Modes cannot be calculated due to a lack of
|
||||
data. This error may happen if
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
|
||||
and EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyData()
|
||||
were not called for at least one drive in the
|
||||
@retval EFI_NOT_READY Modes cannot be calculated due to a lack of
|
||||
data. This error may happen if
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
|
||||
and EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyData()
|
||||
were not called for at least one drive in the
|
||||
same enumeration group.
|
||||
|
||||
**/
|
||||
@@ -434,9 +434,9 @@ IdeInitCalculateMode (
|
||||
Commands the IDE controller driver to program the IDE controller hardware
|
||||
so that the specified device can operate at the specified mode.
|
||||
|
||||
This function is used by the driver entity to instruct the IDE controller
|
||||
driver to program the IDE controller hardware to the specified modes. This
|
||||
function can be called only once for a particular device. For a Serial ATA
|
||||
This function is used by the driver entity to instruct the IDE controller
|
||||
driver to program the IDE controller hardware to the specified modes. This
|
||||
function can be called only once for a particular device. For a Serial ATA
|
||||
(SATA) Advanced Host Controller Interface (AHCI) controller, no controller-
|
||||
specific programming may be required.
|
||||
|
||||
|
@@ -1,15 +1,15 @@
|
||||
## @file
|
||||
# SataController driver to manage SATA compliance IDE/AHCI host controllers.
|
||||
#
|
||||
# Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
# which accompanies this distribution. The full text of the license may be found at
|
||||
# http://opensource.org/licenses/bsd-license.php
|
||||
#
|
||||
#
|
||||
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#
|
||||
#
|
||||
##
|
||||
|
||||
[Defines]
|
||||
@@ -26,7 +26,7 @@
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64 IPF EBC ARM AARCH64
|
||||
#
|
||||
# DRIVER_BINDING = gSataControllerDriverBinding
|
||||
# DRIVER_BINDING = gSataControllerDriverBinding
|
||||
# COMPONENT_NAME = gSataControllerComponentName
|
||||
# COMPONENT_NAME2 = gSataControllerComponentName2
|
||||
#
|
||||
|
@@ -3,13 +3,13 @@
|
||||
//
|
||||
// It consumes PciIo protocol and produces IdeControllerInit protocol for upper layer use.
|
||||
//
|
||||
// Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions of the BSD License
|
||||
// which accompanies this distribution. The full text of the license may be found at
|
||||
// http://opensource.org/licenses/bsd-license.php
|
||||
//
|
||||
//
|
||||
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
//
|
||||
@@ -19,4 +19,4 @@
|
||||
#string STR_MODULE_ABSTRACT #language en-US "Responsible for managing the standard SATA controller"
|
||||
|
||||
#string STR_MODULE_DESCRIPTION #language en-US "Implements the IdeControllerInit protocol interface for upper layer use\n"
|
||||
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// SataControllerDxe Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -13,8 +13,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"SATA Controller DXE Driver"
|
||||
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
SdMmcPciHcPei driver is used to provide platform-dependent info, mainly SD/MMC
|
||||
host controller MMIO base, to upper layer SD/MMC drivers.
|
||||
|
||||
Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -160,7 +160,7 @@ InitializeSdMmcHcPeim (
|
||||
//
|
||||
MmioSize = Size & 0xFFFFFFF0;
|
||||
PciWrite32 (PCI_LIB_ADDRESS(Bus, Device, Function, PCI_BASE_ADDRESSREG_OFFSET + 4), 0xFFFFFFFF);
|
||||
Size = PciRead32 (PCI_LIB_ADDRESS(Bus, Device, Function, PCI_BASE_ADDRESSREG_OFFSET + 4));
|
||||
Size = PciRead32 (PCI_LIB_ADDRESS(Bus, Device, Function, PCI_BASE_ADDRESSREG_OFFSET + 4));
|
||||
//
|
||||
// Fix the length to support some spefic 64 bit BAR
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
## @file
|
||||
# Component Description File For SD/MMC Pci Host Controller Pei Module.
|
||||
#
|
||||
# Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -53,4 +53,4 @@
|
||||
gEfiPeiMasterBootModePpiGuid AND gEfiPeiMemoryDiscoveredPpiGuid
|
||||
|
||||
[UserExtensions.TianoCore."ExtraFiles"]
|
||||
SdMmcPciHcPeiExtra.uni
|
||||
SdMmcPciHcPeiExtra.uni
|
||||
|
@@ -2,7 +2,7 @@
|
||||
UfsHcDxe driver produces EFI_UFS_HOST_CONTROLLER_PROTOCOL. The upper layer module
|
||||
uses it to query the MMIO base address of the UFS host controller.
|
||||
|
||||
Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -38,7 +38,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mUfsHcDriverNameTable[] =
|
||||
"eng;en",
|
||||
L"Universal Flash Storage (UFS) Pci Host Controller Driver"
|
||||
},
|
||||
{
|
||||
{
|
||||
NULL,
|
||||
NULL
|
||||
}
|
||||
|
@@ -2,7 +2,7 @@
|
||||
UfsHcDxe driver is used to provide platform-dependent info, mainly UFS host controller
|
||||
MMIO base, to upper layer UFS drivers.
|
||||
|
||||
Copyright (c) 2014 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -95,24 +95,24 @@ UfsHcGetMmioBar (
|
||||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
Provides the UFS controller-specific addresses needed to access system memory.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
|
||||
@param Operation Indicates if the bus master is going to read or write to system memory.
|
||||
@param HostAddress The system memory address to map to the UFS controller.
|
||||
@param NumberOfBytes On input the number of bytes to map. On output the number of bytes
|
||||
that were mapped.
|
||||
that were mapped.
|
||||
@param DeviceAddress The resulting map address for the bus master UFS controller to use to
|
||||
access the hosts HostAddress.
|
||||
access the hosts HostAddress.
|
||||
@param Mapping A resulting value to pass to Unmap().
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes.
|
||||
@retval EFI_UNSUPPORTED The HostAddress cannot be mapped as a common buffer.
|
||||
@retval EFI_UNSUPPORTED The HostAddress cannot be mapped as a common buffer.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_DEVICE_ERROR The system hardware could not map the requested address.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -140,15 +140,15 @@ UfsHcMap (
|
||||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
Completes the Map() operation and releases any corresponding resources.
|
||||
|
||||
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
|
||||
|
||||
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
|
||||
@param Mapping The mapping value returned from Map().
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The range was unmapped.
|
||||
@retval EFI_DEVICE_ERROR The data was not committed to the target system memory.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -172,25 +172,25 @@ UfsHcUnmap (
|
||||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
Allocates pages that are suitable for an EfiUfsHcOperationBusMasterCommonBuffer
|
||||
mapping.
|
||||
|
||||
mapping.
|
||||
|
||||
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
|
||||
@param Type This parameter is not used and must be ignored.
|
||||
@param MemoryType The type of memory to allocate, EfiBootServicesData or
|
||||
EfiRuntimeServicesData.
|
||||
@param Pages The number of pages to allocate.
|
||||
EfiRuntimeServicesData.
|
||||
@param Pages The number of pages to allocate.
|
||||
@param HostAddress A pointer to store the base system memory address of the
|
||||
allocated range.
|
||||
allocated range.
|
||||
@param Attributes The requested bit mask of attributes for the allocated range.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The requested memory pages were allocated.
|
||||
@retval EFI_UNSUPPORTED Attributes is unsupported. The only legal attribute bits are
|
||||
MEMORY_WRITE_COMBINE and MEMORY_CACHED.
|
||||
MEMORY_WRITE_COMBINE and MEMORY_CACHED.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -218,17 +218,17 @@ UfsHcAllocateBuffer (
|
||||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
Frees memory that was allocated with AllocateBuffer().
|
||||
|
||||
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
|
||||
@param Pages The number of pages to free.
|
||||
@param HostAddress The base system memory address of the allocated range.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
|
||||
@param Pages The number of pages to free.
|
||||
@param HostAddress The base system memory address of the allocated range.
|
||||
|
||||
@retval EFI_SUCCESS The requested memory pages were freed.
|
||||
@retval EFI_INVALID_PARAMETER The memory range specified by HostAddress and Pages
|
||||
was not allocated with AllocateBuffer().
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -253,16 +253,16 @@ UfsHcFreeBuffer (
|
||||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
Flushes all posted write transactions from the UFS bus to attached UFS device.
|
||||
|
||||
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
|
||||
|
||||
@retval EFI_SUCCESS The posted write transactions were flushed from the UFS bus
|
||||
to attached UFS device.
|
||||
to attached UFS device.
|
||||
@retval EFI_DEVICE_ERROR The posted write transactions were not flushed from the UFS
|
||||
bus to attached UFS device due to a hardware error.
|
||||
|
||||
bus to attached UFS device due to a hardware error.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -281,7 +281,7 @@ UfsHcFlush (
|
||||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
Enable a UFS bus driver to access UFS MMIO registers in the UFS Host Controller memory space.
|
||||
|
||||
@param This A pointer to the EDKII_UFS_HOST_CONTROLLER_PROTOCOL instance.
|
||||
@@ -323,7 +323,7 @@ UfsHcMmioRead (
|
||||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
Enable a UFS bus driver to access UFS MMIO registers in the UFS Host Controller memory space.
|
||||
|
||||
@param This A pointer to the EDKII_UFS_HOST_CONTROLLER_PROTOCOL instance.
|
||||
|
@@ -2,7 +2,7 @@
|
||||
UfsHcDxe driver is used to provide platform-dependent info, mainly UFS host controller
|
||||
MMIO base, to upper layer UFS drivers.
|
||||
|
||||
Copyright (c) 2014 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -55,7 +55,7 @@ struct _UFS_HOST_CONTROLLER_PRIVATE_DATA {
|
||||
UINT32 Signature;
|
||||
|
||||
EDKII_UFS_HOST_CONTROLLER_PROTOCOL UfsHc;
|
||||
EFI_PCI_IO_PROTOCOL *PciIo;
|
||||
EFI_PCI_IO_PROTOCOL *PciIo;
|
||||
UINT8 BarIndex;
|
||||
UINT64 PciAttributes;
|
||||
};
|
||||
@@ -336,24 +336,24 @@ UfsHcGetMmioBar (
|
||||
OUT UINTN *MmioBar
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Provides the UFS controller-specific addresses needed to access system memory.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
|
||||
@param Operation Indicates if the bus master is going to read or write to system memory.
|
||||
@param HostAddress The system memory address to map to the UFS controller.
|
||||
@param NumberOfBytes On input the number of bytes to map. On output the number of bytes
|
||||
that were mapped.
|
||||
that were mapped.
|
||||
@param DeviceAddress The resulting map address for the bus master UFS controller to use to
|
||||
access the hosts HostAddress.
|
||||
access the hosts HostAddress.
|
||||
@param Mapping A resulting value to pass to Unmap().
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes.
|
||||
@retval EFI_UNSUPPORTED The HostAddress cannot be mapped as a common buffer.
|
||||
@retval EFI_UNSUPPORTED The HostAddress cannot be mapped as a common buffer.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_DEVICE_ERROR The system hardware could not map the requested address.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -366,15 +366,15 @@ UfsHcMap (
|
||||
OUT VOID **Mapping
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Completes the Map() operation and releases any corresponding resources.
|
||||
|
||||
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
|
||||
|
||||
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
|
||||
@param Mapping The mapping value returned from Map().
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The range was unmapped.
|
||||
@retval EFI_DEVICE_ERROR The data was not committed to the target system memory.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -383,25 +383,25 @@ UfsHcUnmap (
|
||||
IN VOID *Mapping
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Allocates pages that are suitable for an EfiUfsHcOperationBusMasterCommonBuffer
|
||||
mapping.
|
||||
|
||||
mapping.
|
||||
|
||||
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
|
||||
@param Type This parameter is not used and must be ignored.
|
||||
@param MemoryType The type of memory to allocate, EfiBootServicesData or
|
||||
EfiRuntimeServicesData.
|
||||
@param Pages The number of pages to allocate.
|
||||
EfiRuntimeServicesData.
|
||||
@param Pages The number of pages to allocate.
|
||||
@param HostAddress A pointer to store the base system memory address of the
|
||||
allocated range.
|
||||
allocated range.
|
||||
@param Attributes The requested bit mask of attributes for the allocated range.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The requested memory pages were allocated.
|
||||
@retval EFI_UNSUPPORTED Attributes is unsupported. The only legal attribute bits are
|
||||
MEMORY_WRITE_COMBINE and MEMORY_CACHED.
|
||||
MEMORY_WRITE_COMBINE and MEMORY_CACHED.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -414,17 +414,17 @@ UfsHcAllocateBuffer (
|
||||
IN UINT64 Attributes
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Frees memory that was allocated with AllocateBuffer().
|
||||
|
||||
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
|
||||
@param Pages The number of pages to free.
|
||||
@param HostAddress The base system memory address of the allocated range.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
|
||||
@param Pages The number of pages to free.
|
||||
@param HostAddress The base system memory address of the allocated range.
|
||||
|
||||
@retval EFI_SUCCESS The requested memory pages were freed.
|
||||
@retval EFI_INVALID_PARAMETER The memory range specified by HostAddress and Pages
|
||||
was not allocated with AllocateBuffer().
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -434,16 +434,16 @@ UfsHcFreeBuffer (
|
||||
IN VOID *HostAddress
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Flushes all posted write transactions from the UFS bus to attached UFS device.
|
||||
|
||||
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
|
||||
|
||||
@retval EFI_SUCCESS The posted write transactions were flushed from the UFS bus
|
||||
to attached UFS device.
|
||||
to attached UFS device.
|
||||
@retval EFI_DEVICE_ERROR The posted write transactions were not flushed from the UFS
|
||||
bus to attached UFS device due to a hardware error.
|
||||
|
||||
bus to attached UFS device due to a hardware error.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -451,7 +451,7 @@ UfsHcFlush (
|
||||
IN EDKII_UFS_HOST_CONTROLLER_PROTOCOL *This
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Enable a UFS bus driver to access UFS MMIO registers in the UFS Host Controller memory space.
|
||||
|
||||
@param This A pointer to the EDKII_UFS_HOST_CONTROLLER_PROTOCOL instance.
|
||||
@@ -479,7 +479,7 @@ UfsHcMmioRead (
|
||||
IN OUT VOID *Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Enable a UFS bus driver to access UFS MMIO registers in the UFS Host Controller memory space.
|
||||
|
||||
@param This A pointer to the EDKII_UFS_HOST_CONTROLLER_PROTOCOL instance.
|
||||
|
@@ -1,7 +1,7 @@
|
||||
## @file
|
||||
# Component Description File For Universal Flash Storage Pci Host Controller Module.
|
||||
#
|
||||
# Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -53,4 +53,4 @@
|
||||
gEdkiiUfsHostControllerProtocolGuid ## BY_START
|
||||
|
||||
[UserExtensions.TianoCore."ExtraFiles"]
|
||||
UfsPciHcDxeExtra.uni
|
||||
UfsPciHcDxeExtra.uni
|
||||
|
@@ -1,13 +1,13 @@
|
||||
// /** @file
|
||||
// The UfsPciHcDxe driver is used by upper layer to retrieve mmio base address of managed pci-based Ufs host controller.
|
||||
//
|
||||
// Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions of the BSD License
|
||||
// which accompanies this distribution. The full text of the license may be found at
|
||||
// http://opensource.org/licenses/bsd-license.php
|
||||
//
|
||||
//
|
||||
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// UfsPciHcDxe Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -13,8 +13,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"UFS PCI-Based HC Driver"
|
||||
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
UfsPciHcPei driver is used to provide platform-dependent info, mainly UFS host controller
|
||||
MMIO base, to upper layer UFS drivers.
|
||||
|
||||
Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -53,7 +53,7 @@ GetUfsHcMmioBar (
|
||||
if (ControllerId >= Private->TotalUfsHcs) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
|
||||
*MmioBar = (UINTN)Private->UfsHcPciAddr[ControllerId];
|
||||
|
||||
return EFI_SUCCESS;
|
||||
@@ -61,7 +61,7 @@ GetUfsHcMmioBar (
|
||||
|
||||
/**
|
||||
The user code starts with this function.
|
||||
|
||||
|
||||
@param FileHandle Handle of the file being invoked.
|
||||
@param PeiServices Describes the list of possible PEI Services.
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
## @file
|
||||
# Component Description File For Universal Flash Storage Pci Host Controller Pei Module.
|
||||
#
|
||||
# Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -53,4 +53,4 @@
|
||||
gEfiPeiMasterBootModePpiGuid AND gEfiPeiMemoryDiscoveredPpiGuid
|
||||
|
||||
[UserExtensions.TianoCore."ExtraFiles"]
|
||||
UfsPciHcPeiExtra.uni
|
||||
UfsPciHcPeiExtra.uni
|
||||
|
@@ -2,14 +2,14 @@
|
||||
// The UfsPciHcPei driver is used by upper layer to retrieve mmio base address of managed
|
||||
// pci-based Ufs host controller at PEI phase.
|
||||
//
|
||||
// Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions
|
||||
// of the BSD License which accompanies this distribution. The
|
||||
// full text of the license may be found at
|
||||
// http://opensource.org/licenses/bsd-license.php
|
||||
//
|
||||
//
|
||||
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// UfsPciHcPei Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions
|
||||
@@ -14,8 +14,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"UFS PCI-Based HC Module for Recovery"
|
||||
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
The UHCI driver model and HC protocol routines.
|
||||
|
||||
Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -1519,7 +1519,7 @@ UhciFreeDev (
|
||||
if (Uhc->ExitBootServiceEvent != NULL) {
|
||||
gBS->CloseEvent (Uhc->ExitBootServiceEvent);
|
||||
}
|
||||
|
||||
|
||||
if (Uhc->MemPool != NULL) {
|
||||
UsbHcFreeMemPool (Uhc->MemPool);
|
||||
}
|
||||
@@ -1796,7 +1796,7 @@ UhciDriverBindingStart (
|
||||
UhciWriteReg (Uhc->PciIo, USBCMD_OFFSET, USBCMD_RS | USBCMD_MAXP);
|
||||
|
||||
return EFI_SUCCESS;
|
||||
|
||||
|
||||
UNINSTALL_USBHC:
|
||||
gBS->UninstallMultipleProtocolInterfaces (
|
||||
Controller,
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
The definition for UHCI driver model and HC protocol routines.
|
||||
|
||||
Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -145,7 +145,7 @@ struct _USB_HC_DEV {
|
||||
VOID *FrameMapping;
|
||||
|
||||
//
|
||||
// ExitBootServicesEvent is used to stop the EHC DMA operation
|
||||
// ExitBootServicesEvent is used to stop the EHC DMA operation
|
||||
// after exit boot service.
|
||||
//
|
||||
EFI_EVENT ExitBootServiceEvent;
|
||||
|
@@ -1,9 +1,9 @@
|
||||
## @file
|
||||
# The UhciDxe driver is responsible for managing the behavior of UHCI controller.
|
||||
# The UhciDxe driver is responsible for managing the behavior of UHCI controller.
|
||||
# It implements the interfaces of monitoring the status of all ports and transferring
|
||||
# Control, Bulk, Interrupt and Isochronous requests to Usb1.x device
|
||||
#
|
||||
# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -23,7 +23,7 @@
|
||||
FILE_GUID = 2FB92EFA-2EE0-4bae-9EB6-7464125E1EF7
|
||||
MODULE_TYPE = UEFI_DRIVER
|
||||
VERSION_STRING = 1.0
|
||||
|
||||
|
||||
ENTRY_POINT = UhciDriverEntryPoint
|
||||
|
||||
#
|
||||
@@ -31,7 +31,7 @@
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64 IPF EBC ARM AARCH64
|
||||
#
|
||||
# DRIVER_BINDING = gUhciDriverBinding
|
||||
# DRIVER_BINDING = gUhciDriverBinding
|
||||
# COMPONENT_NAME = gUhciComponentName
|
||||
# COMPONENT_NAME2 = gUhciComponentName2
|
||||
#
|
||||
|
@@ -4,13 +4,13 @@
|
||||
// It implements the interfaces of monitoring the status of all ports and transferring
|
||||
// Control, Bulk, Interrupt and Isochronous requests to Usb1.x device
|
||||
//
|
||||
// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions of the BSD License
|
||||
// which accompanies this distribution. The full text of the license may be found at
|
||||
// http://opensource.org/licenses/bsd-license.php
|
||||
//
|
||||
//
|
||||
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// UhciDxe Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -13,8 +13,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"UHCI DXE Driver"
|
||||
|
||||
|
||||
|
@@ -2,8 +2,8 @@
|
||||
PEIM to produce gPeiUsbHostControllerPpiGuid based on gPeiUsbControllerPpiGuid
|
||||
which is used to enable recovery function from USB Drivers.
|
||||
|
||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved. <BR>
|
||||
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved. <BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
of the BSD License which accompanies this distribution. The
|
||||
@@ -220,12 +220,12 @@ UhcPeimEntry (
|
||||
|
||||
/**
|
||||
Submits control transfer to a target USB device.
|
||||
|
||||
|
||||
@param PeiServices The pointer of EFI_PEI_SERVICES.
|
||||
@param This The pointer of PEI_USB_HOST_CONTROLLER_PPI.
|
||||
@param DeviceAddress The target device address.
|
||||
@param DeviceSpeed Target device speed.
|
||||
@param MaximumPacketLength Maximum packet size the default control transfer
|
||||
@param MaximumPacketLength Maximum packet size the default control transfer
|
||||
endpoint is capable of sending or receiving.
|
||||
@param Request USB device request to send.
|
||||
@param TransferDirection Specifies the data direction for the data stage.
|
||||
@@ -458,18 +458,18 @@ UhcControlTransfer (
|
||||
|
||||
/**
|
||||
Submits bulk transfer to a bulk endpoint of a USB device.
|
||||
|
||||
|
||||
@param PeiServices The pointer of EFI_PEI_SERVICES.
|
||||
@param This The pointer of PEI_USB_HOST_CONTROLLER_PPI.
|
||||
@param DeviceAddress Target device address.
|
||||
@param EndPointAddress Endpoint number and its direction in bit 7.
|
||||
@param MaximumPacketLength Maximum packet size the endpoint is capable of
|
||||
@param MaximumPacketLength Maximum packet size the endpoint is capable of
|
||||
sending or receiving.
|
||||
@param Data Array of pointers to the buffers of data to transmit
|
||||
@param Data Array of pointers to the buffers of data to transmit
|
||||
from or receive into.
|
||||
@param DataLength The lenght of the data buffer.
|
||||
@param DataToggle On input, the initial data toggle for the transfer;
|
||||
On output, it is updated to to next data toggle to use of
|
||||
On output, it is updated to to next data toggle to use of
|
||||
the subsequent bulk transfer.
|
||||
@param TimeOut Indicates the maximum time, in millisecond, which the
|
||||
transfer is allowed to complete.
|
||||
@@ -694,10 +694,10 @@ UhcBulkTransfer (
|
||||
Retrieves the number of root hub ports.
|
||||
|
||||
@param[in] PeiServices The pointer to the PEI Services Table.
|
||||
@param[in] This The pointer to this instance of the
|
||||
@param[in] This The pointer to this instance of the
|
||||
PEI_USB_HOST_CONTROLLER_PPI.
|
||||
@param[out] PortNumber The pointer to the number of the root hub ports.
|
||||
|
||||
@param[out] PortNumber The pointer to the number of the root hub ports.
|
||||
|
||||
@retval EFI_SUCCESS The port number was retrieved successfully.
|
||||
@retval EFI_INVALID_PARAMETER PortNumber is NULL.
|
||||
|
||||
@@ -739,10 +739,10 @@ UhcGetRootHubPortNumber (
|
||||
|
||||
/**
|
||||
Retrieves the current status of a USB root hub port.
|
||||
|
||||
|
||||
@param PeiServices The pointer of EFI_PEI_SERVICES.
|
||||
@param This The pointer of PEI_USB_HOST_CONTROLLER_PPI.
|
||||
@param PortNumber The root hub port to retrieve the state from.
|
||||
@param PortNumber The root hub port to retrieve the state from.
|
||||
@param PortStatus Variable to receive the port state.
|
||||
|
||||
@retval EFI_SUCCESS The status of the USB root hub port specified.
|
||||
@@ -832,7 +832,7 @@ UhcGetRootHubPortStatus (
|
||||
|
||||
/**
|
||||
Sets a feature for the specified root hub port.
|
||||
|
||||
|
||||
@param PeiServices The pointer of EFI_PEI_SERVICES
|
||||
@param This The pointer of PEI_USB_HOST_CONTROLLER_PPI
|
||||
@param PortNumber Root hub port to set.
|
||||
@@ -908,7 +908,7 @@ UhcSetRootHubPortFeature (
|
||||
|
||||
/**
|
||||
Clears a feature for the specified root hub port.
|
||||
|
||||
|
||||
@param PeiServices The pointer of EFI_PEI_SERVICES.
|
||||
@param This The pointer of PEI_USB_HOST_CONTROLLER_PPI.
|
||||
@param PortNumber Specifies the root hub port whose feature
|
||||
@@ -916,7 +916,7 @@ UhcSetRootHubPortFeature (
|
||||
@param PortFeature Indicates the feature selector associated with the
|
||||
feature clear request.
|
||||
|
||||
@retval EFI_SUCCESS The feature specified by PortFeature was cleared
|
||||
@retval EFI_SUCCESS The feature specified by PortFeature was cleared
|
||||
for the USB root hub port specified by PortNumber.
|
||||
@retval EFI_INVALID_PARAMETER PortNumber is invalid or PortFeature is invalid.
|
||||
|
||||
@@ -1131,7 +1131,7 @@ CreateFrameList (
|
||||
ASSERT (UhcDev->BulkQH != NULL);
|
||||
|
||||
//
|
||||
//Set the corresponding QH pointer
|
||||
//Set the corresponding QH pointer
|
||||
//
|
||||
SetQHHorizontalLinkPtr(UhcDev->ConfigQH, UhcDev->BulkQH);
|
||||
SetQHHorizontalQHorTDSelect (UhcDev->ConfigQH, TRUE);
|
||||
@@ -1154,7 +1154,7 @@ CreateFrameList (
|
||||
|
||||
/**
|
||||
Read a 16bit width data from Uhc HC IO space register.
|
||||
|
||||
|
||||
@param UhcDev The UHCI device.
|
||||
@param Port The IO space address of the register.
|
||||
|
||||
@@ -1172,7 +1172,7 @@ USBReadPortW (
|
||||
|
||||
/**
|
||||
Write a 16bit width data into Uhc HC IO space register.
|
||||
|
||||
|
||||
@param UhcDev The UHCI device.
|
||||
@param Port The IO space address of the register.
|
||||
@param Data The data written into the register.
|
||||
@@ -1190,7 +1190,7 @@ USBWritePortW (
|
||||
|
||||
/**
|
||||
Write a 32bit width data into Uhc HC IO space register.
|
||||
|
||||
|
||||
@param UhcDev The UHCI device.
|
||||
@param Port The IO space address of the register.
|
||||
@param Data The data written into the register.
|
||||
@@ -1208,7 +1208,7 @@ USBWritePortDW (
|
||||
|
||||
/**
|
||||
Clear the content of UHCI's Status Register.
|
||||
|
||||
|
||||
@param UhcDev The UHCI device.
|
||||
@param StatusAddr The IO space address of the register.
|
||||
|
||||
|
@@ -1,8 +1,8 @@
|
||||
/** @file
|
||||
Private Header file for Usb Host Controller PEIM
|
||||
|
||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
of the BSD License which accompanies this distribution. The
|
||||
@@ -203,12 +203,12 @@ typedef struct {
|
||||
|
||||
/**
|
||||
Submits control transfer to a target USB device.
|
||||
|
||||
|
||||
@param PeiServices The pointer of EFI_PEI_SERVICES.
|
||||
@param This The pointer of PEI_USB_HOST_CONTROLLER_PPI.
|
||||
@param DeviceAddress The target device address.
|
||||
@param DeviceSpeed Target device speed.
|
||||
@param MaximumPacketLength Maximum packet size the default control transfer
|
||||
@param MaximumPacketLength Maximum packet size the default control transfer
|
||||
endpoint is capable of sending or receiving.
|
||||
@param Request USB device request to send.
|
||||
@param TransferDirection Specifies the data direction for the data stage.
|
||||
@@ -242,18 +242,18 @@ UhcControlTransfer (
|
||||
|
||||
/**
|
||||
Submits bulk transfer to a bulk endpoint of a USB device.
|
||||
|
||||
|
||||
@param PeiServices The pointer of EFI_PEI_SERVICES.
|
||||
@param This The pointer of PEI_USB_HOST_CONTROLLER_PPI.
|
||||
@param DeviceAddress Target device address.
|
||||
@param EndPointAddress Endpoint number and its direction in bit 7.
|
||||
@param MaximumPacketLength Maximum packet size the endpoint is capable of
|
||||
@param MaximumPacketLength Maximum packet size the endpoint is capable of
|
||||
sending or receiving.
|
||||
@param Data Array of pointers to the buffers of data to transmit
|
||||
@param Data Array of pointers to the buffers of data to transmit
|
||||
from or receive into.
|
||||
@param DataLength The lenght of the data buffer.
|
||||
@param DataToggle On input, the initial data toggle for the transfer;
|
||||
On output, it is updated to to next data toggle to use of
|
||||
On output, it is updated to to next data toggle to use of
|
||||
the subsequent bulk transfer.
|
||||
@param TimeOut Indicates the maximum time, in millisecond, which the
|
||||
transfer is allowed to complete.
|
||||
@@ -286,10 +286,10 @@ UhcBulkTransfer (
|
||||
Retrieves the number of root hub ports.
|
||||
|
||||
@param[in] PeiServices The pointer to the PEI Services Table.
|
||||
@param[in] This The pointer to this instance of the
|
||||
@param[in] This The pointer to this instance of the
|
||||
PEI_USB_HOST_CONTROLLER_PPI.
|
||||
@param[out] PortNumber The pointer to the number of the root hub ports.
|
||||
|
||||
@param[out] PortNumber The pointer to the number of the root hub ports.
|
||||
|
||||
@retval EFI_SUCCESS The port number was retrieved successfully.
|
||||
@retval EFI_INVALID_PARAMETER PortNumber is NULL.
|
||||
|
||||
@@ -304,10 +304,10 @@ UhcGetRootHubPortNumber (
|
||||
|
||||
/**
|
||||
Retrieves the current status of a USB root hub port.
|
||||
|
||||
|
||||
@param PeiServices The pointer of EFI_PEI_SERVICES.
|
||||
@param This The pointer of PEI_USB_HOST_CONTROLLER_PPI.
|
||||
@param PortNumber The root hub port to retrieve the state from.
|
||||
@param PortNumber The root hub port to retrieve the state from.
|
||||
@param PortStatus Variable to receive the port state.
|
||||
|
||||
@retval EFI_SUCCESS The status of the USB root hub port specified.
|
||||
@@ -326,7 +326,7 @@ UhcGetRootHubPortStatus (
|
||||
|
||||
/**
|
||||
Sets a feature for the specified root hub port.
|
||||
|
||||
|
||||
@param PeiServices The pointer of EFI_PEI_SERVICES
|
||||
@param This The pointer of PEI_USB_HOST_CONTROLLER_PPI
|
||||
@param PortNumber Root hub port to set.
|
||||
@@ -348,7 +348,7 @@ UhcSetRootHubPortFeature (
|
||||
|
||||
/**
|
||||
Clears a feature for the specified root hub port.
|
||||
|
||||
|
||||
@param PeiServices The pointer of EFI_PEI_SERVICES.
|
||||
@param This The pointer of PEI_USB_HOST_CONTROLLER_PPI.
|
||||
@param PortNumber Specifies the root hub port whose feature
|
||||
@@ -356,7 +356,7 @@ UhcSetRootHubPortFeature (
|
||||
@param PortFeature Indicates the feature selector associated with the
|
||||
feature clear request.
|
||||
|
||||
@retval EFI_SUCCESS The feature specified by PortFeature was cleared
|
||||
@retval EFI_SUCCESS The feature specified by PortFeature was cleared
|
||||
for the USB root hub port specified by PortNumber.
|
||||
@retval EFI_INVALID_PARAMETER PortNumber is invalid or PortFeature is invalid.
|
||||
|
||||
@@ -400,7 +400,7 @@ CreateFrameList (
|
||||
|
||||
/**
|
||||
Read a 16bit width data from Uhc HC IO space register.
|
||||
|
||||
|
||||
@param UhcDev The UHCI device.
|
||||
@param Port The IO space address of the register.
|
||||
|
||||
@@ -415,7 +415,7 @@ USBReadPortW (
|
||||
|
||||
/**
|
||||
Write a 16bit width data into Uhc HC IO space register.
|
||||
|
||||
|
||||
@param UhcDev The UHCI device.
|
||||
@param Port The IO space address of the register.
|
||||
@param Data The data written into the register.
|
||||
@@ -430,7 +430,7 @@ USBWritePortW (
|
||||
|
||||
/**
|
||||
Write a 32bit width data into Uhc HC IO space register.
|
||||
|
||||
|
||||
@param UhcDev The UHCI device.
|
||||
@param Port The IO space address of the register.
|
||||
@param Data The data written into the register.
|
||||
@@ -445,7 +445,7 @@ USBWritePortDW (
|
||||
|
||||
/**
|
||||
Clear the content of UHCI's Status Register.
|
||||
|
||||
|
||||
@param UhcDev The UHCI device.
|
||||
@param StatusAddr The IO space address of the register.
|
||||
|
||||
|
@@ -4,14 +4,14 @@
|
||||
// It produces gPeiUsbHostControllerPpiGuid based on gPeiUsbControllerPpiGuid which is used
|
||||
// to enable recovery function from USB Drivers.
|
||||
//
|
||||
// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions
|
||||
// of the BSD License which accompanies this distribution. The
|
||||
// full text of the license may be found at
|
||||
// http://opensource.org/licenses/bsd-license.php
|
||||
//
|
||||
//
|
||||
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// UhciPei Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions
|
||||
@@ -14,8 +14,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"UHCI PEI Module for Recovery"
|
||||
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
Routine procedures for memory allocate/free.
|
||||
|
||||
Copyright (c) 2013 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -598,23 +598,23 @@ UsbHcFreeMem (
|
||||
return ;
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
Allocates pages at a specified alignment that are suitable for an EfiPciIoOperationBusMasterCommonBuffer mapping.
|
||||
|
||||
|
||||
If Alignment is not a power of two and Alignment is not zero, then ASSERT().
|
||||
|
||||
@param PciIo The PciIo that can be used to access the host controller.
|
||||
@param Pages The number of pages to allocate.
|
||||
@param Alignment The requested alignment of the allocation. Must be a power of two.
|
||||
@param HostAddress The system memory address to map to the PCI controller.
|
||||
@param DeviceAddress The resulting map address for the bus master PCI controller to
|
||||
@param DeviceAddress The resulting map address for the bus master PCI controller to
|
||||
use to access the hosts HostAddress.
|
||||
@param Mapping A resulting value to pass to Unmap().
|
||||
|
||||
@retval EFI_SUCCESS Success to allocate aligned pages.
|
||||
@retval EFI_INVALID_PARAMETER Pages or Alignment is not valid.
|
||||
@retval EFI_OUT_OF_RESOURCES Do not have enough resources to allocate memory.
|
||||
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
@@ -639,11 +639,11 @@ UsbHcAllocateAlignedPages (
|
||||
// Alignment must be a power of two or zero.
|
||||
//
|
||||
ASSERT ((Alignment & (Alignment - 1)) == 0);
|
||||
|
||||
|
||||
if ((Alignment & (Alignment - 1)) != 0) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
|
||||
if (Pages == 0) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
@@ -657,7 +657,7 @@ UsbHcAllocateAlignedPages (
|
||||
// Make sure that Pages plus EFI_SIZE_TO_PAGES (Alignment) does not overflow.
|
||||
//
|
||||
ASSERT (RealPages > Pages);
|
||||
|
||||
|
||||
Status = PciIo->AllocateBuffer (
|
||||
PciIo,
|
||||
AllocateAnyPages,
|
||||
@@ -665,7 +665,7 @@ UsbHcAllocateAlignedPages (
|
||||
Pages,
|
||||
&Memory,
|
||||
0
|
||||
);
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
@@ -719,7 +719,7 @@ UsbHcAllocateAlignedPages (
|
||||
Status = PciIo->FreeBuffer (PciIo, Pages, (VOID *) AlignedMemory);
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
|
||||
*HostAddress = (VOID *) AlignedMemory;
|
||||
|
||||
return EFI_SUCCESS;
|
||||
@@ -727,7 +727,7 @@ UsbHcAllocateAlignedPages (
|
||||
|
||||
/**
|
||||
Frees memory that was allocated with UsbHcAllocateAlignedPages().
|
||||
|
||||
|
||||
@param PciIo The PciIo that can be used to access the host controller.
|
||||
@param HostAddress The system memory address to map to the PCI controller.
|
||||
@param Pages The number of 4 KB pages to free.
|
||||
@@ -743,9 +743,9 @@ UsbHcFreeAlignedPages (
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
|
||||
|
||||
ASSERT (Pages != 0);
|
||||
|
||||
|
||||
Status = PciIo->Unmap (PciIo, Mapping);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
@@ -753,6 +753,6 @@ UsbHcFreeAlignedPages (
|
||||
PciIo,
|
||||
Pages,
|
||||
HostAddress
|
||||
);
|
||||
);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
}
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
This file contains the definination for host controller memory management routines.
|
||||
|
||||
Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -164,23 +164,23 @@ UsbHcGetHostAddrForPciAddr (
|
||||
IN UINTN Size
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Allocates pages at a specified alignment that are suitable for an EfiPciIoOperationBusMasterCommonBuffer mapping.
|
||||
|
||||
|
||||
If Alignment is not a power of two and Alignment is not zero, then ASSERT().
|
||||
|
||||
@param PciIo The PciIo that can be used to access the host controller.
|
||||
@param Pages The number of pages to allocate.
|
||||
@param Alignment The requested alignment of the allocation. Must be a power of two.
|
||||
@param HostAddress The system memory address to map to the PCI controller.
|
||||
@param DeviceAddress The resulting map address for the bus master PCI controller to
|
||||
@param DeviceAddress The resulting map address for the bus master PCI controller to
|
||||
use to access the hosts HostAddress.
|
||||
@param Mapping A resulting value to pass to Unmap().
|
||||
|
||||
@retval EFI_SUCCESS Success to allocate aligned pages.
|
||||
@retval EFI_INVALID_PARAMETER Pages or Alignment is not valid.
|
||||
@retval EFI_OUT_OF_RESOURCES Do not have enough resources to allocate memory.
|
||||
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
@@ -192,10 +192,10 @@ UsbHcAllocateAlignedPages (
|
||||
OUT EFI_PHYSICAL_ADDRESS *DeviceAddress,
|
||||
OUT VOID **Mapping
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Frees memory that was allocated with UsbHcAllocateAlignedPages().
|
||||
|
||||
|
||||
@param PciIo The PciIo that can be used to access the host controller.
|
||||
@param HostAddress The system memory address to map to the PCI controller.
|
||||
@param Pages The number of pages to free.
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
The XHCI controller driver.
|
||||
|
||||
Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -159,7 +159,7 @@ XhcReset (
|
||||
EFI_TPL OldTpl;
|
||||
|
||||
Xhc = XHC_FROM_THIS (This);
|
||||
|
||||
|
||||
if (Xhc->DevicePath != NULL) {
|
||||
//
|
||||
// Report Status Code to indicate reset happens
|
||||
@@ -169,7 +169,7 @@ XhcReset (
|
||||
(EFI_IO_BUS_USB | EFI_IOB_PC_RESET),
|
||||
Xhc->DevicePath
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
OldTpl = gBS->RaiseTPL (XHC_TPL);
|
||||
|
||||
@@ -995,7 +995,7 @@ XhcControlTransfer (
|
||||
// Hook Set_Config request from UsbBus as we need configure device endpoint.
|
||||
//
|
||||
if ((Request->Request == USB_REQ_GET_DESCRIPTOR) &&
|
||||
((Request->RequestType == USB_REQUEST_TYPE (EfiUsbDataIn, USB_REQ_TYPE_STANDARD, USB_TARGET_DEVICE)) ||
|
||||
((Request->RequestType == USB_REQUEST_TYPE (EfiUsbDataIn, USB_REQ_TYPE_STANDARD, USB_TARGET_DEVICE)) ||
|
||||
((Request->RequestType == USB_REQUEST_TYPE (EfiUsbDataIn, USB_REQ_TYPE_CLASS, USB_TARGET_DEVICE))))) {
|
||||
DescriptorType = (UINT8)(Request->Value >> 8);
|
||||
if ((DescriptorType == USB_DESC_TYPE_DEVICE) && ((*DataLength == sizeof (EFI_USB_DEVICE_DESCRIPTOR)) || ((DeviceSpeed == EFI_USB_SPEED_FULL) && (*DataLength == 8)))) {
|
||||
@@ -1144,7 +1144,7 @@ XhcControlTransfer (
|
||||
ClearPortRequest.Length = 0;
|
||||
|
||||
XhcControlTransfer (
|
||||
This,
|
||||
This,
|
||||
DeviceAddress,
|
||||
DeviceSpeed,
|
||||
MaximumPacketLength,
|
||||
|
@@ -3,7 +3,7 @@
|
||||
# It implements the interfaces of monitoring the status of all ports and transferring
|
||||
# Control, Bulk, Interrupt and Isochronous requests to those attached usb LS/FS/HS/SS devices.
|
||||
#
|
||||
# Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -41,7 +41,7 @@
|
||||
XhciReg.c
|
||||
XhciSched.c
|
||||
UsbHcMem.c
|
||||
UsbHcMem.h
|
||||
UsbHcMem.h
|
||||
ComponentName.c
|
||||
ComponentName.h
|
||||
Xhci.h
|
||||
|
@@ -4,13 +4,13 @@
|
||||
// It implements the interfaces of monitoring the status of all ports and transferring
|
||||
// Control, Bulk, Interrupt and Isochronous requests to those attached usb LS/FS/HS/SS devices.
|
||||
//
|
||||
// Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions of the BSD License
|
||||
// which accompanies this distribution. The full text of the license may be found at
|
||||
// http://opensource.org/licenses/bsd-license.php
|
||||
//
|
||||
//
|
||||
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// XhciDxe Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -13,8 +13,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"XHCI DXE Driver"
|
||||
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
XHCI transfer scheduling routines.
|
||||
|
||||
Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -201,7 +201,7 @@ XhcFreeUrb (
|
||||
if ((Xhc == NULL) || (Urb == NULL)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (Urb->DataMap != NULL) {
|
||||
Xhc->PciIo->Unmap (Xhc->PciIo, Urb->DataMap);
|
||||
}
|
||||
@@ -269,15 +269,15 @@ XhcCreateTransferTrb (
|
||||
} else {
|
||||
MapOp = EfiPciIoOperationBusMasterRead;
|
||||
}
|
||||
|
||||
|
||||
Len = Urb->DataLen;
|
||||
Status = Xhc->PciIo->Map (Xhc->PciIo, MapOp, Urb->Data, &Len, &PhyAddr, &Map);
|
||||
|
||||
|
||||
if (EFI_ERROR (Status) || (Len != Urb->DataLen)) {
|
||||
DEBUG ((EFI_D_ERROR, "XhcCreateTransferTrb: Fail to map Urb->Data.\n"));
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
|
||||
Urb->DataPhy = (VOID *) ((UINTN) PhyAddr);
|
||||
Urb->DataMap = Map;
|
||||
}
|
||||
@@ -469,7 +469,7 @@ XhcInitSched (
|
||||
VOID *Dcbaa;
|
||||
EFI_PHYSICAL_ADDRESS DcbaaPhy;
|
||||
UINT64 CmdRing;
|
||||
EFI_PHYSICAL_ADDRESS CmdRingPhy;
|
||||
EFI_PHYSICAL_ADDRESS CmdRingPhy;
|
||||
UINTN Entries;
|
||||
UINT32 MaxScratchpadBufs;
|
||||
UINT64 *ScratchBuf;
|
||||
@@ -520,7 +520,7 @@ XhcInitSched (
|
||||
ScratchEntryMap = AllocateZeroPool (sizeof (UINTN) * MaxScratchpadBufs);
|
||||
ASSERT (ScratchEntryMap != NULL);
|
||||
Xhc->ScratchEntryMap = ScratchEntryMap;
|
||||
|
||||
|
||||
//
|
||||
// Allocate the buffer to record the host address for each entry
|
||||
//
|
||||
@@ -533,7 +533,7 @@ XhcInitSched (
|
||||
Xhc->PciIo,
|
||||
EFI_SIZE_TO_PAGES (MaxScratchpadBufs * sizeof (UINT64)),
|
||||
Xhc->PageSize,
|
||||
(VOID **) &ScratchBuf,
|
||||
(VOID **) &ScratchBuf,
|
||||
&ScratchPhy,
|
||||
&Xhc->ScratchMap
|
||||
);
|
||||
@@ -659,7 +659,7 @@ XhcRecoverHaltedEndpoint (
|
||||
}
|
||||
Dci = XhcEndpointToDci (Urb->Ep.EpAddr, (UINT8)(Urb->Ep.Direction));
|
||||
ASSERT (Dci < 32);
|
||||
|
||||
|
||||
DEBUG ((EFI_D_INFO, "Recovery Halted Slot = %x,Dci = %x\n", SlotId, Dci));
|
||||
|
||||
//
|
||||
@@ -721,7 +721,7 @@ XhcDequeueTrbFromEndpoint (
|
||||
}
|
||||
Dci = XhcEndpointToDci (Urb->Ep.EpAddr, (UINT8)(Urb->Ep.Direction));
|
||||
ASSERT (Dci < 32);
|
||||
|
||||
|
||||
DEBUG ((EFI_D_INFO, "Stop Slot = %x,Dci = %x\n", SlotId, Dci));
|
||||
|
||||
//
|
||||
@@ -792,9 +792,9 @@ CreateEventRing (
|
||||
EventRing->TrbNumber = EVENT_RING_TRB_NUMBER;
|
||||
EventRing->EventRingDequeue = (TRB_TEMPLATE *) EventRing->EventRingSeg0;
|
||||
EventRing->EventRingEnqueue = (TRB_TEMPLATE *) EventRing->EventRingSeg0;
|
||||
|
||||
|
||||
DequeuePhy = UsbHcGetPciAddrForHostAddr (Xhc->MemPool, Buf, Size);
|
||||
|
||||
|
||||
//
|
||||
// Software maintains an Event Ring Consumer Cycle State (CCS) bit, initializing it to '1'
|
||||
// and toggling it every time the Event Ring Dequeue Pointer wraps back to the beginning of the Event Ring.
|
||||
@@ -953,7 +953,7 @@ XhcFreeSched (
|
||||
{
|
||||
UINT32 Index;
|
||||
UINT64 *ScratchEntry;
|
||||
|
||||
|
||||
if (Xhc->ScratchBuf != NULL) {
|
||||
ScratchEntry = Xhc->ScratchEntry;
|
||||
for (Index = 0; Index < Xhc->MaxScratchpadBufs; Index++) {
|
||||
@@ -974,14 +974,14 @@ XhcFreeSched (
|
||||
UsbHcFreeMem (Xhc->MemPool, Xhc->CmdRing.RingSeg0, sizeof (TRB_TEMPLATE) * CMD_RING_TRB_NUMBER);
|
||||
Xhc->CmdRing.RingSeg0 = NULL;
|
||||
}
|
||||
|
||||
|
||||
XhcFreeEventRing (Xhc,&Xhc->EventRing);
|
||||
|
||||
if (Xhc->DCBAA != NULL) {
|
||||
UsbHcFreeMem (Xhc->MemPool, Xhc->DCBAA, (Xhc->MaxSlotsEn + 1) * sizeof(UINT64));
|
||||
Xhc->DCBAA = NULL;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Free memory pool at last
|
||||
//
|
||||
@@ -1132,7 +1132,7 @@ XhcCheckUrbResult (
|
||||
if ((EvtTrb->Type != TRB_TYPE_COMMAND_COMPLT_EVENT) && (EvtTrb->Type != TRB_TYPE_TRANS_EVENT)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Need convert pci device address to host address
|
||||
//
|
||||
@@ -1149,12 +1149,12 @@ XhcCheckUrbResult (
|
||||
CheckedUrb = Xhc->PendingUrb;
|
||||
} else if (IsTransferRingTrb (Xhc, TRBPtr, Urb)) {
|
||||
CheckedUrb = Urb;
|
||||
} else if (IsAsyncIntTrb (Xhc, TRBPtr, &AsyncUrb)) {
|
||||
} else if (IsAsyncIntTrb (Xhc, TRBPtr, &AsyncUrb)) {
|
||||
CheckedUrb = AsyncUrb;
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
switch (EvtTrb->Completecode) {
|
||||
case TRB_COMPLETION_STALL_ERROR:
|
||||
CheckedUrb->Result |= EFI_USB_ERR_STALL;
|
||||
@@ -1676,7 +1676,7 @@ XhcPollPortStatusChange (
|
||||
Status = XhcInitializeDeviceSlot64 (Xhc, ParentRouteChart, Port, RouteChart, Speed);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return Status;
|
||||
}
|
||||
@@ -3144,7 +3144,7 @@ XhcSetConfigCmd64 (
|
||||
if (Dci > MaxDci) {
|
||||
MaxDci = Dci;
|
||||
}
|
||||
|
||||
|
||||
IfDesc = (USB_INTERFACE_DESCRIPTOR *)((UINTN)IfDesc + IfDesc->Length);
|
||||
}
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
This file contains the definition for XHCI host controller schedule routines.
|
||||
|
||||
Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -620,7 +620,7 @@ typedef struct _SLOT_CONTEXT_64 {
|
||||
UINT32 RsvdZ9;
|
||||
UINT32 RsvdZ10;
|
||||
UINT32 RsvdZ11;
|
||||
|
||||
|
||||
UINT32 RsvdZ12;
|
||||
UINT32 RsvdZ13;
|
||||
UINT32 RsvdZ14;
|
||||
@@ -688,12 +688,12 @@ typedef struct _ENDPOINT_CONTEXT_64 {
|
||||
UINT32 RsvdZ5;
|
||||
UINT32 RsvdZ6;
|
||||
UINT32 RsvdZ7;
|
||||
|
||||
|
||||
UINT32 RsvdZ8;
|
||||
UINT32 RsvdZ9;
|
||||
UINT32 RsvdZ10;
|
||||
UINT32 RsvdZ11;
|
||||
|
||||
|
||||
UINT32 RsvdZ12;
|
||||
UINT32 RsvdZ13;
|
||||
UINT32 RsvdZ14;
|
||||
|
@@ -4,14 +4,14 @@
|
||||
// It produces gPeiUsb2HostControllerPpiGuid based on gPeiUsbControllerPpiGuid
|
||||
// which is used to enable recovery function from USB Drivers.
|
||||
//
|
||||
// Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions
|
||||
// of the BSD License which accompanies this distribution. The
|
||||
// full text of the license may be found at
|
||||
// http://opensource.org/licenses/bsd-license.php
|
||||
//
|
||||
//
|
||||
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// XhciPei Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -13,8 +13,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"XHCI PEI Module for Recovery"
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user