diff mbox series

Revert "PCI: Add ACS quirk for Intel 300 series"

Message ID 20180905110954.61990-1-mika.westerberg@linux.intel.com (mailing list archive)
State New, archived
Delegated to: Bjorn Helgaas
Headers show
Series Revert "PCI: Add ACS quirk for Intel 300 series" | expand

Commit Message

Mika Westerberg Sept. 5, 2018, 11:09 a.m. UTC
This reverts commit f154a718e6cc0d834f5ac4dc4c3b174e65f3659e.

It turns out that errata "PCH PCIe* Controller Root Port (ACSCTLR)
Appear As Read Only" has been fixed in 300 series chipsets even if the
datasheet [1] claims otherwise. To make ACS working properly on 300
series root ports, revert the faulty commit.

[1] https://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/300-series-c240-series-chipset-pch-spec-update.pdf

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: stable@vger.kernel.org
---
 drivers/pci/quirks.c | 6 ------
 1 file changed, 6 deletions(-)

Comments

Bjorn Helgaas Sept. 5, 2018, 4:55 p.m. UTC | #1
On Wed, Sep 05, 2018 at 02:09:54PM +0300, Mika Westerberg wrote:
> This reverts commit f154a718e6cc0d834f5ac4dc4c3b174e65f3659e.
> 
> It turns out that errata "PCH PCIe* Controller Root Port (ACSCTLR)
> Appear As Read Only" has been fixed in 300 series chipsets even if the
> datasheet [1] claims otherwise. To make ACS working properly on 300
> series root ports, revert the faulty commit.

