ARMADA espressobin SATA drive detection failure
Pali Rohár
pali at kernel.org
Fri Aug 12 18:03:51 PDT 2022
On Saturday 13 August 2022 01:00:34 Shinichiro Kawasaki wrote:
> On Aug 13, 2022 / 02:15, Pali Rohár wrote:
> > On Saturday 13 August 2022 00:02:37 Shinichiro Kawasaki wrote:
> > > On Aug 12, 2022 / 15:55, Pali Rohár wrote:
> > > > On Friday 12 August 2022 14:44:07 Pali Rohár wrote:
> > >
> > > [...]
> > >
> > > > > Probably this is SSD disk specific. I will try to prepare some kernel
> > > > > changes to test if it changes something.
> > > >
> > > > Could you please try following change and provide full dmesg log?
> > > > First I need to know if issue is in SATA power on code or somewhere else.
> > >
> > > My pleasure. I applied the patch to the kernel v5.18.16 and booted it from the
> > > latest U-Boot. Here I attach console output taken from the mox-imager command.
> > > It has all kernel messages as well as U-Boot console log. I find the message
> > > from added dev_err():
> > >
> > > mvebu-a3700-comphy d0018300.phy: OK mvebu_a3700_comphy_sata_power_on() call
> > >
> > > --
> > > Shin'ichiro Kawasaki
> >
> > Ok, so SATA does not work even when starting with original SMC
> > implementation.
> >
> > Could you please try another test change?
> >
> > @@ -1102,6 +1142,9 @@ static int mvebu_a3700_comphy_reset(struct phy *phy)
> > struct mvebu_a3700_comphy_lane *lane = phy_get_drvdata(phy);
> > u16 mask, data;
> >
> > + dev_err(lane->dev, "IGNORING mvebu_a3700_comphy_reset() call\n");
> > + return;
> > +
> > dev_dbg(lane->dev, "resetting lane %d\n", lane->id);
> >
> > /* COMPHY reset for internal logic */
>
> Yes, I've applied the hunk above on top of the previous debug patch (I modified
> 'return' to 'return 0' to avoid a compile error). I attach the console log.
Ou, right.
> With this change,
>
> - The added message "IGNORING mvebu_a3700_comphy_reset() call" was printed
> three times.
> - The "ata1: SATA link down (SStatus 100 SControl 300)" message disappeared.
> - My SSD was detected as /dev/sda.
Perfect!
Could you now test only that last small change for
mvebu_a3700_comphy_reset() without previous changes?
To verify that issue is in mvebu_a3700_comphy_reset() function.
More information about the linux-phy
mailing list