linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [git pull] PCI pull request #2 for 2.6.28
@ 2008-10-23  0:14 Jesse Barnes
  2008-10-23 17:46 ` Linus Torvalds
  0 siblings, 1 reply; 4+ messages in thread
From: Jesse Barnes @ 2008-10-23  0:14 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Linux Kernel Development, linux-pci

Please pull my linux-next branch:
git pull git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6.git linux-next

A few more bits for 2.6.28, mainly hotplug related stuff so the risk should be
pretty low.  There are a few good fixes in here though too: a build fix for
some architectures due to the new ioremap_nocache usage in pci.h and a fix for
a refcounting bug.

Thanks,
Jesse

Alex Chiang (16):
      PCI Hotplug core: add 'name' param pci_hp_register interface
      PCI: rename pci_update_slot_number to pci_renumber_slot
      PCI: update pci_create_slot() to take a 'hotplug' param
      PCI: prevent duplicate slot names
      PCI: acpiphp: remove 'name' parameter
      PCI: cpci_hotplug: stop managing hotplug_slot->name
      PCI: cpqphp: stop managing hotplug_slot->name
      PCI, PCI Hotplug: introduce slot_name helpers
      PCI: fakephp: remove 'name' parameter
      PCI: ibmphp: stop managing hotplug_slot->name
      PCI: pciehp: remove 'name' parameter
      PCI: rpaphp: kmalloc/kfree slot->name directly
      PCI: SGI Hotplug: stop managing bss_hotplug_slot->name
      PCI: shcphp: remove 'name' parameter
      PCI: Hotplug core: remove 'name'
      PCI Hotplug: fakephp: add duplicate slot name debugging

Benjamin Herrenschmidt (1):
      PCI: Workaround invalid P2P bridge bus numbers

Geert Uytterhoeven (1):
      PCI: PCI_QUIRKS depends on PCI

Jesse Barnes (2):
      PCI: include io.h in pci.h so that ioremap_nocache is defined
      Remove PCI hotplug core MAINTAINERS entry

Julia Lawall (1):
      PCI hotplug: fix logic in Compaq hotplug controller bus speed setup

Kenji Kaneshige (3):
      PCI Hotplug: serialize pci_hp_register and pci_hp_deregister
      PCI hotplug: pciehp: fix possible memory leak in pcie_init
      PCI hotplug: pciehp: poll data link layer link active

Matthew Wilcox (1):
      PCI: Fix reference counting bug

Sheng Yang (1):
      PCI: add support for function level reset

Stephen Rothwell (1):
      PCI: don't export linux/io.h from pci.h

Taku Izumi (5):
      ACPI/PCI: Fix possible race condition on _OSC evaluation
      ACPI/PCI: Change pci_osc_control_set() to query control bits first
      ACPI/PCI: Always query _OSC control field in pci_osc_control_set()
      ACPI/PCI: Fix return value of acpi_cuery_osc()
      ACPI/PCI: Set support bit for MSI in support field of _OSC

 MAINTAINERS                             |    5 -
 drivers/acpi/pci_slot.c                 |    2 +-
 drivers/pci/hotplug/acpiphp.h           |    9 +-
 drivers/pci/hotplug/acpiphp_core.c      |   32 ++++---
 drivers/pci/hotplug/cpci_hotplug.h      |    6 +
 drivers/pci/hotplug/cpci_hotplug_core.c |   75 ++++++---------
 drivers/pci/hotplug/cpci_hotplug_pci.c  |    4 +-
 drivers/pci/hotplug/cpqphp.h            |   13 +--
 drivers/pci/hotplug/cpqphp_core.c       |   43 ++++-----
 drivers/pci/hotplug/cpqphp_ctrl.c       |    2 +-
 drivers/pci/hotplug/fakephp.c           |   26 ++++--
 drivers/pci/hotplug/ibmphp.h            |    5 +-
 drivers/pci/hotplug/ibmphp_ebda.c       |   19 ++---
 drivers/pci/hotplug/pci_hotplug_core.c  |   64 +++++--------
 drivers/pci/hotplug/pciehp.h            |   10 ++-
 drivers/pci/hotplug/pciehp_core.c       |   49 ++++------
 drivers/pci/hotplug/pciehp_ctrl.c       |   56 ++++++-----
 drivers/pci/hotplug/pciehp_hpc.c        |   60 +++++++++++-
 drivers/pci/hotplug/rpaphp_slot.c       |   10 +-
 drivers/pci/hotplug/sgi_hotplug.c       |   18 +---
 drivers/pci/hotplug/shpchp.h            |    9 +-
 drivers/pci/hotplug/shpchp_core.c       |   52 ++++-------
 drivers/pci/hotplug/shpchp_ctrl.c       |   48 +++++-----
 drivers/pci/msi.c                       |   21 ++++
 drivers/pci/pci-acpi.c                  |   85 ++++++++++------
 drivers/pci/pci.c                       |  101 +++++++++++++++++++
 drivers/pci/pci.h                       |    2 +
 drivers/pci/probe.c                     |   12 ++-
 drivers/pci/search.c                    |    9 +-
 drivers/pci/slot.c                      |  160 +++++++++++++++++++++++--------
 include/linux/pci.h                     |   13 ++-
 include/linux/pci_hotplug.h             |   11 ++-
 include/linux/pci_regs.h                |    2 +
 init/Kconfig                            |    3 +-
 34 files changed, 637 insertions(+), 399 deletions(-)


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

* Re: [git pull] PCI pull request #2 for 2.6.28
  2008-10-23  0:14 [git pull] PCI pull request #2 for 2.6.28 Jesse Barnes
@ 2008-10-23 17:46 ` Linus Torvalds
  2008-10-23 17:52   ` Jesse Barnes
  0 siblings, 1 reply; 4+ messages in thread
From: Linus Torvalds @ 2008-10-23 17:46 UTC (permalink / raw)
  To: Jesse Barnes; +Cc: Linux Kernel Development, linux-pci



On Wed, 22 Oct 2008, Jesse Barnes wrote:
> 
> A few more bits for 2.6.28, mainly hotplug related stuff so the risk should be
> pretty low.  There are a few good fixes in here though too: a build fix for
> some architectures due to the new ioremap_nocache usage in pci.h and a fix for
> a refcounting bug.

Pulled.

Ingo tells me that the ARI code is broken on his Nehalem, and that there's 
already a confirmed fix for it by Yu Zhao ("[PATCH] pci: fix ARI") but 
it's not in this series. 

Hmm? Status?

		Linus

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

* Re: [git pull] PCI pull request #2 for 2.6.28
  2008-10-23 17:46 ` Linus Torvalds
