MdePkg: 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>
This commit is contained in:
@@ -1,64 +1,64 @@
|
||||
/** @file
|
||||
This file declares Incompatible PCI Device Support Protocol
|
||||
|
||||
Allows the PCI bus driver to support resource allocation for some PCI devices
|
||||
|
||||
Allows the PCI bus driver to support resource allocation for some PCI devices
|
||||
that do not comply with the PCI Specification.
|
||||
|
||||
@par Note:
|
||||
This protocol is optional. Only those platforms that implement this protocol
|
||||
will have the capability to support incompatible PCI devices. The absence of
|
||||
this protocol can cause the PCI bus driver to configure these incompatible
|
||||
PCI devices incorrectly. As a result, these devices may not work properly.
|
||||
|
||||
|
||||
@par Note:
|
||||
This protocol is optional. Only those platforms that implement this protocol
|
||||
will have the capability to support incompatible PCI devices. The absence of
|
||||
this protocol can cause the PCI bus driver to configure these incompatible
|
||||
PCI devices incorrectly. As a result, these devices may not work properly.
|
||||
|
||||
The EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL is used by the PCI bus driver
|
||||
to support resource allocation for some PCI devices that do not comply with the
|
||||
PCI Specification. This protocol can find some incompatible PCI devices and
|
||||
report their special resource requirements to the PCI bus driver. The generic
|
||||
PCI bus driver does not have prior knowledge of any incompatible PCI devices.
|
||||
It interfaces with the EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL to find out
|
||||
if a device is incompatible and to obtain the special configuration requirements
|
||||
to support resource allocation for some PCI devices that do not comply with the
|
||||
PCI Specification. This protocol can find some incompatible PCI devices and
|
||||
report their special resource requirements to the PCI bus driver. The generic
|
||||
PCI bus driver does not have prior knowledge of any incompatible PCI devices.
|
||||
It interfaces with the EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL to find out
|
||||
if a device is incompatible and to obtain the special configuration requirements
|
||||
for a specific incompatible PCI device.
|
||||
|
||||
This protocol is optional, and only one instance of this protocol can be present
|
||||
in the system. If a platform supports this protocol, this protocol is produced
|
||||
by a Driver Execution Environment (DXE) driver and must be made available before
|
||||
the Boot Device Selection (BDS) phase. The PCI bus driver will look for the
|
||||
presence of this protocol before it begins PCI enumeration. If this protocol
|
||||
in the system. If a platform supports this protocol, this protocol is produced
|
||||
by a Driver Execution Environment (DXE) driver and must be made available before
|
||||
the Boot Device Selection (BDS) phase. The PCI bus driver will look for the
|
||||
presence of this protocol before it begins PCI enumeration. If this protocol
|
||||
exists in a platform, it indicates that the platform has the capability to support
|
||||
those incompatible PCI devices. However, final support for incompatible PCI
|
||||
devices still depends on the implementation of the PCI bus driver. The PCI bus
|
||||
driver may fully, partially, or not even support these incompatible devices.
|
||||
those incompatible PCI devices. However, final support for incompatible PCI
|
||||
devices still depends on the implementation of the PCI bus driver. The PCI bus
|
||||
driver may fully, partially, or not even support these incompatible devices.
|
||||
|
||||
During PCI bus enumeration, the PCI bus driver will probe the PCI Base Address
|
||||
Registers (BARs) for each PCI device regardless of whether the PCI device is
|
||||
incompatible or not to determine the resource requirements so that the PCI bus
|
||||
driver can invoke the proper PCI resources for them. Generally, this resource
|
||||
During PCI bus enumeration, the PCI bus driver will probe the PCI Base Address
|
||||
Registers (BARs) for each PCI device regardless of whether the PCI device is
|
||||
incompatible or not to determine the resource requirements so that the PCI bus
|
||||
driver can invoke the proper PCI resources for them. Generally, this resource
|
||||
information includes the following:
|
||||
- Resource type
|
||||
- Resource length
|
||||
- Alignment
|
||||
|
||||
|
||||
However, some incompatible PCI devices may have special requirements. As a result,
|
||||
the length or the alignment that is derived through BAR probing may not be exactly
|
||||
the same as the actual resource requirement of the device. For example, there
|
||||
the length or the alignment that is derived through BAR probing may not be exactly
|
||||
the same as the actual resource requirement of the device. For example, there
|
||||
are some devices that request I/O resources at a length of 0x100 from their I/O
|
||||
BAR, but these incompatible devices will never work correctly if an odd I/O base
|
||||
address, such as 0x100, 0x300, or 0x500, is assigned to the BAR. Instead, these
|
||||
devices request an even base address, such as 0x200 or 0x400. The Incompatible
|
||||
PCI Device Support Protocol can then be used to obtain these special resource
|
||||
requirements for these incompatible PCI devices. In this way, the PCI bus driver
|
||||
will take special consideration for these devices during PCI resource allocation
|
||||
BAR, but these incompatible devices will never work correctly if an odd I/O base
|
||||
address, such as 0x100, 0x300, or 0x500, is assigned to the BAR. Instead, these
|
||||
devices request an even base address, such as 0x200 or 0x400. The Incompatible
|
||||
PCI Device Support Protocol can then be used to obtain these special resource
|
||||
requirements for these incompatible PCI devices. In this way, the PCI bus driver
|
||||
will take special consideration for these devices during PCI resource allocation
|
||||
to ensure that they can work correctly.
|
||||
|
||||
|
||||
This protocol may support the following incompatible PCI BAR types:
|
||||
- I/O or memory length that is different from what the BAR reports
|
||||
- I/O or memory alignment that is different from what the BAR reports
|
||||
- Fixed I/O or memory base address
|
||||
|
||||
See the Conventional PCI Specification 3.0 for the details of how a PCI BAR
|
||||
|
||||
See the Conventional PCI Specification 3.0 for the details of how a PCI BAR
|
||||
reports the resource length and the alignment that it requires.
|
||||
|
||||
Copyright (c) 2007 - 2009, 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
|
||||
@@ -68,7 +68,7 @@
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
This Protocol is defined in UEFI Platform Initialization Specification 1.2
|
||||
This Protocol is defined in UEFI Platform Initialization Specification 1.2
|
||||
Volume 5: Standards
|
||||
|
||||
**/
|
||||
@@ -92,51 +92,51 @@ typedef struct _EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL EFI_INCOMPATIBLE_PC
|
||||
/**
|
||||
Returns a list of ACPI resource descriptors that detail the special resource
|
||||
configuration requirements for an incompatible PCI device.
|
||||
|
||||
This function returns a list of ACPI resource descriptors that detail the
|
||||
special resource configuration requirements for an incompatible PCI device.
|
||||
|
||||
|
||||
This function returns a list of ACPI resource descriptors that detail the
|
||||
special resource configuration requirements for an incompatible PCI device.
|
||||
|
||||
Prior to bus enumeration, the PCI bus driver will look for the presence
|
||||
of the EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL. Only one instance of this
|
||||
protocol can be present in the system. For each PCI device that the PCI bus
|
||||
protocol can be present in the system. For each PCI device that the PCI bus
|
||||
driver discovers, the PCI bus driver calls this function with the device's vendor
|
||||
ID, device ID, revision ID, subsystem vendor ID, and subsystem device ID. If the
|
||||
VendorId, DeviceId, RevisionId, SubsystemVendorId, or SubsystemDeviceId value is
|
||||
set to (UINTN)-1, that field will be ignored. The ID values that are not (UINTN)-1
|
||||
will be used to identify the current device.
|
||||
|
||||
This function will only return EFI_SUCCESS. However, if the device is an
|
||||
incompatible PCI device, a list of ACPI resource descriptors will be returned
|
||||
in Configuration. Otherwise, NULL will be returned in Configuration instead.
|
||||
The PCI bus driver does not need to allocate memory for Configuration. However,
|
||||
it is the PCI bus driver's responsibility to free it. The PCI bus driver then
|
||||
can configure this device with the information that is derived from this list
|
||||
will be used to identify the current device.
|
||||
|
||||
This function will only return EFI_SUCCESS. However, if the device is an
|
||||
incompatible PCI device, a list of ACPI resource descriptors will be returned
|
||||
in Configuration. Otherwise, NULL will be returned in Configuration instead.
|
||||
The PCI bus driver does not need to allocate memory for Configuration. However,
|
||||
it is the PCI bus driver's responsibility to free it. The PCI bus driver then
|
||||
can configure this device with the information that is derived from this list
|
||||
of resource nodes, rather than the result of BAR probing.
|
||||
|
||||
Only the following two resource descriptor types from the ACPI Specification
|
||||
Only the following two resource descriptor types from the ACPI Specification
|
||||
may be used to describe the incompatible PCI device resource requirements:
|
||||
- QWORD Address Space Descriptor (ACPI 2.0, section 6.4.3.5.1; also ACPI 3.0)
|
||||
- End Tag (ACPI 2.0, section 6.4.2.8; also ACPI 3.0)
|
||||
|
||||
The QWORD Address Space Descriptor can describe memory, I/O, and bus number
|
||||
ranges for dynamic or fixed resources. The configuration of a PCI root bridge
|
||||
is described with one or more QWORD Address Space Descriptors, followed by an
|
||||
The QWORD Address Space Descriptor can describe memory, I/O, and bus number
|
||||
ranges for dynamic or fixed resources. The configuration of a PCI root bridge
|
||||
is described with one or more QWORD Address Space Descriptors, followed by an
|
||||
End Tag. See the ACPI Specification for details on the field values.
|
||||
|
||||
@param[in] This Pointer to the EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL
|
||||
|
||||
@param[in] This Pointer to the EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL
|
||||
instance.
|
||||
@param[in] VendorId A unique ID to identify the manufacturer of
|
||||
@param[in] VendorId A unique ID to identify the manufacturer of
|
||||
the PCI device. See the Conventional PCI
|
||||
Specification 3.0 for details.
|
||||
@param[in] DeviceId A unique ID to identify the particular PCI
|
||||
device. See the Conventional PCI Specification
|
||||
@param[in] DeviceId A unique ID to identify the particular PCI
|
||||
device. See the Conventional PCI Specification
|
||||
3.0 for details.
|
||||
@param[in] RevisionId A PCI device-specific revision identifier.
|
||||
@param[in] RevisionId A PCI device-specific revision identifier.
|
||||
See the Conventional PCI Specification 3.0
|
||||
for details.
|
||||
@param[in] SubsystemVendorId Specifies the subsystem vendor ID. See the
|
||||
@param[in] SubsystemVendorId Specifies the subsystem vendor ID. See the
|
||||
Conventional PCI Specification 3.0 for details.
|
||||
@param[in] SubsystemDeviceId Specifies the subsystem device ID. See the
|
||||
@param[in] SubsystemDeviceId Specifies the subsystem device ID. See the
|
||||
Conventional PCI Specification 3.0 for details.
|
||||
@param[out] Configuration A list of ACPI resource descriptors that detail
|
||||
the configuration requirement.
|
||||
|
Reference in New Issue
Block a user