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