Home | History | Annotate | Download | only in PciBusDxe

Lines Matching refs:Node

92   This function inserts a resource node into the resource list.

95 @param Bridge PCI resource node for bridge.
96 @param ResNode Resource node want to be inserted.
185 @param Bridge PCI resource node for bridge.
196 PCI_RESOURCE_NODE *Node;
247 Node = RESOURCE_NODE_FROM_LINK (CurrentLink);
248 if (Node->ResourceUsage == PciResUsagePadding) {
250 PaddingAperture = Node->Length;
256 Offset = Aperture & (Node->Alignment);
260 Aperture = Aperture + (Node->Alignment + 1) - Offset;
270 if (!IS_PCI_BRIDGE (&(Node->PciDev->Pci)) && !IS_CARDBUS_BRIDGE (&(Node->PciDev->Pci))) {
278 Node->Length
280 Offset = Aperture & (Node->Alignment);
282 Aperture = Aperture + (Node->Alignment + 1) - Offset;
287 Node->Length
289 Offset = Aperture & (Node->Alignment);
291 Aperture = Aperture + (Node->Alignment + 1) - Offset;
297 Node->Offset = Aperture;
300 // Increment aperture by the length of node
302 Aperture += Node->Length;
321 Node = RESOURCE_NODE_FROM_LINK (CurrentLink);
322 if (Node->Alignment > Bridge->Alignment) {
323 Bridge->Alignment = Node->Alignment;
338 @param Bridge PCI resouce node for given bridge device.
348 PCI_RESOURCE_NODE *Node;
373 Node = RESOURCE_NODE_FROM_LINK (CurrentLink);
374 if (Node->ResourceUsage == PciResUsagePadding) {
376 PaddingAperture = Node->Length;
383 Offset = Aperture & (Node->Alignment);
387 Aperture = Aperture + (Node->Alignment + 1) - Offset;
395 Node->Offset = Aperture;
398 // Increment aperture by the length of node
400 Aperture += Node->Length;
427 Node = RESOURCE_NODE_FROM_LINK (CurrentLink);
428 if (Node->Alignment > Bridge->Alignment) {
429 Bridge->Alignment = Node->Alignment;
444 @param IoNode Resource info node for IO .
445 @param Mem32Node Resource info node for 32-bit memory.
446 @param PMem32Node Resource info node for 32-bit Prefetchable Memory.
447 @param Mem64Node Resource info node for 64-bit memory.
448 @param PMem64Node Resource info node for 64-bit Prefetchable Memory.
463 PCI_RESOURCE_NODE *Node;
466 Node = NULL;
475 Node = CreateResourceNode (
486 Node
494 Node = CreateResourceNode (
505 Node
513 Node = CreateResourceNode (
524 Node
532 Node = CreateResourceNode (
543 Node
551 Node = CreateResourceNode (
562 Node
584 Node = CreateVfResourceNode (
595 Node
602 Node = CreateVfResourceNode (
613 Node
620 Node = CreateVfResourceNode (
631 Node
638 Node = CreateVfResourceNode (
649 Node
673 This function is used to create a resource node.
682 @return PCI resource node created for given PCI device.
683 NULL means PCI resource node is not created.
696 PCI_RESOURCE_NODE *Node;
698 Node = NULL;
700 Node = AllocateZeroPool (sizeof (PCI_RESOURCE_NODE));
701 ASSERT (Node != NULL);
702 if (Node == NULL) {
706 Node->Signature = PCI_RESOURCE_SIGNATURE;
707 Node->PciDev = PciDev;
708 Node->Length = Length;
709 Node->Alignment = Alignment;
710 Node->Bar = Bar;
711 Node->ResType = ResType;
712 Node->Reserved = FALSE;
713 Node->ResourceUsage = ResUsage;
714 InitializeListHead (&Node->ChildList);
716 return Node;
720 This function is used to create a IOV VF resource node.
729 @return PCI resource node created for given VF PCI device.
730 NULL means PCI resource node is not created.
743 PCI_RESOURCE_NODE *Node;
745 Node = CreateResourceNode (PciDev, Length, Alignment, Bar, ResType, ResUsage);
746 if (Node == NULL) {
747 return Node;
750 Node->Virtual = TRUE;
752 return Node;
757 device node list.
760 @param IoNode Resource info node for IO.
761 @param Mem32Node Resource info node for 32-bit memory.
762 @param PMem32Node Resource info node for 32-bit Prefetchable Memory.
763 @param Mem64Node Resource info node for 64-bit memory.
764 @param PMem64Node Resource info node for 64-bit Prefetchable Memory.
795 // no any resource node will be created for this device
809 // If the device has children, create a bridge resource node for this PPB
881 // If there is node under this resource bridge,
897 // If there is node under this resource bridge,
913 // If there is node under this resource bridge,
929 // If there is node under this resource bridge,
1000 @param IoNode Resource info node for IO.
1001 @param Mem32Node Resource info node for 32-bit memory.
1002 @param PMem32Node Resource info node for 32-bit Prefetchable Memory.
1003 @param Mem64Node Resource info node for 64-bit memory.
1004 @param PMem64Node Resource info node for 64-bit Prefetchable Memory.
1018 // Create padding resource node
1040 @param Mem32Node Resource info node for 32-bit memory.
1041 @param PMem32Node Resource info node for 32-bit Prefetchable Memory.
1042 @param Mem64Node Resource info node for 64-bit memory.
1043 @param PMem64Node Resource info node for 64-bit Prefetchable Memory.
1220 for each resource node under specified bridge.
1223 @param Bridge PCI resource node for the bridge device.
1237 PCI_RESOURCE_NODE *Node;
1248 Node = RESOURCE_NODE_FROM_LINK (CurrentLink);
1250 if (!IS_PCI_BRIDGE (&(Node->PciDev->Pci))) {
1252 if (IS_CARDBUS_BRIDGE (&(Node->PciDev->Pci))) {
1256 ProgramP2C (Base, Node);
1261 ProgramBar (Base, Node);
1267 Status = ProgramResource (Base + Node->Offset, Node);
1272 ProgramPpbApperture (Base, Node);
1285 @param Node Point to resoure node structure.
1291 IN PCI_RESOURCE_NODE *Node
1298 ASSERT (Node->Bar < PCI_MAX_BAR);
1303 if (Node->Virtual) {
1304 ProgramVfBar (Base, Node);
1309 PciIo = &(Node->PciDev->PciIo);
1311 Address = Base + Node->Offset;
1319 Node->PciDev->Allocated = TRUE;
1321 switch ((Node->PciDev->PciBar[Node->Bar]).BarType) {
1331 (Node->PciDev->PciBar[Node->Bar]).Offset,
1336 Node->PciDev->PciBar[Node->Bar].BaseAddress = Address;
1348 (Node->PciDev->PciBar[Node->Bar]).Offset,
1358 (UINT8) ((Node->PciDev->PciBar[Node->Bar]).Offset + 4),
1363 Node->PciDev->PciBar[Node->Bar].BaseAddress = Address;
1376 @param Node Point to resoure node structure.
1382 IN PCI_RESOURCE_NODE *Node
1389 ASSERT (Node->Bar < PCI_MAX_BAR);
1390 ASSERT (Node->Virtual);
1393 PciIo = &(Node->PciDev->PciIo);
1395 Address = Base + Node->Offset;
1403 Node->PciDev->Allocated = TRUE;
1405 switch ((Node->PciDev->VfPciBar[Node->Bar]).BarType) {
1413 (Node->PciDev->VfPciBar[Node->Bar]).Offset,
1418 Node->PciDev->VfPciBar[Node->Bar].BaseAddress = Address;
1429 (Node->PciDev->VfPciBar[Node->Bar]).Offset,
1439 ((Node->PciDev->VfPciBar[Node->Bar]).Offset + 4),
1444 Node->PciDev->VfPciBar[Node->Bar].BaseAddress = Address;
1462 @param Node Point to resoure node structure.
1468 IN PCI_RESOURCE_NODE *Node
1480 if (Node->Length == 0 || Node->ResourceUsage == PciResUsagePadding) {
1482 // For padding resource node, just ignore when programming
1487 PciIo = &(Node->PciDev->PciIo);
1488 Address = Base + Node->Offset;
1493 Node->PciDev->Allocated = TRUE;
1495 switch (Node->Bar) {
1499 switch ((Node->PciDev->PciBar[Node->Bar]).BarType) {
1509 (Node->PciDev->PciBar[Node->Bar]).Offset,
1514 Node->PciDev->PciBar[Node->Bar].BaseAddress = Address;
1515 Node->PciDev->PciBar[Node->Bar].Length = Node->Length;
1526 (Node->PciDev->PciBar[Node->Bar]).Offset,
1536 (UINT8) ((Node->PciDev->PciBar[Node->Bar]).Offset + 4),
1541 Node->PciDev->PciBar[Node->Bar].BaseAddress = Address;
1542 Node->PciDev->PciBar[Node->Bar].Length = Node->Length;
1570 Address32 = (UINT32) (Address + Node->Length - 1);
1589 Node->PciDev->PciBar[Node->Bar].BaseAddress = Address;
1590 Node->PciDev->PciBar[Node->Bar].Length = Node->Length;
1604 Address32 = (UINT32) (Address + Node->Length - 1);
1614 Node->PciDev->PciBar[Node->Bar].BaseAddress = Address;
1615 Node->PciDev->PciBar[Node->Bar].Length = Node->Length;
1630 Address32 = (UINT32) (Address + Node->Length - 1);
1649 Address32 = (UINT32) RShiftU64 ((Address + Node->Length - 1), 32);
1658 Node->PciDev->PciBar[Node->Bar].BaseAddress = Address;
1659 Node->PciDev->PciBar[Node->Bar].Length = Node->Length;
1683 PCI_RESOURCE_NODE Node;
1688 ZeroMem (&Node, sizeof (Node));
1694 Node.PciDev = Parent;
1695 Node.Length = PciDevice->RomSize;
1696 Node.Alignment = 0;
1697 Node.Bar = PPB_MEM32_RANGE;
1698 Node.ResType = PciBarTypeMem32;
1699 Node.Offset = 0;
1705 ProgramPpbApperture (OptionRomBase, &Node);
1719 @param Bridge Point to resource node for a bridge.
1762 @param Bridge PCI resource root node of resource tree.
1794 @param IoNode Resource info node for IO.
1795 @param Mem32Node Resource info node for 32-bit memory.
1796 @param PMem32Node Resource info node for 32-bit Prefetchable Memory.
1797 @param Mem64Node Resource info node for 64-bit memory.
1798 @param PMem64Node Resource info node for 64-bit Prefetchable Memory.
1811 PCI_RESOURCE_NODE *Node;
1813 Node = NULL;
1819 Node = CreateResourceNode (
1830 Node
1837 Node = CreateResourceNode (
1848 Node
1855 Node = CreateResourceNode (
1866 Node
1873 Node = CreateResourceNode (
1884 Node
1889 Program PCI Card device register for given resource node.
1892 @param Node Given resource node.
1898 IN PCI_RESOURCE_NODE *Node
1907 PciIo = &(Node->PciDev->PciIo);
1909 Address = Base + Node->Offset;
1917 Node->PciDev->Allocated = TRUE;
1919 switch (Node->Bar) {
1925 (Node->PciDev->PciBar[Node->Bar]).Offset,
1930 Node->PciDev->PciBar[Node->Bar].BaseAddress = Address;
1931 Node->PciDev->PciBar[Node->Bar].Length = Node->Length;
1943 TempAddress = Address + Node->Length - 1;
1952 if (Node->ResType == PciBarTypeMem32) {
1995 Node->PciDev->PciBar[Node->Bar].BaseAddress = Address;
1996 Node->PciDev->PciBar[Node->Bar].Length = Node->Length;
1997 Node->PciDev->PciBar[Node->Bar].BarType = Node->ResType;
2010 TempAddress = Address + Node->Length - 1;
2020 if (Node->ResType == PciBarTypeMem32) {
2065 Node->PciDev->PciBar[Node->Bar].BaseAddress = Address;
2066 Node->PciDev->PciBar[Node->Bar].Length = Node->Length;
2067 Node->PciDev->PciBar[Node->Bar].BarType = Node->ResType;
2079 TempAddress = Address + Node->Length - 1;
2088 Node->PciDev->PciBar[Node->Bar].BaseAddress = Address;
2089 Node->PciDev->PciBar[Node->Bar].Length = Node->Length;
2090 Node->PciDev->PciBar[Node->Bar].BarType = Node->ResType;
2103 TempAddress = Address + Node->Length - 1;
2112 Node->PciDev->PciBar[Node->Bar].BaseAddress = Address;
2113 Node->PciDev->PciBar[Node->Bar].Length = Node->Length;
2114 Node->PciDev->PciBar[Node->Bar].BarType = Node->ResType;
2123 Create padding resource node.
2126 @param IoNode Resource info node for IO.
2127 @param Mem32Node Resource info node for 32-bit memory.
2128 @param PMem32Node Resource info node for 32-bit Prefetchable Memory.
2129 @param Mem64Node Resource info node for 64-bit memory.
2130 @param PMem64Node Resource info node for 64-bit Prefetchable Memory.
2144 PCI_RESOURCE_NODE *Node;
2155 Node = CreateResourceNode (
2165 Node
2182 Node = CreateResourceNode (
2192 Node
2205 Node = CreateResourceNode (
2215 Node
2231 Node = CreateResourceNode (
2241 Node
2254 Node = CreateResourceNode (
2264 Node