Hi,
This patchkit:
- converts PIO code to use scatterlists instead of directly walking bios
- fixes longstanding 'data integrity on error' issue in non-taskfile PIO code
- unifies single/multiple PIO handling
- unifies taskfile/non-taskfile PIO handling
Changes:
- resync with -bk (first two patches are now merged)
- ide_sg_init() become generic init_sg_one() helper (linux/scatterlist.h)
(thanks to Jeff and Jens for suggestions)
- use init_sg_one() in Etrax IDE driver
- bugfix: use sg->length instead of sg_dma_len(sg)
(found thanks to rmk's concerns)
- uninline ide_pio_multi()
- make ide_pio_sector() and task_error() static
- drop removal of bio walking for now
Testing (esp. on non x86) and comments are welcomed.
BTW 'sanitize DMA' patchkit should be ready soon.
Bartlomiej
Bartlomiej Zolnierkiewicz wrote:
> - bugfix: use sg->length instead of sg_dma_len(sg)
> (found thanks to rmk's concerns)
Details?
IIRC this breaks ia64 and/or other platforms?
Jeff
On Monday 13 September 2004 02:34, Jeff Garzik wrote:
> Bartlomiej Zolnierkiewicz wrote:
> > - bugfix: use sg->length instead of sg_dma_len(sg)
> > (found thanks to rmk's concerns)
>
> Details?
Unlike libata we don't use DMA API for PIO.
> IIRC this breaks ia64 and/or other platforms?
No pci_[un]map_sg() so sg->length won't be ever changed.
Bartlomiej