Re: Bug report for ahci-mvebu driver

Pali Rohár
2022-12-04T21:46:48Z

On Sunday 04 December 2022 21:14:14 marius@psihoexpert.ro wrote:
> December 4, 2022 12:23 PM, "Pali Rohár" <pali@kernel.org> wrote:
>
> >> What next? Should I contact David Milburn <dmilburn@redhat.com> (the commit author) and ask for a
> >> better fix?
> >
> > That is a good idea.
>
> I think I'll wait for an opinion from Damien. Since the same libata-core.c works perfectly fine with sata-mv driver, but not ahci-mvebu, the problem might still be in the ahci-mvebu.

That is also possible. But existence of a38x sata specific errata smells.

> The comment said: "sata_down_spd_limit should return if driver has not recorded sstatus speed". This probably means that ahci-mvebu does not record the expected "sstatus speed". I don't know what that is, but Damien probably does.

Lets wait for Damien.

Also note that in kernel ahci_mvebu.c driver code is custom function
ahci_mvebu_stop_engine where is description of another Errata Ref#226 -
SATA Disk HOT swap issue when connected through Port Multiplier in
FIS-based Switching mode.

This errata is documented _only_ for A3720 (not A38x/A39x) but is
installed for all mvebu platforms. So I'm not sure if this is not
another kernel bug and code should be adjusted to _not_ install
ahci_mvebu_stop_engine for a38x/a39x.

> >> @ Pali Rohar:
> >> I could't find the errata you mentioned. If you have it, please take a look at the commit above and
> >> see if it is affected in any. Thanks.
> >
> > I do not have more details than what I already wrote in previous email.
> >
> > Errata documents are in most cases available on Marvell Customer Portal.
> > You need to register for accessing them. https://www.marvell.com/portal
> >
> > Documents which were available publicly without registration are here:
> > https://www.kernel.org/doc/html/latest/arm/marvell.html
> > (errata for a38x was not publicly available)
>
> There is a slim chance that I could understand them. I'm just an amateur. I did some bare-metal programming on MCUs, but the kernel is way too complicated for me.

Hehe... those documents lot of time contains incomplete or ambiguous
statements and also professionals cannot understand them...

As I wrote in previous email, errata Ref #: FE-8889968 just says:
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.

And I'm not SATA expert too. Lets wait for Damien.