On Friday 13 July 2007, Sergei Shtylyov wrote:
> Hello.
>
> Bartlomiej Zolnierkiewicz wrote:
>
> > * Add { 0, 0 } entry to {kauai,shasta}_pio_timings[] so
> > kauai_lookup_timing()
> > always returns a valid PIO timing (fixes PIO timing not being set for
> > devices
> > with minimum PIO cycle <= 120ns).
>
> Ugh... the way those tables are following each other, the driver should
> be
> programming MWDMA2 timings instead. :-/
Indeed... nasty...
> > * Add setting transfer mode on the device to pmac_ide_set_pio_mode().
>
> > * Fix pmac_ide_set_pio() to always program chipset for given PIO timing
> > instead
> > of only when the device we want to program PIO timing for is the currently
> > selected one.
>
> Hm, why this was necessary?
No idea...
...(mis)optimization? :)
> AFAIU, pmac_ide_do_setfeature() will cause selectproc() to be called
> anyway, via SELECT_DRIVE()...
Yes, but pmac_ide_do_setfeature() wasn't called et all in the old version
of pmac_ide_set_pio().
> > * Now that pmac_ide_set_pio() is fixed there is no need to set transfer mode
> > on the device and program chipset for PIO in pmac_ide_tune_chipset()
>
> BTW, I'm also not seeing much sense in calling
> pmac_ide_do_update_timings() from there as well since
> pmac_ide_do_setfeature()
> is called before that anyway.
The patch only intended to make pmac_ide_set_pio() match the code in
pmac_ide_tune_chipset(). Thanks to your analysis I see now that more
fixups/cleanups are possible in this driver but I'm not up to it...
> > (returning 0 == success is not entirely correct but is OK for now since
> > the upper layers are only checking ->speedproc return value for DMA
> > modes).
>
> > This patch should have no effect on the default kernel behavior because
> > IDE pmac driver doesn't enable ->autotune (this would also explain why some
> > of the above bugs remained unfixed for so long).
>
> > Signed-off-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
>
> Acked-by: Sergei Shtylyov <[EMAIL PROTECTED]>
added
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html