Message ID | 1458564020-5952-2-git-send-email-tim.gardner@canonical.com |
---|---|
State | New |
Headers | show |
On Mon, Mar 21, 2016 at 06:40:20AM -0600, tim.gardner@canonical.com wrote: > From: Bjorn Helgaas <bhelgaas@google.com> > > BugLink: http://bugs.launchpad.net/bugs/1559929 > > The Home Agent and PCU PCI devices in Broadwell-EP have a non-BAR register > where a BAR should be. We don't know what the side effects of sizing the > "BAR" would be, and we don't know what address space the "BAR" might appear > to describe. > > Mark these devices as having non-compliant BARs so the PCI core doesn't > touch them. > > Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> > Tested-by: Andi Kleen <ak@linux.intel.com> > CC: stable@vger.kernel.org > (cherry picked from commit b894157145e4ac7598d7062bc93320898a5e059e) > Signed-off-by: Tim Gardner <tim.gardner@canonical.com> > --- > arch/x86/pci/fixup.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/arch/x86/pci/fixup.c b/arch/x86/pci/fixup.c > index 9a2b710..f16af96 100644 > --- a/arch/x86/pci/fixup.c > +++ b/arch/x86/pci/fixup.c > @@ -553,3 +553,10 @@ static void twinhead_reserve_killing_zone(struct pci_dev *dev) > } > } > DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x27B9, twinhead_reserve_killing_zone); > + > +static void pci_bdwep_bar(struct pci_dev *dev) > +{ > + dev->non_compliant_bars = 1; > +} > +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x6fa0, pci_bdwep_bar); > +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x6fc0, pci_bdwep_bar); > -- > 2.7.3 > > > -- > kernel-team mailing list > kernel-team@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/kernel-team Clean cherry-pick
diff --git a/arch/x86/pci/fixup.c b/arch/x86/pci/fixup.c index 9a2b710..f16af96 100644 --- a/arch/x86/pci/fixup.c +++ b/arch/x86/pci/fixup.c @@ -553,3 +553,10 @@ static void twinhead_reserve_killing_zone(struct pci_dev *dev) } } DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x27B9, twinhead_reserve_killing_zone); + +static void pci_bdwep_bar(struct pci_dev *dev) +{ + dev->non_compliant_bars = 1; +} +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x6fa0, pci_bdwep_bar); +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x6fc0, pci_bdwep_bar);