From: Robert Hancock <hancockr@shaw.ca>
To: linux-kernel <linux-kernel@vger.kernel.org>,
ide <linux-ide@vger.kernel.org>
Subject: sata_nv and dynamically changing DMA mask?
Date: Mon, 29 Oct 2007 22:17:40 -0600 [thread overview]
Message-ID: <4726B064.3000906@shaw.ca> (raw)
In the sata_nv driver, when running in ADMA mode, we can do 64-bit DMA.
However, when an ATAPI device like a DVD drive is connected, we can't
use ADMA mode, and so we have to abide by the restrictions of a normal
SFF ATA controller and can only do 32-bit DMA. We detect this and try to
set the blk_queue_bounce_limit, blk_queue_segment_boundary and
blk_queue_max_hw_segments to the values corresponding to a normal SFF
controller.
However, we have this bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=351451
that their DVD drive doesn't work properly on a computer with 4GB of RAM
unless they either disable ADMA (thus resulting in the DMA parameters
being initialized to the SFF ones from the start) or pass mem=3000M to
the kernel to keep the memory above the 4GB mark from being used. Thus I
suspect that what we're trying to do with the DMA parameters is not taking.
Question is: is setting blk_queue_bounce_limit enough to prevent
addresses outside that mask from showing up, or does the device DMA mask
also need to be updated? Is there anything wrong with just changing the
DMA mask at runtime? Keep in mind, ATAPI and non-ATAPI devices can
potentially be switched out on the port, so the mask might need to be
updated at runtime..
--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@nospamshaw.ca
Home Page: http://www.roberthancock.com/
next reply other threads:[~2007-10-30 4:16 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-30 4:17 Robert Hancock [this message]
2007-10-30 10:05 ` sata_nv and dynamically changing DMA mask? Alan Cox
2007-10-30 23:59 ` Robert Hancock
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=4726B064.3000906@shaw.ca \
--to=hancockr@shaw.ca \
--cc=linux-ide@vger.kernel.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;
as well as URLs for NNTP newsgroup(s).