Re: libata-core: devslp fails on ATP mSATA

Andreas Werner
2015-12-03T09:33:55Z

On Wed, Dec 02, 2015 at 11:47:53AM -0500, Tejun Heo wrote:
> Hello, Andreas.
>
> On Wed, Dec 02, 2015 at 10:33:10AM +0100, Andreas Werner wrote:
> > Blacklisting the controller would be a solution yes, but I just
> > wanna wait the answer from the FAE to be sure we really have a
> > problem.
> >
> > What kind of identifier can I use for blacklisting? The driver name
> > from the host driver? (fsl-sata) I did not find any register
> > in the sata controller to read out an ID.
>
> Whatever matches the affected controllers. If all sata_fsl
> controllers are affected, the driver init code can set the flag
> unconditionally.
>
> Thanks.
>
> --
> tejun

Ok, setting the flag in the controller driver would be good.
(still wating for the FAE for more info).

As I can see the horkage field is only defind in "struct ata_dev"
would it be time to add a horkage field to "struct ata_host"?

All the other "flag" fields in the structs are used and/or reserved
and it seems to be no good place for such flags.

What I am thinking about is.

1. Add new flag e.g. ATA_HORKAGE_NOLOG_PAGE_RD
2. Add horkage field to ata_host struct
2. Set this flag in ata_host struct in the sata_fsl driver (init)
3. Copy the controller horkage flags over to struct ata_device in
the ata_dev_configure function in libata

At the end all flags set by the controller are applied to
the ata device horkage flags, and can be used for blacklisting
in libata.

May be there are better solution, or i am missing something.

What do you think about it?

Regards
Andy