linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/27] PCI: Add for_each_pci_resource and addon_res support
@ 2013-03-13 23:27 Yinghai Lu
  2013-03-13 23:27 ` [PATCH v3 01/27] PCI: Add pci_dev_resource_n() Yinghai Lu
                   ` (26 more replies)
  0 siblings, 27 replies; 40+ messages in thread
From: Yinghai Lu @ 2013-03-13 23:27 UTC (permalink / raw)
  To: Bjorn Helgaas, Ram Pai; +Cc: linux-pci, linux-kernel, Yinghai Lu

First part is for_each_pci_resource support:
Now pci device resource iteration is done via "for (i=0...)" open code.
That make code hard to read esp when only bridge or sriov resources
are involved.

We want to replace those open code with for_each_pci_resource() to make
the code more readable.
Also will add addon_resource handling, and need to make addon resource
to be treated as normal PCI resources during iteration, add
for_each_pci_resource will make that support transition more simple.

To make for_each_pci_resource more efficient. We will use preset bitmap
of different type for searching next idx.

Second parts is addon_res support:
Now there is some non normal pci resources other than standard,rom,
sriov, bridges.
Some could be same as standard reg, but using different position.
Some could have own way to read/write to them.
Kernel are using different way to hack those resources like abusing
pci bridge resource spot on non bridge pci device.

Add addon_resources list in pci_dev for those non-standard resources.
With this patch, will treat addon-resource like standard resources with
special ops.

At last replace some quirk_io with addon_res.

could get from
        git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git for-pci-for-each-res-addon-v3
on top of v3.9-rc2

-v3: rebase on of v3.9-rc2

Thanks

Yinghai Lu

Ram Pai (1):
  PCI: pci resource iterator

Yinghai Lu (26):
  PCI: Add pci_dev_resource_n()
  PCI: Add pci_dev_resource_idx() helper
  PCI: Add is_pci_*_resource_idx() helpers
  PCI: Update pci_resource_start etc to use pci_dev_resource_n()
  PCI, x86: Use for_each_pci_resource() with pci_allocate_bridge_resources
  PCI, x86: Use for_each_pci_resource() with pci_allocate_dev_resources
  PCI: Use for_each_pci_resource() with IOV releated functions
  PCI, acpiphp: Use for_each_pci_resource() helper
  PCI, pciehp: Use for_each_pci_resource() helper
  PCI: Use for_each_pci_resource() in pci_enable_dev
  PCI: Use for_each_pci_resource() in pci_reassigndev
  PCI: Use for_each_pci_resource() with pci bar reassign funcs
  PCI: Use for_each_pci_resource() in pci_assign_resource
  PCI, x86: Use for_each_pci_resource() with noassign_bars
  PCI: Use for_each_pci_resource() in pci_dev_driver()
  PCI: Use for_each_pci_resource() in pci resource release
  PCI: Use for_each_pci_resource() in pci bases reading
  PCI, x86: Use for_each_pci_resource() with mrst
  PCI, xen: Use for_each_pci_resource() with xen pci
  PCI: Add addon_resource support for pci devices
  PCI: Add helpers to add addon_resource
  PCI: Update pci_resource_bar() to support addon_resource
  PCI: Assign/update resource to addon_res
  PCI: Make piix4 quirk to use addon_res
  PCI: Make quirk_io_region to use addon_res
  PCI: Use addon_fixed_resource with ati fixed resource

 arch/x86/pci/common.c              |    3 +-
 arch/x86/pci/i386.c                |   58 +++-----
 arch/x86/pci/mrst.c                |    7 +-
 drivers/pci/hotplug/acpiphp_glue.c |    4 +-
 drivers/pci/hotplug/pciehp_hpc.c   |    5 +-
 drivers/pci/iov.c                  |   31 +++--
 drivers/pci/pci-driver.c           |    6 +-
 drivers/pci/pci.c                  |   27 ++--
 drivers/pci/probe.c                |  176 ++++++++++++++++++++++++-
 drivers/pci/quirks.c               |  256 +++++++++++++++++++++---------------
 drivers/pci/remove.c               |    5 +-
 drivers/pci/setup-bus.c            |   28 ++--
 drivers/pci/setup-res.c            |   38 ++++--
 drivers/pci/xen-pcifront.c         |    4 +-
 include/linux/pci.h                |   79 ++++++++++-
 15 files changed, 508 insertions(+), 219 deletions(-)

