RE: [PATCH] [v2] sata_fsl: add workaround for data length mismatchon freescale V2 controller
From: Xie Shaohui-B21989
Date: Thu Sep 06 2012 - 07:57:35 EST
> >
> > hstatus = ioread32(hcr_base + HSTATUS);
> >
> > sata_fsl_scr_read(&ap->link, SCR_ERROR, &SError);
> >
> > + /* Read command completed register */
> > + done_mask = ioread32(hcr_base + CC);
> > +
> > + /* Workaround for data length mismatch errata */
> > + if (unlikely(hstatus & INT_ON_DATA_LENGTH_MISMATCH)) {
> > + for (tag = 0; tag < ATA_MAX_QUEUE; tag++) {
> > + qc = ata_qc_from_tag(ap, tag);
> > + if (qc && ata_is_atapi(qc->tf.protocol)) {
> > + u32 Hcontrol;
>
> No uppercase in variable names please.
[S.H] OK.
Besides, you have 'hstatus'
> variable already and that would be inconsistent.
[S.H] Yes, but I ignored fatal error and device error, so this won't be an issue.
>
> > +#define HCONTROL_CLEAR_ERROR (1 << 27)
> > + /* Set HControl[27] to clear error registers */
> > + Hcontrol = ioread32(hcr_base + HCONTROL);
> > + iowrite32(Hcontrol | HCONTROL_CLEAR_ERROR,
> > + hcr_base + HCONTROL);
> > +
> > + /* Clear HControl[27] */
> > + iowrite32(Hcontrol & (~HCONTROL_CLEAR_ERROR),
>
> Parens not needed around ~HCONTROL_CLEAR_ERROR.
[S.H] OK.
Best Regards,
Shaohui Xie
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/