public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@zip.com.au>
To: Ed Sweetman <ed.sweetman@wmich.edu>
Cc: Kristian <kristian.peters@korseby.net>, linux-kernel@vger.kernel.org
Subject: Re: [CFT] Bus mastering support for IDE CDROM audio
Date: Mon, 28 Jan 2002 00:29:08 -0800	[thread overview]
Message-ID: <3C550BD4.E9CBE6A@zip.com.au> (raw)
In-Reply-To: <20020127111917.3c019701.kristian.peters@korseby.net>, <3C5119E0.6E5C45B6@zip.com.au> <000701c1a5d5$812ef580$6caaa8c0@kevin> <3C53711B.F8D89811@zip.com.au> <3C53A116.81432588@zip.com.au> <20020127101131.0f71e978.kristian.peters@korseby.net>  <20020127111917.3c019701.kristian.peters@korseby.net> <1012161271.22707.50.camel@psuedomode>

OK, Gents.  Version three is at

	http://www.zip.com.au/~akpm/linux/2.4/2.4.18-pre7/ide-akpm-3.patch

This attempts to overcome the situation where a drive/controller
doesn't want to perform multiframe DMA, but is happy performing
single-frame DMA.

So:

- We start out trying to perform multiframe DMA.  If we get
  a DMA error, we fall back to single-frame DMA.

- If we get a DMA error in single frame mode, we fall back
  to multi-frame PIO.

At no stage does a packet-mode DMA error turn off drive-level
DMA.  This is because some devices seem to perform ordinary
ATA DMA OK, but screw up packet DMA.

The kernel internally retries the requests when it performs fallback,
so userspace shouldn't see any disruption as the kernel works
out what to do.

Once the drive has fallen back to single-frame (or PIO mode) for
packet reads, the only way to get it back to a higher level is
a reboot.

-

  reply	other threads:[~2002-01-28  8:37 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-25  8:40 [CFT] Bus mastering support for IDE CDROM audio Andrew Morton
2002-01-25 19:21 ` Kevin P. Fleming
2002-01-27  2:13   ` Dan Chen
2002-01-27  3:16   ` Andrew Morton
2002-01-27  6:41     ` Andrew Morton
2002-01-27  9:11       ` Kristian
2002-01-27 10:19         ` Kristian
2002-01-27 19:54           ` Ed Sweetman
2002-01-28  8:29             ` Andrew Morton [this message]
2002-01-28  9:51               ` benh
2002-01-28  9:51                 ` Andrew Morton
2002-01-28 15:50                   ` Ed Sweetman
2002-01-28 17:13                     ` Kristian
2002-01-28 13:51               ` Kristian
2002-01-28 19:21       ` Kevin P. Fleming
2002-01-26  8:43 ` Dan Chen
2002-01-26 12:03 ` Kristian
2002-01-27 21:21 ` Robert Love
2002-01-27 21:25   ` Jens Axboe
2002-01-27 21:36     ` Andrew Morton
2002-01-27 21:40     ` Robert Love

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=3C550BD4.E9CBE6A@zip.com.au \
    --to=akpm@zip.com.au \
    --cc=ed.sweetman@wmich.edu \
    --cc=kristian.peters@korseby.net \
    --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