From: Jeff Garzik <jeff@garzik.org>
To: Robert Hancock <hancockr@shaw.ca>
Cc: linux-kernel <linux-kernel@vger.kernel.org>,
linux-ide@vger.kernel.org, prakash@punnoor.de
Subject: Re: [RFC PATCH] nForce4 ADMA with NCQ: It's aliiiive..
Date: Sat, 07 Oct 2006 11:28:43 -0400 [thread overview]
Message-ID: <4527C7AB.9080801@garzik.org> (raw)
In-Reply-To: <45276085.3040102@shaw.ca>
Robert Hancock wrote:
> I've been working on the patch for sata_nv ADMA support for nForce4 that
> Jeff Garzik has in a git branch. I've gotten it into a state where the
> ADMA and NCQ features appear to be working with no obvious problems.
> I've attached a patch against 2.6.18-mm2.
>
> The code was mostly in a working state for the non-NCQ case but there
> were a number of heinous bugs that prevented NCQ from working, like in
> the sg list to APRD conversion code and in the interrupt handler.
>
> This is still in quite an experimental state. It has survived system
> boots into Fedora Core 5 and Bonnie++ benchmark runs without blowing up,
> but there could still be bugs that could corrupt data, etc. so test with
> caution.
>
> There is a module parameter adma_enabled which has to be set to 1 to
> enable ADMA on CK804/MCP04 chipsets (either that or hack the code to
> make the default 1). I only enabled ADMA on those chipsets and not
> MCP51, MCP55 or MCP61 since that was all that the original NVIDIA
> version did. I assume there was a reason for this, though maybe not.
> Someone with one of these chipsets should probably try it out (replacing
> the GENERIC type with CK804 in the PCI device table may be all it takes).
Nice! Good work.
> A few outstanding issues:
>
> -Error handling likely needs work. EH works well enough to get past
> drive detection but that's likely about all. When I ran into errors
> while debugging, it usually locked up the machine when trying to do a
> soft reset.
>
> -Error handling is also noisy at the moment (it dumps a bunch of
> controller state information).
>
> -Jeff will probably cringe at how I implemented the
> bmdma_stop/start/status/setup functions. This kludge of toggling
> ATA_FLAG_MMIO off for the call into libata was needed since this
> controller is almost what libata calls ATA_FLAG_MMIO, but not quite (the
> ATA taskfile registers are MMIO but the BMDMA registers are PIO). This
> is also why I needed the patch to libata-sff.c to use the adapter's
> bmdma_status function rather than hardcoded ata_bmdma_status.
*shrug* I don't cringe if that's the most expedient way to do something.
But I really don't think that is necessary. I will take a look at docs
and see how things match up, when I am much more awake. Most likely you
need to be using another set of registers, and be all MMIO, all the time.
Jeff
next prev parent reply other threads:[~2006-10-07 15:28 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-07 8:08 [RFC PATCH] nForce4 ADMA with NCQ: It's aliiiive Robert Hancock
2006-10-07 9:42 ` Prakash Punnoor
2006-10-07 15:54 ` Robert Hancock
2006-10-10 6:44 ` Allen Martin
2006-10-10 7:52 ` Prakash Punnoor
2006-11-30 16:46 ` Prakash Punnoor
2006-12-01 0:07 ` Robert Hancock
2006-10-07 15:28 ` Jeff Garzik [this message]
2006-10-07 23:49 ` Robert Hancock
2006-10-10 6:52 ` Allen Martin
2006-10-11 5:07 ` Robert Hancock
2006-10-11 10:30 ` Jens Axboe
2006-10-13 3:17 ` Robert Hancock
2006-10-13 8:04 ` Jens Axboe
2006-10-17 3:34 ` [PATCH] sata_nv ADMA/NCQ support for nForce4 Robert Hancock
2006-10-17 3:37 ` Mark Lord
2006-10-17 4:24 ` Robert Hancock
2006-10-17 16:22 ` Mark Lord
2006-10-17 17:58 ` Roland Dreier
2006-10-17 20:54 ` Mark Lord
2006-10-16 16:17 ` [RFC PATCH] nForce4 ADMA with NCQ: It's aliiiive Mark Lord
2006-10-16 23:40 ` Robert Hancock
2006-10-17 0:04 ` Mark Lord
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=4527C7AB.9080801@garzik.org \
--to=jeff@garzik.org \
--cc=hancockr@shaw.ca \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=prakash@punnoor.de \
/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