All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Marek Behún" <kabel@kernel.org>
To: Bjorn Helgaas <helgaas@kernel.org>, linux-pci@vger.kernel.org
Cc: "Marek Behún" <kabel@kernel.org>,
	Rötti <espressobinboardarmbiantempmailaddress@posteo.de>,
	"Pali Rohár" <pali@kernel.org>,
	stable@vger.kernel.org
Subject: [PATCH] PCI: Add Max Payload Size quirk for ASMedia ASM1062 SATA controller
Date: Wed, 17 Mar 2021 12:59:24 +0100	[thread overview]
Message-ID: <20210317115924.31885-1-kabel@kernel.org> (raw)

The ASMedia ASM1062 SATA controller causes an External Abort on
controllers which support Max Payload Size >= 512. It happens with
Aardvark PCIe controller (tested on Turris MOX) and also with DesignWare
controller (armada8k, tested on CN9130-CRB):

  ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
  ata1.00: ATA-9: WDC WD40EFRX-68WT0N0, 80.00A80, max UDMA/133
  ata1.00: 7814037168 sectors, multi 0: LBA48 NCQ (depth 32), AA
  ERROR:   Unhandled External Abort received on 0x80000000 at EL3!
  ERROR:    exception reason=1 syndrome=0x92000210
  PANIC at PC : 0x00000000040273bc

Limiting Max Payload Size to 256 bytes solves this problem.

On Turris MOX this problem first appeared when the pci-aardvark
controller started using the pci-emul-bridge API, in commit 8a3ebd8de328
("PCI: aardvark: Implement emulated root PCI bridge config space").

On armada8k this was always a problem because it has HW root bridge.

Signed-off-by: Marek Behún <kabel@kernel.org>
Reported-by: Rötti <espressobinboardarmbiantempmailaddress@posteo.de>
Cc: Pali Rohár <pali@kernel.org>
Cc: stable@vger.kernel.org
---
 drivers/pci/quirks.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 653660e3ba9e..a561136efb08 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -3251,6 +3251,11 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SOLARFLARE,
 			 PCI_DEVICE_ID_SOLARFLARE_SFC4000A_1, fixup_mpss_256);
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SOLARFLARE,
 			 PCI_DEVICE_ID_SOLARFLARE_SFC4000B, fixup_mpss_256);
+/*
+ * For some reason DECLARE_PCI_FIXUP_HEADER does not work with pci-aardvark
+ * controller. We have to use DECLARE_PCI_FIXUP_EARLY.
+ */
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_ASMEDIA, 0x0612, fixup_mpss_256);
 
 /*
  * Intel 5000 and 5100 Memory controllers have an erratum with read completion
-- 
2.26.2


             reply	other threads:[~2021-03-17 12:01 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-17 11:59 Marek Behún [this message]
2021-03-17 18:46 ` [PATCH] PCI: Add Max Payload Size quirk for ASMedia ASM1062 SATA controller Pali Rohár
2021-03-17 22:45 ` Bjorn Helgaas
2021-03-17 22:55   ` Pali Rohár
2021-03-17 23:03     ` Bjorn Helgaas
2021-03-19 19:02       ` Pali Rohár
2021-03-21 15:09         ` Rötti
2021-05-30 10:21           ` Pali Rohár
2021-08-26 11:00           ` Rötti
2021-03-17 23:09   ` Marek Behún
2021-04-16 13:54   ` Marek Behún
2021-04-25 15:29     ` Pali Rohár
2021-05-11 16:16 ` Marek Behún
2021-05-28  0:12   ` Pali Rohár
2021-06-01 17:09     ` Bjorn Helgaas
2021-06-01 21:15       ` Bjorn Helgaas
2021-06-01 11:36 ` Krzysztof Wilczyński

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210317115924.31885-1-kabel@kernel.org \
    --to=kabel@kernel.org \
    --cc=espressobinboardarmbiantempmailaddress@posteo.de \
    --cc=helgaas@kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=pali@kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.