Re: PATCH: (For review) Teach libata to tune master/slaveseperately

From: Alan Cox
Date: Wed Jan 18 2006 - 07:03:25 EST


On Mer, 2006-01-18 at 12:40 +0100, Bartlomiej Zolnierkiewicz wrote:
> The core logic is changed (in the positive way): ata_pio_modes()
> is finally used for obtaining PIO mask to be used.

Ah yes, Jeff hadn't previously merged the small version of that change.
Indeed description is a little incorrect.

> Please update the patch description or make it a separate change.
>
> The other functional change is the ordering of programming host/devices:
>
> previously:
> * program PIO for device 0 [host]
> * program PIO for device 1 [host]
> * program DMA for device 0 [host]
> * program DMA for device 1 [host]
> * program xfer mode for device 0 [device]
> * program xfer mode for device 1 [device]
>
> now:
> * program PIO for device 0 [host]
> * program DMA for device 0 [host]
> * program xfer mode for device 0 [device]
> * program PIO for device 1 [host]
> * program DMA for device 1 [host]
> * program xfer mode for device 0 [device]
>
> This change is OK but I wonder what is the reason for it?

It simply how suffling the code re-ordered it. I don't think its a
problem but if anyone has a problem I can go and re-re-order it.

libata also really should do adev->pio_mode = XFER_PIO_0; ->set_piomode
before doing its initial identify etc because there is no guarantee the
BIOS didn't leave the hardware in a bogus state.

> > I have. Introduces no new bugs I've found but obviously piix secondary
> > slave doesn't reliably work with or without this change because of the
> > current piix driver bug.
>
> I thought it was merged already (it is obviously correct)?

Apparently not.

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