From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
To: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: linux-ide@vger.kernel.org
Subject: Re: [PATCH] (pata-2.6 fix queue) cmd64x: add back MWDMA support
Date: Fri, 2 Mar 2007 23:03:32 +0100 [thread overview]
Message-ID: <200703022303.32864.bzolnier@gmail.com> (raw)
In-Reply-To: <200702282352.41128.sshtylyov@ru.mvista.com>
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 <sshtylyov@ru.mvista.com>
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
prev parent reply other threads:[~2007-03-02 22:20 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-03 20:09 [PATCH] (2.6.20-rc7) cmd64x: fix PIO mode setup Sergei Shtylyov
2007-02-03 21:04 ` [PATCH] (2.6.20-rc7) cmd64x: fix PIO mode setup (take 2) Sergei Shtylyov
2007-02-03 22:25 ` Bartlomiej Zolnierkiewicz
2007-02-05 13:29 ` Sergei Shtylyov
2007-02-05 13:57 ` Sergei Shtylyov
[not found] ` <58cb370e0702061459r1b001421gb4592d066793ab46@mail.gmail.com>
2007-02-06 23:44 ` Bartlomiej Zolnierkiewicz
2007-02-07 12:50 ` Sergei Shtylyov
[not found] ` <58cb370e0702061459k4a147891v3686b267d8e3001a@mail.gmail.com>
2007-02-06 23:33 ` Bartlomiej Zolnierkiewicz
2007-02-06 14:45 ` [PATCH] (2.6.20) cmd64x: fix PIO mode setup (take 3) Sergei Shtylyov
2007-02-06 21:11 ` Mikael Pettersson
2007-02-07 0:28 ` Bartlomiej Zolnierkiewicz
[not found] ` <58cb370e0702061500g3047b8ccpca894962491b588a@mail.gmail.com>
2007-02-06 23:48 ` Bartlomiej Zolnierkiewicz
2007-02-09 22:29 ` [PATCH] (pata-2.6 fix queue) cmd64x: fix recovery time calculation Sergei Shtylyov
2007-02-10 0:14 ` Bartlomiej Zolnierkiewicz
2007-02-14 21:42 ` [PATCH] (pata-2.6 fix queue) cmd64x: interrupt status fixes Sergei Shtylyov
2007-02-14 22:35 ` [PATCH] (pata-2.6 fix queue) cmd64x: add/fix enablebits Sergei Shtylyov
2007-02-19 23:09 ` Bartlomiej Zolnierkiewicz
2007-02-20 14:28 ` Sergei Shtylyov
2007-02-23 20:10 ` Bartlomiej Zolnierkiewicz
2007-04-14 19:31 ` [PATCH pata-2.6] cmd64x: add/fix enablebits (take 2) Sergei Shtylyov
2007-04-23 21:54 ` Bartlomiej Zolnierkiewicz
2007-02-15 13:53 ` [PATCH] (pata-2.6 fix queue) cmd64x: interrupt status fixes (resend) Sergei Shtylyov
2007-02-19 23:04 ` Bartlomiej Zolnierkiewicz
2007-04-14 19:17 ` [PATCH pata-2.6] cmd64x: interrupt status fixes (take 2) Sergei Shtylyov
2007-04-23 21:52 ` Bartlomiej Zolnierkiewicz
2007-02-15 19:17 ` [PATCH] (pata-2.6 fix queue) cmd64x: procfs code fixes/cleanups Sergei Shtylyov
2007-02-19 23:10 ` Bartlomiej Zolnierkiewicz
2007-04-14 19:41 ` [PATCH pata-2.6] cmd64x: procfs code fixes/cleanups (take 2) Sergei Shtylyov
2007-04-23 21:58 ` Bartlomiej Zolnierkiewicz
2007-02-16 20:15 ` [PATCH] (pata-2.6 fix queue) cmd64x: Sergei Shtylyov
2007-02-16 20:21 ` [PATCH] (pata-2.6 fix queue) cmd64x: use interrupt status from MRDMODE register Sergei Shtylyov
2007-02-23 20:09 ` Bartlomiej Zolnierkiewicz
2007-04-14 19:53 ` [PATCH pata-2.6] cmd64x: use interrupt status from MRDMODE register (take 2) Sergei Shtylyov
2007-04-23 22:03 ` Bartlomiej Zolnierkiewicz
2007-04-18 19:38 ` [PATCH pata-2.6 fix queue] hpt366: fix kernel oops with HPT302N Sergei Shtylyov
2007-04-20 19:54 ` Bartlomiej Zolnierkiewicz
2007-04-22 18:05 ` [PATCH pata-2.6 fix queue] aec62xx: fix PIO/DMA setup issues Sergei Shtylyov
2007-04-23 22:33 ` Bartlomiej Zolnierkiewicz
2007-05-10 20:01 ` [PATCH pata-2.6 fix queue] cmd64x: init. code cleanup Sergei Shtylyov
2007-05-10 20:04 ` Sergei Shtylyov
2007-05-15 21:16 ` Bartlomiej Zolnierkiewicz
2007-05-11 19:31 ` [PATCH pata-2.6 fix queue] aec62xx: rework init_setup_aec6x80() Sergei Shtylyov
2007-05-15 21:31 ` Bartlomiej Zolnierkiewicz
2007-05-11 21:11 ` [PATCH pata-2.6 fix queue] aec62xx: remove init_dma() method Sergei Shtylyov
2007-05-15 21:40 ` Bartlomiej Zolnierkiewicz
2007-05-11 21:22 ` [PATCH pata-2.6 fix queue] aec62xx: kill speedproc() method wrapper Sergei Shtylyov
2007-05-15 21:43 ` Bartlomiej Zolnierkiewicz
2007-05-16 14:20 ` Sergei Shtylyov
2007-05-23 23:33 ` Bartlomiej Zolnierkiewicz
2007-05-24 13:18 ` Sergei Shtylyov
2007-05-24 16:44 ` [PATCH pata-2.6] aec62xx: remove init_dma() method (take 2) Sergei Shtylyov
2007-05-24 16:46 ` [PATCH pata-2.6] aec62xx: kill speedproc() method wrapper " Sergei Shtylyov
2007-05-28 20:44 ` Bartlomiej Zolnierkiewicz
2007-06-05 15:15 ` Sergei Shtylyov
2007-06-08 12:22 ` Bartlomiej Zolnierkiewicz
2007-06-09 10:05 ` Sergei Shtylyov
2007-11-09 11:07 ` [PATCH] cmd64x: don't clear the other channels interrupt Sergei Shtylyov
2007-11-11 21:52 ` Bartlomiej Zolnierkiewicz
2007-11-13 20:58 ` Bartlomiej Zolnierkiewicz
2007-11-15 19:23 ` Martin Rogge
2007-11-16 13:34 ` Sergei Shtylyov
2007-02-26 20:32 ` [PATCH] (pata-2.6 fix queue) cmd64x: fix recovery time calculation (take 2) Sergei Shtylyov
2007-03-02 20:34 ` Bartlomiej Zolnierkiewicz
2007-03-03 20:17 ` [PATCH pata-2.6 fix queue] cmd64x: fix recovery time calculation (take 3) Sergei Shtylyov
2007-03-15 20:29 ` Bartlomiej Zolnierkiewicz
2007-02-27 21:49 ` [PATCH] (pata-2.6 fix queue) cmd64x: fix primary channel address setup time Sergei Shtylyov
2007-02-28 13:27 ` Sergei Shtylyov
2007-02-28 20:52 ` [PATCH] (pata-2.6 fix queue) cmd64x: add back MWDMA support Sergei Shtylyov
2007-03-02 22:03 ` Bartlomiej Zolnierkiewicz [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200703022303.32864.bzolnier@gmail.com \
--to=bzolnier@gmail.com \
--cc=linux-ide@vger.kernel.org \
--cc=sshtylyov@ru.mvista.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).