From: Jeff Garzik <jgarzik@pobox.com>
To: the4hoffmans@earthlink.net
Cc: Tejun Heo <tj@kernel.org>, linux-ide@vger.kernel.org, blward@micron.com
Subject: Re: Issue with AHCI driver
Date: Fri, 08 Aug 2008 17:43:19 -0400 [thread overview]
Message-ID: <489CBDF7.8070707@pobox.com> (raw)
In-Reply-To: <1592636.1218228104177.JavaMail.root@elwamui-wigeon.atl.sa.earthlink.net>
the4hoffmans@earthlink.net wrote:
> Update:
>
> We got Fedora 2.6.25-14 build running. It recognizes our card. It identifies our device but at some point after that we die. Using an analyzer we found that the problem is due to a buffer alignment issue.
>
> Our card is a prototype and currently under development. It currently only supports memory buffers that are quadword aligned. We are dying because we get a buffer for a subsequent identify command that is on a dword boundary. That is the problem we need to solve next.
>
> We know we need to change our hardware and we will do that. However, is there a way during driver init to specify quadword buffer alignment so we can continue our testing with Linux?
Not easily, no :/ The entirety of SATA, both devices, the protocol, and
controllers, are all very 32-bit-centric. Given that each SATA FIS is
one or more dwords, this fundamental feature propagates through
everything touched by SATA: Linux kernel drivers, controller
interfaces, etc.
I would be surprised if standard filesystem I/O (via bio's) was
unaligned... but all the ATA commands we use for control, various
internal [and often controller-specific] data structures that are
DMA-mapped and directly accessed are usually found on 32-bit boundaries,
but nothing more than that.
Avoiding commands outside the READ DMA / WRITE DMA realm may help you
limp along... if you want to hack things up to speed up local
development, I would turn on libata DEBUG and VERBOSE_DEBUG, follow the
trace until you find the failing (non-aligned) command, and try to omit
that from the probing process. The main non-data operation during
probing we really care about is IDENTIFY [PACKET] DEVICE, and that
/should/ be aligned at a minimum on a quadword boundary, if I'm not
mistaken.
Also, avoid ATAPI devices and testing ATAPI, as you will _definitely_
not be getting quadword alignment there.
Jeff
next prev parent reply other threads:[~2008-08-08 21:43 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-08 20:41 Issue with AHCI driver the4hoffmans
2008-08-08 21:43 ` Jeff Garzik [this message]
-- strict thread matches above, loose matches on Subject: below --
2008-08-07 20:51 the4hoffmans
2008-08-06 16:59 the4hoffmans
2008-08-06 23:15 ` Tejun Heo
2008-08-06 13:17 the4hoffmans
2008-08-05 21:28 the4hoffmans
2008-08-05 23:10 ` Tejun Heo
2008-08-05 20:14 the4hoffmans
2008-08-04 20:56 the4hoffmans
2008-08-04 23:10 ` Tejun Heo
2008-08-04 19:18 the4hoffmans
2008-08-04 19:33 ` Jeff Garzik
2008-08-04 14:36 the4hoffmans
2008-08-04 14:44 ` Tejun Heo
2008-07-10 15:17 the4hoffmans
2008-08-01 4:06 ` Tejun Heo
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=489CBDF7.8070707@pobox.com \
--to=jgarzik@pobox.com \
--cc=blward@micron.com \
--cc=linux-ide@vger.kernel.org \
--cc=the4hoffmans@earthlink.net \
--cc=tj@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.