Hi,
On Wednesday 28 February 2007, Sergei Shtylyov wrote:
> Add back the multiword DMA support (I think nobody will miss single-word DMA).
> In order to do it, a number of changes had to be done:
>
> - rename program_drive_counts() to program_cycle_times(), pass to it cycle's
> total/active times instead of the clock counts, and convert them into the
> active/recovery clocks there instead of cmd64x_tune_pio() -- this causes
> quantize_timing() to also move;
>
> - contrarywise, move all the code handling the address setup timing into
> cmd64x_tune_pio(), so that setting MWDMA mode wouldn't change address setup;
>
> - add MWDMA cases to the speedproc() method and handle them by just calling
> program_cycle_times();
>
> - set hwif->mdwma_mask in the init_hwif() method.
>
> In addition to those changes, do the following:
>
> - when writing to ARTTIM23 register for the secondary channel, preserve the
> interrupt status bit; eliminate the local_irq_{save|restore}() around this
> code as there is *no* actual race with interrupt handler;
>
> - make {arttim|drwtim}_regs[] single-dimensional, indexed with drive->dn;
>
> - rename {setup|recovery}_counts[] into more fitting
> {setup|recovery}_values[];
>
> While at it, also do remove:
>
> - needless and misplaced timing registers initialization in the init_chipset()
> method;
>
> - meaningless register "aliases";
>
> - meaningless comment about the driver being used only on SPARC Ultra. :-)
>
> Signed-off-by: Sergei Shtylyov <[EMAIL PROTECTED]>
looks fine, applied
> ---
> Warning: this has only been compile-tested, as usual, so *needs* real testing.
>
> Note that this implementation doesn't take care of properly merging MWDMA and
> PIO timings which share the same registers (well, that's not done by the most
> IDE drivers anyway).
>
> Still have no idea about why PPC needs to explicitly disable UltraDMA on the
> primary channel -- it should be disabled by default...
No idea, probably looking at cmd64x driver version from the time that this
quirk was introduced would give some answers...
Thanks,
Bart
-
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