@ 2008-10-23 17:52   ` Jesse Barnes
  2008-10-24 14:51     ` Ingo Molnar
  0 siblings, 1 reply; 4+ messages in thread
From: Jesse Barnes @ 2008-10-23 17:52 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Linux Kernel Development, linux-pci

On Thursday, October 23, 2008 10:46 am Linus Torvalds wrote:
> On Wed, 22 Oct 2008, Jesse Barnes wrote:
> > A few more bits for 2.6.28, mainly hotplug related stuff so the risk
> > should be pretty low.  There are a few good fixes in here though too: a
> > build fix for some architectures due to the new ioremap_nocache usage in
> > pci.h and a fix for a refcounting bug.
>
> Pulled.
>
> Ingo tells me that the ARI code is broken on his Nehalem, and that there's
> already a confirmed fix for it by Yu Zhao ("[PATCH] pci: fix ARI") but
> it's not in this series.
>
> Hmm? Status?

Yeah came in after I set up my pull request; I'll queue it up today.

-- 
Jesse Barnes, Intel Open Source Technology Center


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

* Re: [git pull] PCI pull request #2 for 2.6.28
  2008-10-23 17:52   ` Jesse Barnes
@ 2008-10-24 14:51     ` Ingo Molnar
  0 siblings, 0 replies; 4+ messages in thread
