--- On Mon, 1/28/08, Robert Hancock <hancockr@xxxxxxx> wrote: > The trick is that if an ATAPI device is connected, we (as > far as I'm > aware) can't use ADMA mode, so we have to switch that > port into legacy > mode. Can you double check this with the HW architect of the HW DMA engine of the ASIC? > This means it's only capable of 32-bit DMA. > However the other port > on the controller may be connected to a hard drive and > therefore still > capable of 64-bit DMA. If this is indeed the case as you've presented it here, it sounds like a HW shortcoming. I cannot see how the device type (or protocol) dictate how the DMA engine operates. They live in two different domains. > The ideal solution would be to do mapping against a > different struct > device for each port, so that we could maintain the proper > DMA mask for > each of them at all times. However I'm not sure if > that's possible. The > thought of using the SCSI struct device for DMA mapping was > brought up > at one point.. any thoughts on that? The reason for this is that the object that a struct scsi_dev represents has nothing to do with HW DMA engines. It looks like your current solution is correct and x86_64's blk_queue_bounce_limit needs work. Luben - 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