[PATCH -v2 0/3] PCI: Convert maintaining FW-assigned BIOS BAR values to a list of temporary entries

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In commit 58c84eda075 functionality was introduced that attempts to
reinstate the original, FW-assigned, BAR addresses of a PCI device when
normal resource assignment fails.  To keep track of the BIOS BAR
addresses, struct pci_dev was augmented with an array to hold the device's
BAR addresses: 'resource_size_t fw_addr[DEVICE_COUNT_RESOURCE]'.

The reinstatement of BAR addresses is an uncommon event leaving the
'fw_addr' array unused under normal circumstances.  As the use of struct
pci_dev is so prevalent, this seems wasteful.

This patch series introduces a stand alone data structure and
corresponding interface routine that is used in converting the
underlying aspects of the existing maintanence scheme to a list of
temporary BIOS BAR value entries.

[v2]
 - Simplified list maintenance by adding a routine, and call to such,
   to delete the entire list once PCI enumeration is complete (as opposed
   to keeping reference counters and deleting entries as the reference
   counts go to 0).
 - Reinstatement of FW-assigned BAR addresses is currently only
   implemented for x86 so I relocated the stand alone data structure and
   maintenance routines within an x86 architecture specific file and
   introduced a '__weak' attribute generic interface routine -
   'pcibios_retrieve_fw_addr()' which returns a failure condition - into
   the PCI core that resolves the interface for all other architectures.

---

Myron Stowe (3):
      x86/PCI: Convert maintaining FW-assigned BIOS BAR values to use a list
      x86/PCI: Infrastructure to maintain a list of FW-assigned BIOS BAR values
      PCI: Fix starting basis for resource requests


 arch/x86/pci/i386.c     |   83 ++++++++++++++++++++++++++++++++++++++++++++++-
 drivers/pci/setup-res.c |   36 ++++++++++++++++----
 include/linux/pci.h     |    2 +
 3 files changed, 112 insertions(+), 9 deletions(-)

-- 
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux