linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sergei Shtylyov <sshtylyov@mvista.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>, jgarzik@pobox.com, vojtech@suse.cz
Cc: linux-ide@vger.kernel.org
Subject: Mysterious MWDMA timings (Was: PATCH: Add CFA modes)
Date: Sat, 19 Nov 2011 20:38:42 +0400	[thread overview]
Message-ID: <4EC7DB92.2020801@mvista.com> (raw)
In-Reply-To: <1155232332.24077.7.camel@localhost.localdomain>

Hello.

On 10-08-2006 21:52, Alan Cox wrote:

>> From nobody Mon Sep 17 00:00:00 2001
> From: root<root@hraefn.swansea.linux.org.uk>
> Date: Thu Aug 10 18:06:38 2006 +0100
> Subject: [PATCH] Add compact flash support

> The CFA world has some additional rules and drive modes we need to support for
> newer expansion cards and on embedded boxes

    Sorry, this is very old patch, but the issue I'm going to touch is even 
much older...

> @@ -1913,6 +1945,8 @@ static const struct ata_timing ata_timin
>   	{ XFER_UDMA_4,     0,   0,   0,   0,   0,   0,   0,  30 },
>   	{ XFER_UDMA_3,     0,   0,   0,   0,   0,   0,   0,  45 },
>
> +	{ XFER_MW_DMA_4,  25,   0,   0,   0,  55,  20,  80,   0 },
> +	{ XFER_MW_DMA_3,  25,   0,   0,   0,  65,  25, 100,   0 },

    Alan, I keep wondering where you got these 25 ns setup timings and where 
such numbers for MWDMA modes 0-2 came from (that should rahter be a question 
for Vojtech Pavlik, the author of drivers/ide/ide-timigs.c from which this 
code was apparently copied; I'm including him in the CC in hopes he could 
remember why these numbers occured, though it's about 10 years since that code 
was written) -- they're not in any spec. Actually, according to the comments 
to 'struct ata_timings', its 'setup' field corresponds to address valid to 
DIOR-/DIOW- setup timing (t1) which only makes sense for the PIO modes, so why 
it's not zero for MWDMA modes is beyond me also...
    What I'd like to do is use this field for MWDMA as the CS(1:0) valid to 
DIOR-/DIOW- timing (tM) which seems to correspond to t1 quite closely (and the 
numbers for tM are slightly less than those used on MWDMA modes now) -- the 
controller I'm writing the driver for now has tM timing programmable...
Or should I just a new timing to 'struct ata_timing'? Or should I just keep 
the tM timing table private to the driver as it's the only user of this 
timing? Opinions?

MBR, Sergei

  parent reply	other threads:[~2011-11-19 16:39 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-10 17:52 PATCH: Add CFA modes Alan Cox
2006-08-14 18:06 ` Jeff Garzik
2011-11-19 13:29 ` Sergei Shtylyov
2011-11-19 13:35   ` Sergei Shtylyov
2011-11-19 16:38 ` Sergei Shtylyov [this message]
2011-11-20  8:03   ` Mysterious MWDMA timings (Was: PATCH: Add CFA modes) Vojtech Pavlik

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=4EC7DB92.2020801@mvista.com \
    --to=sshtylyov@mvista.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=jgarzik@pobox.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=vojtech@suse.cz \
    /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).