mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Eric D. Mudama" <edmudama@mail.bounceswoosh.org>
To: Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: no DRQ after issuing WRITE was Re: 2.4.23-uv3 patch set released
Date: Tue, 30 Dec 2003 16:18:45 -0700	[thread overview]
Message-ID: <20031230231845.GA9128@bounceswoosh.org> (raw)
In-Reply-To: <Pine.LNX.4.58L.0312302002130.23875@logos.cnet>

On Tue, Dec 30 at 20:21, Marcelo Tosatti wrote:
>"hda: no DRQ after issuing WRITE
>ide0: reset: success
>hda: status timeout: status=0xd0 { Busy }
>
>hda: no DRQ after issuing WRITE
>ide0: reset: success"
>
>(Daniel wrote the patch which got applied to 2.4, it fixed the problems
>for him).
>
>There are several other reports of "no DRQ after issuing {MULTI}WRITE",
>some of them probably involved with this bug, some of them potentially
>not. You can find more reports (both from 2.6 and 2.4) at:

Old ATA specifications had the concept of an auto-write segment,
in that the drive had to begin accepting data an extremly short time
after the command had been issued.

>From what I understand, there was a time when people attempted to
remove this from the spec, however, it was discovered that some old
BIOSs didn't bother to check the DRDY bit at all after issuing a PIO
write, and they immediately just went straight to data
transfer... without the drive ready to receive the data, it would
corrupt the block since the first N words of data wouldn't be seen.

In more modern versions of the ATA specification, the only time
constraint built into PIO protocol transfers is that the hardware has
at most 400ns to assert BSY following the write of the command
register.  Since every drive today has hardware to automate this
process, that time constraint is never violated.

Other than that, the drive is free to leave BSY asserted as long as it
needs to prior to setting DRQ and being ready for data-transfer in.

I could just be talking totally tangential to the issue being
discussed, but is the 20/30 or 29/30ms wait being discussed at this
point in the protocol, or is it elsewhere?

Unless it has been something like 5-8 *seconds* without DRQ=1 and
BSY=0, I don't think the driver should reset the device.

--eric


-- 
Eric D. Mudama
edmudama@mail.bounceswoosh.org


  reply	other threads:[~2003-12-30 23:20 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-29  7:58 James Bourne
2003-12-30 11:36 ` Marcelo Tosatti
2003-12-30 19:59   ` Linus Torvalds
2003-12-30 21:46     ` no DRQ after issuing WRITE was " Marcelo Tosatti
2003-12-30 21:57       ` Linus Torvalds
2003-12-30 22:21         ` Marcelo Tosatti
2003-12-30 23:18           ` Eric D. Mudama [this message]
2003-12-30 22:23         ` Rob Love
2003-12-30 22:54           ` Linus Torvalds
2003-12-30 22:58             ` Rob Love
2004-01-03 11:22               ` Daniel Tram Lux
2004-01-03 18:57                 ` Linus Torvalds
2004-01-03 19:27                   ` Daniel Tram Lux
2004-01-03 22:10     ` Pavel Machek
2003-12-31  6:10   ` James Bourne

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=20031230231845.GA9128@bounceswoosh.org \
    --to=edmudama@mail.bounceswoosh.org \
    --cc=linux-kernel@vger.kernel.org \
    /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

all inboxes | Powered by JetHome®