On Tue, Apr 24, 2018 at 12:06:45PM +0800, xsw...@marvell.com wrote: > From: Evan Wang <xsw...@marvell.com> > > There is an issue(Errata Ref#226) that the SATA can not be > detected via SATA Port-MultiPlayer(PMP) with following > error log: > ata1.15: PMP product ID mismatch > ata1.15: SATA link up 6.0 Gbps (SStatus 133 SControl 300) > ata1.15: Port Multiplier vendor mismatch '0x1b4b'!='0x0' > ata1.15: PMP revalidation failed (errno=-19) > > After debugging, the reason is found that the value Port-x > FIS-based Switching Control(PxFBS@0x40) become wrong. > According to design, the bits[11:8, 0] of register PxFBS > are cleared when Port Command and Status (0x18) bit[0] > changes its value from 1 to 0, i.e. falling edge of Port > Command and Status bit[0] sends PULSE that resets PxFBS > bits[11:8; 0]. > So it needs a mvebu SATA WA to save the port PxFBS register > before PxCMD ST write and restore it afterwards. > > This patch implements the WA in a separate function of > ahci_mvebu_stop_engine to override ahci_stop_gngine. > > Signed-off-by: Evan Wang <xsw...@marvell.com> > Suggested-by: Ofer Heifetz <of...@marvell.com> > Cc: Tejun Heo <t...@kernel.org> > Cc: Thomas Petazzoni <thomas.petazz...@bootlin.com> > --- > drivers/ata/ahci_mvebu.c | 56 > ++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 56 insertions(+)
<formletter> This is not the correct way to submit patches for inclusion in the stable kernel tree. Please read: https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html for how to do this properly. </formletter>