Sergei Shtylyov wrote: > > Hello, I wrote: > >>>> Index: linux-2.6/drivers/ide/pci/cmd64x.c >>>> =================================================================== >>>> --- linux-2.6.orig/drivers/ide/pci/cmd64x.c >>>> +++ linux-2.6/drivers/ide/pci/cmd64x.c > >>> While this was always incorrectly setting PIO4, the PIO4 is "the usual" case >>> and for this driver we need to program PIO explicitly even when using DMA. > >> Hm, why it's *so* special, i.e. why almost all the other drivers can >> get away without it (the majority seems to have autotune set *only* if >> hwif->dma_base is seen as 0 in the init_hwif() method? :-/ > >>> The core code doesn't program PIO mode unless told to (->autotune flag == 1) >>> so after the above change PIO mode won't be programmed et all. > >>> I think that we now need to set ->autotune unconditionally in >>> init_hwif_cmd64x(). > > Don't think we *need* to. Look at the code at the end of init_chipset() > method. Those values it writes to ARTTIM/DRWTIM registers already matches > PIO4! That's another question what this code is doing there, being both > duplicate and misplaced. :-) For me it looks like a bunch of hacks to get things working on BIOS/firmware-less and non-x86 systems. :) [ This code pre-dates PIO4 forcing in config_cmd64x_chipset_for_pio(). ] Bart - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html