linux-api.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/5] PCI: Add support for PCI Enhanced Allocation "BARs"
@ 2015-10-02 22:37 David Daney
  2015-10-02 22:37 ` [PATCH v4 1/5] PCI: Add Enhanced Allocation register entries David Daney
                   ` (4 more replies)
  0 siblings, 5 replies; 20+ messages in thread
From: David Daney @ 2015-10-02 22:37 UTC (permalink / raw)
  To: linux-kernel, linux-pci, Bjorn Helgaas, Michael S. Tsirkin,
	Rafał Miłecki, linux-api, Sean O. Stalley, yinghai,
	rajatxjain, gong.chen
  Cc: David Daney

From: David Daney <david.daney@cavium.com>

The original patches are from Sean O. Stalley. I made a few tweaks,
but feel that it is substancially Sean's work, so I am keeping the
patch set version numbering scheme going.

Tested on Cavium ThunderX system with 4 Root Complexes containing 50
devices/bridges provisioned with EA.

Here is Sean's description of the patches:

PCI Enhanced Allocation is a new method of allocating MMIO & IO
resources for PCI devices & bridges. It can be used instead
of the traditional PCI method of using BARs.

EA entries are hardware-initialized to a fixed address.
Unlike BARs, regions described by EA are cannot be moved.
Because of this, only devices which are permanently connected to
the PCI bus can use EA. A removable PCI card must not use EA.

This patchset adds support for using EA entries instead of BARs
on Root Complex Integrated Endpoints.

The Enhanced Allocation ECN is publicly available here:
https://www.pcisig.com/specifications/conventional/ECN_Enhanced_Allocation_23_Oct_2014_Final.pdf


Changes from V1:
	- Use generic PCI resource claim functions (instead of EA-specific functions)
	- Only add support for RCiEPs (instead of all devices).
	- Removed some debugging messages leftover from early testing.

Changes from V2 (By David Daney):
	- Add ea_cap to struct pci_device, to aid in finding the EA capability.
	- Factored EA entity decoding into a separate function.
	- Add functions to find EA entities by BEI or Property.
	- Add handling of EA provisioned bridges.
	- Add handling of EA SRIOV BARs.
	- Try to assign proper resource parent so that SRIOV device creation can occur.

Changes from V3 (By David Daney):
	- Discarded V3 changes and started over fresh based on Sean's V2.
	- Add more support/checking for Entry Properties.
	- Allow EA behind bridges.
	- Rewrite some error messages.
	- Add patch 3/5 to prevent resizing, and better handle
          assigning, of fixed EA resources.
	- Add patch 4/5 to handle EA provisioned SRIOV devices.
	- Add patch 5/5 to handle EA provisioned bridges.

David Daney (3):
  PCI: Handle IORESOURCE_PCI_FIXED when sizing and assigning resources.
  PCI: Handle Enhanced Allocation (EA) capability for SRIOV devices.
  PCI: Handle Enhanced Allocation (EA) capability for bridges

Sean O. Stalley (2):
  PCI: Add Enhanced Allocation register entries
  PCI: Add support for Enhanced Allocation devices

 drivers/pci/bus.c             |   7 ++
 drivers/pci/iov.c             |  11 ++-
 drivers/pci/pci.c             | 202 ++++++++++++++++++++++++++++++++++++++++++
 drivers/pci/pci.h             |   1 +
 drivers/pci/probe.c           |  34 ++++++-
 drivers/pci/setup-bus.c       |  63 ++++++++++++-
 include/linux/pci.h           |   1 +
 include/uapi/linux/pci_regs.h |  44 ++++++++-
 8 files changed, 355 insertions(+), 8 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2015-10-06 20:58 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-02 22:37 [PATCH v4 0/5] PCI: Add support for PCI Enhanced Allocation "BARs" David Daney
2015-10-02 22:37 ` [PATCH v4 1/5] PCI: Add Enhanced Allocation register entries David Daney
2015-10-02 22:37 ` [PATCH v4 2/5] PCI: Add support for Enhanced Allocation devices David Daney
2015-10-02 22:37 ` [PATCH v4 4/5] PCI: Handle Enhanced Allocation (EA) capability for SRIOV devices David Daney
2015-10-02 22:37 ` [PATCH v4 5/5] PCI: Handle Enhanced Allocation (EA) capability for bridges David Daney
     [not found]   ` <1443825476-26880-6-git-send-email-ddaney.cavm-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-10-05 22:54     ` Sean O. Stalley
2015-10-05 23:01       ` David Daney
     [not found] ` <1443825476-26880-1-git-send-email-ddaney.cavm-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-10-02 22:37   ` [PATCH v4 3/5] PCI: Handle IORESOURCE_PCI_FIXED when sizing and assigning resources David Daney
2015-10-02 23:14     ` Yinghai Lu
2015-10-02 23:38       ` David Daney
2015-10-03  3:00         ` Yinghai Lu
2015-10-05 22:44           ` Sean O. Stalley
     [not found]     ` <1443825476-26880-4-git-send-email-ddaney.cavm-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-10-05 22:23       ` Sean O. Stalley
     [not found]         ` <20151005222351.GA4821-KQ5zpJUXklQTH34CoL1+91DQ4js95KgL@public.gmane.org>
2015-10-06 20:58           ` David Daney
2015-10-02 23:47   ` [PATCH v4 0/5] PCI: Add support for PCI Enhanced Allocation "BARs" Sean O. Stalley
2015-10-03  3:16   ` Yinghai Lu
     [not found]     ` <CAE9FiQXT0ux42gQ+DhpVv2K=BR4jC++LmNdCSLiK4Wy0BhL=HQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-10-05 16:49       ` David Daney
2015-10-05 23:05       ` Sean O. Stalley
2015-10-06  1:17         ` David Daney
2015-10-06 15:47           ` Sean O. Stalley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).