Re: [PATCH 01/64] libata: fix CFA handling in ide_timing_compute()

From: Bartlomiej Zolnierkiewicz
Date: Mon Jan 18 2010 - 13:30:52 EST


On Monday 18 January 2010 07:23:32 pm Sergei Shtylyov wrote:
> Hello.

Hi!

> Bartlomiej Zolnierkiewicz wrote:
>
> > From: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
> > Subject: [PATCH] libata: fix CFA handling in ide_timing_compute()
> >
> > Use standard cycle timing for CFA PIO5 and PIO6 modes.
> >
> > Based on commit 74638c8 for IDE subsystem.
> >
> > Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
> > ---
> > drivers/ata/libata-core.c | 17 +++++++++++------
> > 1 file changed, 11 insertions(+), 6 deletions(-)
> >
> > Index: b/drivers/ata/libata-core.c
> > ===================================================================
> > --- a/drivers/ata/libata-core.c
> > +++ b/drivers/ata/libata-core.c
> > @@ -3211,6 +3211,7 @@ const struct ata_timing *ata_timing_find
> > int ata_timing_compute(struct ata_device *adev, unsigned short speed,
> > struct ata_timing *t, int T, int UT)
> > {
> > + const u16 *id = adev->id;
> > const struct ata_timing *s;
> > struct ata_timing p;
> >
> > @@ -3228,14 +3229,18 @@ int ata_timing_compute(struct ata_device
> > * PIO/MW_DMA cycle timing.
> > */
> >
> > - if (adev->id[ATA_ID_FIELD_VALID] & 2) { /* EIDE drive */
> > + if (id[ATA_ID_FIELD_VALID] & 2) { /* EIDE drive */
> > memset(&p, 0, sizeof(p));
> > +
> > if (speed >= XFER_PIO_0 && speed <= XFER_SW_DMA_0) {
> >
>
> BTW, shouldn't this actually be 'speed < XFER_SW_DMA_0'?

Good catch, I'll fix the patch later (would you be willing to fix
ide-timings.c side of things?).

--
Bartlomiej Zolnierkiewicz
--
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/