Messages in this thread | | | From | Bjorn Helgaas <> | Date | Tue, 25 Oct 2011 08:38:10 -0600 | Subject | Re: [PATCH 3/3] Add NumaChip quirk |
| |
On Tue, Oct 18, 2011 at 2:22 AM, Daniel J Blueman <daniel@numascale-asia.com> wrote: > Add quirk for Numascale's NumaChip to prevent resource conflicts. > > v2: > - [Daniel] rediffed and validated against 3.1-rc10 > > Signed-off-by: Steffen Persvold <sp@numascale.com> > Signed-off-by: Daniel J Blueman <daniel@numascale-asia.com> > --- > drivers/pci/quirks.c | 14 ++++++++++++++ > include/linux/pci_ids.h | 4 ++++ > 2 files changed, 18 insertions(+), 0 deletions(-) > > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c > index 1196f61..051b793 100644 > --- a/drivers/pci/quirks.c > +++ b/drivers/pci/quirks.c > @@ -2679,6 +2679,20 @@ static void __devinit quirk_hotplug_bridge(struct pci_dev *dev) > > DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_HINT, 0x0020, quirk_hotplug_bridge); > > +/* Clear all resources on NumaChip to avoid conflicts */ > +static void __devinit numachip_resource_fixup(struct pci_dev *pdev) > +{ > + int i; > + > + for (i = PCI_STD_RESOURCES; i <= PCI_ROM_RESOURCE; i++) > + memset(&pdev->resource[i], 0, sizeof(pdev->resource[i])); > + > + dev_notice(&pdev->dev, "Disabled all PCI resources for NumaChip\n"); > +} > + > +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NUMASCALE, > + PCI_DEVICE_ID_NUMASCALE_NUMACHIP0, numachip_resource_fixup);
This feels like a band-aid ... what's the background here? I can see that you're disabling PCI resources, and I can read that this avoids conflicts, but what's the underlying cause of the conflict?
I wonder if there's a more generic problem that should be fixed differently. Presumably the NumaChip designers put those BARs there for a reason, and often when we report "conflicts," it's really a clue that we're doing something wrong in host bridge discovery or in generic PCI.
Can you post a complete dmesg log showing the conflict?
Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |