Re: [PATCH] hpsa: SCSI driver for HP Smart Array controllers

From: scameron
Date: Fri Mar 06 2009 - 16:18:45 EST


On Fri, Mar 06, 2009 at 12:59:48PM -0800, Grant Grundler wrote:
> On Fri, Mar 6, 2009 at 6:38 AM, <scameron@xxxxxxxxxxxxxxxxxxxxxxx> 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.

-- steve

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/