On Fri, Mar 6, 2009 at 1:18 PM, <scameron@xxxxxxxxxxxxxxxxxxxxxxx> wrote: > 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. Sorry...I'm spacing out and confusing my drivers. thanks, grant >> >> > 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-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html