Re: [PATCH] libata: eliminate the home grown dma padding in favour of that provided by the block layer

2008-01-09 Thread James Bottomley
On Wed, 2008-01-09 at 14:13 +0900, Tejun Heo wrote: James Bottomley wrote: Also, DMA alignment at block layer isn't enough for ATA. ATA needs drain buffers for ATAPI commands with variable length response. :-( OK, where is this in the libata code? The dma_pad size is only 4 bytes,

Re: [PATCH] libata: eliminate the home grown dma padding in favour of that provided by the block layer

2008-01-08 Thread Tejun Heo
James Bottomley wrote: ATA requires that all DMA transfers begin and end on word boundaries. Because of this, a large amount of machinery grew up in ide to adjust scatterlists on this basis. However, as of 2.5, the block layer has a dma_alignment variable which ensures both the beginning and

Re: [PATCH] libata: eliminate the home grown dma padding in favour of that provided by the block layer

2008-01-08 Thread James Bottomley
On Wed, 2008-01-09 at 11:10 +0900, Tejun Heo wrote: James Bottomley wrote: ATA requires that all DMA transfers begin and end on word boundaries. Because of this, a large amount of machinery grew up in ide to adjust scatterlists on this basis. However, as of 2.5, the block layer has a

Re: [PATCH] libata: eliminate the home grown dma padding in favour of that provided by the block layer

2008-01-08 Thread Tejun Heo
James Bottomley wrote: Also, DMA alignment at block layer isn't enough for ATA. ATA needs drain buffers for ATAPI commands with variable length response. :-( OK, where is this in the libata code? The dma_pad size is only 4 bytes, so this drain, I assume is only a word long? Given the

Re: [PATCH] libata: eliminate the home grown dma padding in favour of that provided by the block layer

2008-01-03 Thread FUJITA Tomonori
On Mon, 31 Dec 2007 15:56:08 -0600 James Bottomley [EMAIL PROTECTED] wrote: ATA requires that all DMA transfers begin and end on word boundaries. Because of this, a large amount of machinery grew up in ide to adjust scatterlists on this basis. However, as of 2.5, the block layer has a

Re: [PATCH] libata: eliminate the home grown dma padding in favour of that provided by the block layer

2008-01-03 Thread James Bottomley
On Thu, 2008-01-03 at 16:58 +0900, FUJITA Tomonori wrote: On Mon, 31 Dec 2007 15:56:08 -0600 James Bottomley [EMAIL PROTECTED] wrote: @@ -1080,24 +1073,15 @@ extern void ata_port_pbar_desc(struct ata_port *ap, int bar, ssize_t offset, static inline struct scatterlist *

[PATCH] libata: eliminate the home grown dma padding in favour of that provided by the block layer

2007-12-31 Thread James Bottomley
ATA requires that all DMA transfers begin and end on word boundaries. Because of this, a large amount of machinery grew up in ide to adjust scatterlists on this basis. However, as of 2.5, the block layer has a dma_alignment variable which ensures both the beginning and length of a DMA transfer

Re: [PATCH] libata: eliminate the home grown dma padding in favour of that provided by the block layer

2007-12-31 Thread Jeff Garzik
James Bottomley wrote: ATA requires that all DMA transfers begin and end on word boundaries. Because of this, a large amount of machinery grew up in ide to adjust scatterlists on this basis. However, as of 2.5, the block layer has a dma_alignment variable which ensures both the beginning and