-- 
1.7.10.4


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

end of thread, other threads:[~2013-04-28  6:09 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-13 23:27 [PATCH v3 00/27] PCI: Add for_each_pci_resource and addon_res support Yinghai Lu
2013-03-13 23:27 ` [PATCH v3 01/27] PCI: Add pci_dev_resource_n() Yinghai Lu
2013-03-13 23:27 ` [PATCH v3 02/27] PCI: Add pci_dev_resource_idx() helper Yinghai Lu
2013-04-04 22:00   ` Bjorn Helgaas
2013-03-13 23:27 ` [PATCH v3 03/27] PCI: pci resource iterator Yinghai Lu
2013-04-04 22:18   ` Bjorn Helgaas
2013-04-09  4:51     ` Ram Pai
2013-04-10 15:22       ` Bjorn Helgaas
2013-04-25  3:55         ` Ram Pai
2013-04-25 17:22           ` Bjorn Helgaas
2013-04-28  6:08             ` Ram Pai
2013-04-10 16:12     ` Yinghai Lu
2013-03-13 23:27 ` [PATCH v3 04/27] PCI: Add is_pci_*_resource_idx() helpers Yinghai Lu
2013-04-04 22:23   ` Bjorn Helgaas
2013-03-13 23:28 ` [PATCH v3 05/27] PCI: Update pci_resource_start etc to use pci_dev_resource_n() Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 06/27] PCI, x86: Use for_each_pci_resource() with pci_allocate_bridge_resources Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 07/27] PCI, x86: Use for_each_pci_resource() with pci_allocate_dev_resources Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 08/27] PCI: Use for_each_pci_resource() with IOV releated functions Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 09/27] PCI, acpiphp: Use for_each_pci_resource() helper Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 10/27] PCI, pciehp: " Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 11/27] PCI: Use for_each_pci_resource() in pci_enable_dev Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 12/27] PCI: Use for_each_pci_resource() in pci_reassigndev Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 13/27] PCI: Use for_each_pci_resource() with pci bar reassign funcs Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 14/27] PCI: Use for_each_pci_resource() in pci_assign_resource Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 15/27] PCI, x86: Use for_each_pci_resource() with noassign_bars Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 16/27] PCI: Use for_each_pci_resource() in pci_dev_driver() Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 17/27] PCI: Use for_each_pci_resource() in pci resource release Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 18/27] PCI: Use for_each_pci_resource() in pci bases reading Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 19/27] PCI, x86: Use for_each_pci_resource() with mrst Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 20/27] PCI, xen: Use for_each_pci_resource() with xen pci Yinghai Lu
2013-03-15 13:35   ` Konrad Rzeszutek Wilk
2013-03-13 23:28 ` [PATCH v3 21/27] PCI: Add addon_resource support for pci devices Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 22/27] PCI: Add helpers to add addon_resource Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 23/27] PCI: Update pci_resource_bar() to support addon_resource Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 24/27] PCI: Assign/update resource to addon_res Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 25/27] PCI: Make piix4 quirk to use addon_res Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 26/27] PCI: Make quirk_io_region " Yinghai Lu
2013-04-04 21:35   ` Bjorn Helgaas
2013-04-10  2:17     ` Yinghai Lu
2013-03-13 23:28 ` [PATCH v3 27/27] PCI: Use addon_fixed_resource with ati fixed resource Yinghai Lu

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).