From: Ingo Molnar @ 2008-10-24 14:51 UTC (permalink / raw)
  To: Jesse Barnes; +Cc: Linus Torvalds, Linux Kernel Development, linux-pci


* Jesse Barnes <jbarnes@virtuousgeek.org> wrote:

> On Thursday, October 23, 2008 10:46 am Linus Torvalds wrote:
> > On Wed, 22 Oct 2008, Jesse Barnes wrote:
> > > A few more bits for 2.6.28, mainly hotplug related stuff so the risk
> > > should be pretty low.  There are a few good fixes in here though too: a
> > > build fix for some architectures due to the new ioremap_nocache usage in
> > > pci.h and a fix for a refcounting bug.
> >
> > Pulled.
> >
> > Ingo tells me that the ARI code is broken on his Nehalem, and that 
> > there's already a confirmed fix for it by Yu Zhao ("[PATCH] pci: fix 
> > ARI") but it's not in this series.
> >
> > Hmm? Status?
> 
> Yeah came in after I set up my pull request; I'll queue it up today.

it's also rather lowprio fix IMO as ARI is a rare new feature. The 
commit below did the trick here and i havent had problems with the 
Nehalem testbox since then.

	Ingo

------------->
>From 8113587c2d14d3be2414190845b2e2617c0aa33b Mon Sep 17 00:00:00 2001
From: Zhao, Yu <yu.zhao@intel.com>
Date: Thu, 23 Oct 2008 13:15:39 +0800
Subject: [PATCH] PCI: fix ARI code to be compatible with mixed ARI/non-ARI systems

The original ARI support code has a compatibility problem with non-ARI
devices.  If a device doesn't support ARI, turning on ARI forwarding on
its upper level bridge will cause undefined behavior.

This fix turns on ARI forwarding only when the subordinate devices
support it.

Tested-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
---
 drivers/pci/pci.c |   21 +++++++++++++--------
 1 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 533aeb5..21f2ac6 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -1309,27 +1309,32 @@ void pci_enable_ari(struct pci_dev *dev)
 	int pos;
 	u32 cap;
 	u16 ctrl;
+	struct pci_dev *bridge;
 
-	if (!dev->is_pcie)
+	if (!dev->is_pcie || dev->devfn)
 		return;
 
-	if (dev->pcie_type != PCI_EXP_TYPE_ROOT_PORT &&
-	    dev->pcie_type != PCI_EXP_TYPE_DOWNSTREAM)
+	pos = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_ARI);
+	if (!pos)
 		return;
 
-	pos = pci_find_capability(dev, PCI_CAP_ID_EXP);
+	bridge = dev->bus->self;
+	if (!bridge || !bridge->is_pcie)
+		return;
+
+	pos = pci_find_capability(bridge, PCI_CAP_ID_EXP);
 	if (!pos)
 		return;
 
-	pci_read_config_dword(dev, pos + PCI_EXP_DEVCAP2, &cap);
+	pci_read_config_dword(bridge, pos + PCI_EXP_DEVCAP2, &cap);
 	if (!(cap & PCI_EXP_DEVCAP2_ARI))
 		return;
 
-	pci_read_config_word(dev, pos + PCI_EXP_DEVCTL2, &ctrl);
+	pci_read_config_word(bridge, pos + PCI_EXP_DEVCTL2, &ctrl);
 	ctrl |= PCI_EXP_DEVCTL2_ARI;
-	pci_write_config_word(dev, pos + PCI_EXP_DEVCTL2, ctrl);
+	pci_write_config_word(bridge, pos + PCI_EXP_DEVCTL2, ctrl);
 
-	dev->ari_enabled = 1;
+	bridge->ari_enabled = 1;
 }
 
 int

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

end of thread, other threads:[~2008-10-24 14:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-10-23  0:14 [git pull] PCI pull request #2 for 2.6.28 Jesse Barnes
2008-10-23 17:46 ` Linus Torvalds
2008-10-23 17:52   ` Jesse Barnes
2008-10-24 14:51     ` Ingo Molnar

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