Re: Bug report for ahci-mvebu driver

Pali Rohár
2022-11-26T14:27:04Z

On Tuesday 01 November 2022 21:21:37 Dinu Marius wrote:
> Hello.
>
> I'm contacting you because your email is listed in www.kernel.org/doc/linux/MAINTAINERS
> I encountered a problem with the ahci-mvebu driver. I think it's a bug.
>
> Hardware:
> Areca ARC-5040 RAID enclosure (DAS), eSATA port, 8 SATA drive bays with 1x 500GB HDD stand-alone and 7x 2TB HDDs in RAID5.
> Linksys WRT-1900ACS v2 router, Marvell Armada 385 (88F6820), one eSATAp using ahci-mvebu driver with port-multiplier support.
> The router runs OpenWrt with kernel version 5.15.
>
> Problem encountered:
> Areca DAS is not detected properly. When I connect it, I get these repeating errors in kernel log:

Hello! Sorry for jumping into this discussion but I think it could be
useful for you to know that Armada 38x and 39x SoCs have HW errata
related to their SATA PHYs and SATA port replicators. Due to the wrong
Busy status returned, the GEN 1.0 Port Multiplier cannot establish a
link with the SATA 3.0 interface. As a workaround connect GEN 1.0 Port
Multiplier to a SATA 2.0 interface. Native A38x/A39x SATA IP is
controlled by ahci-mvebu linux kernel. I do not have any other details
if broken is SerDes / PHY block in that SoC or SATA block. But error
"cannot establish a link" may be related to that documented A38x/A39x
SATA HW errata. Note that older Marvell SoCs (Armada 375, 370) have also
some different SATA HW erratas related to link establishment, so in my
opinion there could be some common undocumented root cause with SATA in
all those 32-bit Marvell SoCs, as lot of HW blocks are shared, and not
only related to port replicators. I have never played/debugged SATA
issues on A38x but I observed similar issues with PCIe on A38x. And due
to nature of Common PHY HW blocks implementing same SerDes interface for
both PCIe and SATA PHYs on those SoCs, I would not be surprised if PHY
issues could be present on both PCIe and SATA functions.