ide: rework the code for selecting the best DMA transfer mode (v3)
Depends on the "ide: fix UDMA/MWDMA/SWDMA masks" patch.
* add ide_hwif_t.udma_filter hook for filtering UDMA mask
(use it in alim15x3, hpt366, siimage and serverworks drivers)
* add ide_max_dma_mode() for finding best DMA mode for the device
(loosely based on some older libata-core.c code)
* convert ide_dma_speed() users to use ide_max_dma_mode()
* make ide_rate_filter() take "ide_drive_t *drive" as an argument instead
of "u8 mode" and teach it to how to use UDMA mask to do filtering
* use ide_rate_filter() in hpt366 driver
* remove no longer needed ide_dma_speed() and *_ratemask()
* unexport eighty_ninty_three()
v2:
* rename ->filter_udma_mask to ->udma_filter
[ Suggested by Sergei Shtylyov <sshtylyov@ru.mvista.com>. ]
v3:
* updated for scc_pata driver (fixes XFER_UDMA_6 filtering for user-space
originated transfer mode change requests when 100MHz clock is used)
Signed-off-by:
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Showing
- drivers/ide/arm/icside.c 1 addition, 1 deletiondrivers/ide/arm/icside.c
- drivers/ide/cris/ide-cris.c 1 addition, 1 deletiondrivers/ide/cris/ide-cris.c
- drivers/ide/ide-dma.c 74 additions, 0 deletionsdrivers/ide/ide-dma.c
- drivers/ide/ide-iops.c 0 additions, 2 deletionsdrivers/ide/ide-iops.c
- drivers/ide/ide-lib.c 18 additions, 107 deletionsdrivers/ide/ide-lib.c
- drivers/ide/ide.c 1 addition, 0 deletionsdrivers/ide/ide.c
- drivers/ide/pci/aec62xx.c 3 additions, 29 deletionsdrivers/ide/pci/aec62xx.c
- drivers/ide/pci/alim15x3.c 17 additions, 59 deletionsdrivers/ide/pci/alim15x3.c
- drivers/ide/pci/atiixp.c 2 additions, 18 deletionsdrivers/ide/pci/atiixp.c
- drivers/ide/pci/cmd64x.c 14 additions, 51 deletionsdrivers/ide/pci/cmd64x.c
- drivers/ide/pci/cs5535.c 2 additions, 18 deletionsdrivers/ide/pci/cs5535.c
- drivers/ide/pci/hpt34x.c 2 additions, 7 deletionsdrivers/ide/pci/hpt34x.c
- drivers/ide/pci/hpt366.c 35 additions, 32 deletionsdrivers/ide/pci/hpt366.c
- drivers/ide/pci/it8213.c 2 additions, 18 deletionsdrivers/ide/pci/it8213.c
- drivers/ide/pci/it821x.c 2 additions, 18 deletionsdrivers/ide/pci/it821x.c
- drivers/ide/pci/jmicron.c 2 additions, 19 deletionsdrivers/ide/pci/jmicron.c
- drivers/ide/pci/pdc202xx_new.c 2 additions, 12 deletionsdrivers/ide/pci/pdc202xx_new.c
- drivers/ide/pci/pdc202xx_old.c 2 additions, 25 deletionsdrivers/ide/pci/pdc202xx_old.c
- drivers/ide/pci/piix.c 2 additions, 64 deletionsdrivers/ide/pci/piix.c
- drivers/ide/pci/scc_pata.c 2 additions, 19 deletionsdrivers/ide/pci/scc_pata.c
Loading
Please register or sign in to comment