linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] PCI/VMD: Use the more reliable method for setting the AER
@ 2016-10-07 17:26 Jon Derrick
  2016-10-07 17:26 ` [PATCH 2/2] PCI/Quirks: Imply that other users can use the no-aer-sid quirk Jon Derrick
  2016-10-07 17:45 ` [PATCH 1/2] PCI/VMD: Use the more reliable method for setting the AER Keith Busch
  0 siblings, 2 replies; 4+ messages in thread
From: Jon Derrick @ 2016-10-07 17:26 UTC (permalink / raw)
  To: helgaas; +Cc: Jon Derrick, keith.busch, linux-pci

Instead of relying on the domain being >= 0x10000, use the member of the
pci sysdata that identifies a VMD root port bus.
---
 drivers/pci/quirks.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index edc7f96..713035f 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -4438,8 +4438,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x443, quirk_intel_qat_vf_cap);
  */
 static void quirk_no_aersid(struct pci_dev *pdev)
 {
-	/* VMD Domain */
-	if (pdev->bus->sysdata && pci_domain_nr(pdev->bus) >= 0x10000)
+	if (is_vmd(pdev->bus))
 		pdev->bus->bus_flags |= PCI_BUS_FLAGS_NO_AERSID;
 }
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2030, quirk_no_aersid);
-- 
1.8.3.1

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

* [PATCH 2/2] PCI/Quirks: Imply that other users can use the no-aer-sid quirk
  2016-10-07 17:26 [PATCH 1/2] PCI/VMD: Use the more reliable method for setting the AER Jon Derrick
@ 2016-10-07 17:26 ` Jon Derrick
  2016-10-07 17:45 ` [PATCH 1/2] PCI/VMD: Use the more reliable method for setting the AER Keith Busch
  1 sibling, 0 replies; 4+ messages in thread
From: Jon Derrick @ 2016-10-07 17:26 UTC (permalink / raw)
  To: helgaas; +Cc: Jon Derrick, keith.busch, linux-pci

Move the comment explaining the quirk to the quirk markup, so that other
devices can use the quirk without it being confused with a VMD-specific
action.
---
 drivers/pci/quirks.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 713035f..cee6526 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -4430,17 +4430,18 @@ static void quirk_intel_qat_vf_cap(struct pci_dev *pdev)
 }
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x443, quirk_intel_qat_vf_cap);
 
+static void quirk_no_aersid(struct pci_dev *pdev)
+{
+	if (is_vmd(pdev->bus))
+		pdev->bus->bus_flags |= PCI_BUS_FLAGS_NO_AERSID;
+}
+
 /*
  * VMD-enabled root ports will change the source ID for all messages
  * to the VMD device. Rather than doing device matching with the source
  * ID, the AER driver should traverse the child device tree, reading
  * AER registers to find the faulting device.
  */
-static void quirk_no_aersid(struct pci_dev *pdev)
-{
-	if (is_vmd(pdev->bus))
-		pdev->bus->bus_flags |= PCI_BUS_FLAGS_NO_AERSID;
-}
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2030, quirk_no_aersid);
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2031, quirk_no_aersid);
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2032, quirk_no_aersid);
-- 
1.8.3.1

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

* Re: [PATCH 1/2] PCI/VMD: Use the more reliable method for setting the AER
  2016-10-07 17:26 [PATCH 1/2] PCI/VMD: Use the more reliable method for setting the AER Jon Derrick
  2016-10-07 17:26 ` [PATCH 2/2] PCI/Quirks: Imply that other users can use the no-aer-sid quirk Jon Derrick
@ 2016-10-07 17:45 ` Keith Busch
  2016-10-07 17:46   ` Jon Derrick
  1 sibling, 1 reply; 4+ messages in thread
From: Keith Busch @ 2016-10-07 17:45 UTC (permalink / raw)
  To: Jon Derrick; +Cc: helgaas, linux-pci

On Fri, Oct 07, 2016 at 11:26:28AM -0600, Jon Derrick wrote:
> Instead of relying on the domain being >= 0x10000, use the member of the
> pci sysdata that identifies a VMD root port bus.

'is_vmd' is only defined for x86. You'll need a '#define is_vmd' to
false in some arch generic place.


> ---
>  drivers/pci/quirks.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index edc7f96..713035f 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -4438,8 +4438,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x443, quirk_intel_qat_vf_cap);
>   */
>  static void quirk_no_aersid(struct pci_dev *pdev)
>  {
> -	/* VMD Domain */
> -	if (pdev->bus->sysdata && pci_domain_nr(pdev->bus) >= 0x10000)
> +	if (is_vmd(pdev->bus))
>  		pdev->bus->bus_flags |= PCI_BUS_FLAGS_NO_AERSID;
>  }
>  DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2030, quirk_no_aersid);

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

* Re: [PATCH 1/2] PCI/VMD: Use the more reliable method for setting the AER
  2016-10-07 17:45 ` [PATCH 1/2] PCI/VMD: Use the more reliable method for setting the AER Keith Busch
@ 2016-10-07 17:46   ` Jon Derrick
  0 siblings, 0 replies; 4+ messages in thread
From: Jon Derrick @ 2016-10-07 17:46 UTC (permalink / raw)
  To: Keith Busch; +Cc: helgaas, linux-pci

On Fri, Oct 07, 2016 at 01:45:49PM -0400, Keith Busch wrote:
> On Fri, Oct 07, 2016 at 11:26:28AM -0600, Jon Derrick wrote:
> > Instead of relying on the domain being >= 0x10000, use the member of the
> > pci sysdata that identifies a VMD root port bus.
> 
> 'is_vmd' is only defined for x86. You'll need a '#define is_vmd' to
> false in some arch generic place.
Drats. Good catch. That's not as clean as I hoped it would be.
> 
> 
> > ---
> >  drivers/pci/quirks.c | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> > index edc7f96..713035f 100644
> > --- a/drivers/pci/quirks.c
> > +++ b/drivers/pci/quirks.c
> > @@ -4438,8 +4438,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x443, quirk_intel_qat_vf_cap);
> >   */
> >  static void quirk_no_aersid(struct pci_dev *pdev)
> >  {
> > -	/* VMD Domain */
> > -	if (pdev->bus->sysdata && pci_domain_nr(pdev->bus) >= 0x10000)
> > +	if (is_vmd(pdev->bus))
> >  		pdev->bus->bus_flags |= PCI_BUS_FLAGS_NO_AERSID;
> >  }
> >  DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2030, quirk_no_aersid);
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

end of thread, other threads:[~2016-10-07 17:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-07 17:26 [PATCH 1/2] PCI/VMD: Use the more reliable method for setting the AER Jon Derrick
2016-10-07 17:26 ` [PATCH 2/2] PCI/Quirks: Imply that other users can use the no-aer-sid quirk Jon Derrick
2016-10-07 17:45 ` [PATCH 1/2] PCI/VMD: Use the more reliable method for setting the AER Keith Busch
2016-10-07 17:46   ` Jon Derrick

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