So just to confirm, f154a718e6cc ("PCI: Add ACS quirk for Intel 300
series") was done based on the faulty datasheet, right?

If somebody actually reported a problem with a 300 series chipset, and
f154a718e6cc resolved it, we wouldn't want to revert it.  But I don't see
anything like that in the f154a718e6cc changelog, so I assume it was just
based on the faulty datasheet.

> [1] https://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/300-series-c240-series-chipset-pch-spec-update.pdf
> 
> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
> Cc: stable@vger.kernel.org
> ---
>  drivers/pci/quirks.c | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index ef7143a274e0..6bc27b7fd452 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -4355,11 +4355,6 @@ static int pci_quirk_qcom_rp_acs(struct pci_dev *dev, u16 acs_flags)
>   *
>   * 0x9d10-0x9d1b PCI Express Root port #{1-12}
>   *
> - * The 300 series chipset suffers from the same bug so include those root
> - * ports here as well.
> - *
> - * 0xa32c-0xa343 PCI Express Root port #{0-24}
> - *
>   * [1] http://www.intel.com/content/www/us/en/chipsets/100-series-chipset-datasheet-vol-2.html
>   * [2] http://www.intel.com/content/www/us/en/chipsets/100-series-chipset-datasheet-vol-1.html
>   * [3] http://www.intel.com/content/www/us/en/chipsets/100-series-chipset-spec-update.html
> @@ -4377,7 +4372,6 @@ static bool pci_quirk_intel_spt_pch_acs_match(struct pci_dev *dev)
>  	case 0xa110 ... 0xa11f: case 0xa167 ... 0xa16a: /* Sunrise Point */
>  	case 0xa290 ... 0xa29f: case 0xa2e7 ... 0xa2ee: /* Union Point */
>  	case 0x9d10 ... 0x9d1b: /* 7th & 8th Gen Mobile */
> -	case 0xa32c ... 0xa343:				/* 300 series */
>  		return true;
>  	}
>  
> -- 
> 2.18.0
>
Mika Westerberg Sept. 5, 2018, 5:01 p.m. UTC | #2
On Wed, Sep 05, 2018 at 11:55:26AM -0500, Bjorn Helgaas wrote:
> On Wed, Sep 05, 2018 at 02:09:54PM +0300, Mika Westerberg wrote:
> > This reverts commit f154a718e6cc0d834f5ac4dc4c3b174e65f3659e.
> > 
> > It turns out that errata "PCH PCIe* Controller Root Port (ACSCTLR)
> > Appear As Read Only" has been fixed in 300 series chipsets even if the
> > datasheet [1] claims otherwise. To make ACS working properly on 300
> > series root ports, revert the faulty commit.
> 
> So just to confirm, f154a718e6cc ("PCI: Add ACS quirk for Intel 300
> series") was done based on the faulty datasheet, right?
> 
> If somebody actually reported a problem with a 300 series chipset, and
> f154a718e6cc resolved it, we wouldn't want to revert it.  But I don't see
> anything like that in the f154a718e6cc changelog, so I assume it was just
> based on the faulty datasheet.

Yes, that's correct. I used the information in the datasheet and that
turned out to be wrong.
Bjorn Helgaas Sept. 5, 2018, 5:01 p.m. UTC | #3
On Wed, Sep 05, 2018 at 02:09:54PM +0300, Mika Westerberg wrote:
> This reverts commit f154a718e6cc0d834f5ac4dc4c3b174e65f3659e.
> 
> It turns out that errata "PCH PCIe* Controller Root Port (ACSCTLR)
> Appear As Read Only" has been fixed in 300 series chipsets even if the
> datasheet [1] claims otherwise. To make ACS working properly on 300
> series root ports, revert the faulty commit.
> 
> [1] https://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/300-series-c240-series-chipset-pch-spec-update.pdf
> 
> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
> Cc: stable@vger.kernel.org

Applied to for-linus for v4.19, thanks!

> ---
>  drivers/pci/quirks.c | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index ef7143a274e0..6bc27b7fd452 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -4355,11 +4355,6 @@ static int pci_quirk_qcom_rp_acs(struct pci_dev *dev, u16 acs_flags)
>   *
>   * 0x9d10-0x9d1b PCI Express Root port #{1-12}
>   *
> - * The 300 series chipset suffers from the same bug so include those root
> - * ports here as well.
> - *
> - * 0xa32c-0xa343 PCI Express Root port #{0-24}
> - *
>   * [1] http://www.intel.com/content/www/us/en/chipsets/100-series-chipset-datasheet-vol-2.html
>   * [2] http://www.intel.com/content/www/us/en/chipsets/100-series-chipset-datasheet-vol-1.html
>   * [3] http://www.intel.com/content/www/us/en/chipsets/100-series-chipset-spec-update.html
> @@ -4377,7 +4372,6 @@ static bool pci_quirk_intel_spt_pch_acs_match(struct pci_dev *dev)
>  	case 0xa110 ... 0xa11f: case 0xa167 ... 0xa16a: /* Sunrise Point */
>  	case 0xa290 ... 0xa29f: case 0xa2e7 ... 0xa2ee: /* Union Point */
>  	case 0x9d10 ... 0x9d1b: /* 7th & 8th Gen Mobile */
> -	case 0xa32c ... 0xa343:				/* 300 series */
>  		return true;
>  	}
>  
> -- 
> 2.18.0
>
diff mbox series

Patch

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index ef7143a274e0..6bc27b7fd452 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -4355,11 +4355,6 @@  static int pci_quirk_qcom_rp_acs(struct pci_dev *dev, u16 acs_flags)
  *
  * 0x9d10-0x9d1b PCI Express Root port #{1-12}
  *
- * The 300 series chipset suffers from the same bug so include those root
- * ports here as well.
- *
- * 0xa32c-0xa343 PCI Express Root port #{0-24}
- *
  * [1] http://www.intel.com/content/www/us/en/chipsets/100-series-chipset-datasheet-vol-2.html
  * [2] http://www.intel.com/content/www/us/en/chipsets/100-series-chipset-datasheet-vol-1.html
  * [3] http://www.intel.com/content/www/us/en/chipsets/100-series-chipset-spec-update.html
@@ -4377,7 +4372,6 @@  static bool pci_quirk_intel_spt_pch_acs_match(struct pci_dev *dev)
 	case 0xa110 ... 0xa11f: case 0xa167 ... 0xa16a: /* Sunrise Point */
 	case 0xa290 ... 0xa29f: case 0xa2e7 ... 0xa2ee: /* Union Point */
 	case 0x9d10 ... 0x9d1b: /* 7th & 8th Gen Mobile */
-	case 0xa32c ... 0xa343:				/* 300 series */
 		return true;
 	}