MarkH is out on Vacation for a few weeks. This may seem like a DILLIGAF, but after chatting with the F/W folks, there is no harm in dropping the page calculation as denoted in the enclosed patch for these older adapters in this new age of 4GB+ memory sticks. Any resource optimization within the old-old-old adapters for systems with less than 4G of memory is of little consequence. The existing AAC_QUIRK_31BIT flag in linit.c should look after the rest of the legacy hardware DMA limitations. Signed-off-by: Mark Salyzyn <aacraid@xxxxxxxxxxx> --- Applies to the scsi-misc-2.6 git tree. <enclosed aacraid-GART.patch> Andi Kleen sez: > On Sunday 25 June 2006 21:00, Alan Cox wrote: >> On Sun, Jun 25, 2006 at 05:22:23PM +0200, Andi Kleen wrote: >>>> Older aacraid hardware cannot address the 3-4GB range where the iommu >>>> remaps pages. As the PCI DMA implementation for the x86-64 is flawed and >>>> doesn't support any nice way to deal with this via swiotlb instead the >>>> driver handles it internally. >>> Then you should just force a low bounce pfn < 0xfffffff for the block device - >>> then the block layer should use GFP_DMA bouncing. >> From a tiny 16MB DMA pool that can't sustain the required load ? Or has that >> bit changed. > It should be ok because it blocks. It will be slow, but what > else do you expect from broken hardware like this?
Attachment:
aacraid-GART.patch
Description: aacraid-GART.patch