From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: scameron@beardog.cca.cpqcorp.net
Cc: Grant Grundler <grundler@google.com>,
Jens Axboe <jens.axboe@oracle.com>,
FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>,
linux-kernel@vger.kernel.org, mike.miller@hp.com,
akpm@linux-foundation.org, linux-scsi@vger.kernel.org,
coldwell@redhat.com, hare@novell.com, iss_storagedev@hp.com
Subject: Re: [PATCH] hpsa: SCSI driver for HP Smart Array controllers
Date: Fri, 06 Mar 2009 15:59:10 -0600 [thread overview]
Message-ID: <1236376750.20520.7.camel@localhost.localdomain> (raw)
In-Reply-To: <20090306211832.GV15340@beardog.cca.cpqcorp.net>
On Fri, 2009-03-06 at 15:18 -0600, scameron@beardog.cca.cpqcorp.net
wrote:
> On Fri, Mar 06, 2009 at 12:59:48PM -0800, Grant Grundler wrote:
> > On Fri, Mar 6, 2009 at 6:38 AM, <scameron@beardog.cca.cpqcorp.net> wrote:
> > ...
> > > The command buffers have to be in the first 4GB of memory, as the command
> > > register is only 32 bits, so they are allocated by pci_alloc_consistent.
> >
> > Huh?!!
> > ISTR the mpt2sas driver is indicating it can handle 64-bit DMA masks for
> > both streaming and control data. I need to double check to be sure of that.
>
> it is something specific to smart array. The command register that we
> stuff the bus address of the command into is only 32 bits wide. Everything
> else it does is 64 bits.
> >
> >
> > > However, the chained SG lists don't have that limitation, so I think they
> > > can be kmalloc'ed, and so not chew up and unreasonable amount of the
> > > pci_alloc_consistent memory and get a larger number of SGs. ...right?
> > > Maybe that's the better way to do it.
> >
> > I thought the driver was tracking this and using the appropriate construct
> > based on which DMA mask is in effect.
>
> The DMA mask is insufficiently expressive to describe the limitations and
> capabilities of the Smart array. There's no way to describe with a single
> DMA mask that the command register is 32-bits, but everything else is 64
> bits.
Actually, there is ... it's what you're doing: use a coherent mask of 32
bits and a dma mask of 64bits.
The aic79xx has exactly the same problem (its internal sequencer only
has a 32 bit wide programme counter, so it can only execute sequencer
scripts if they're in the first 4GB of memory). I think it's fairly
common amongst intelligent controllers that are old enough to have been
32 bit only but which got extended to work on 64 bits.
To get ordinary memory for this, you just use GFP_DMA32 as has been
previously stated.
James
next prev parent reply other threads:[~2009-03-06 21:59 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-02 14:56 [PATCH] hpsa: SCSI driver for HP Smart Array controllers scameron
2009-03-03 6:35 ` FUJITA Tomonori
2009-03-03 16:28 ` scameron
2009-03-05 5:48 ` FUJITA Tomonori
2009-03-05 14:21 ` scameron
2009-03-05 16:54 ` Andrew Patterson
2009-03-06 8:55 ` Jens Axboe
2009-03-06 9:13 ` FUJITA Tomonori
2009-03-06 9:21 ` Jens Axboe
2009-03-06 9:27 ` FUJITA Tomonori
2009-03-06 9:35 ` Jens Axboe
2009-03-06 14:38 ` scameron
2009-03-06 19:06 ` Jens Axboe
2009-03-06 20:59 ` Grant Grundler
2009-03-06 21:18 ` scameron
2009-03-06 21:55 ` Grant Grundler
2009-03-06 21:59 ` James Bottomley [this message]
2009-03-05 14:55 ` Miller, Mike (OS Dev)
2009-03-03 16:49 ` Mike Christie
2009-03-03 21:28 ` scameron
-- strict thread matches above, loose matches on Subject: below --
2009-02-27 23:09 Mike Miller
2009-03-01 13:49 ` Rolf Eike Beer
2009-03-02 6:32 ` FUJITA Tomonori
2009-03-02 17:19 ` Grant Grundler
2009-03-02 18:20 ` Mike Christie
2009-03-02 18:36 ` Jens Axboe
2009-03-02 20:33 ` Mike Christie
2009-03-02 20:37 ` Mike Christie
2009-03-03 9:43 ` Jens Axboe
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=1236376750.20520.7.camel@localhost.localdomain \
--to=james.bottomley@hansenpartnership.com \
--cc=akpm@linux-foundation.org \
--cc=coldwell@redhat.com \
--cc=fujita.tomonori@lab.ntt.co.jp \
--cc=grundler@google.com \
--cc=hare@novell.com \
--cc=iss_storagedev@hp.com \
--cc=jens.axboe@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=mike.miller@hp.com \
--cc=scameron@beardog.cca.cpqcorp.net \
/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