• B
    ide: switch to DMA-mapping API part #2 · 2bbd57ca
    Bartlomiej Zolnierkiewicz 提交于
    Follow-up to commit 5c05ff68
    ("ide: switch to DMA-mapping API"):
    
    * pci_{alloc,free}_consistent() -> dma_{alloc,free}_coherent()
      in ide_{allocate,release}_dma_engine().
    
    * Add ->prd_max_nents and ->prd_ent_size fields to ide_hwif_t
      (+ set default values in ide_allocate_dma_engine()).
    
    * Make ide_{allocate,release}_dma_engine() available also
      for CONFIG_BLK_DEV_IDEDMA_SFF=n.  Then convert au1xxx-ide.c,
      scc_pata.c and sgiioc4.c to use them.
    
    * Add missing ->init_dma method to scc_pata.
    
    This patch also fixes:
    - ->dmatable_cpu leak for au1xxx-ide
    - too early realease of ->dmatable_cpu for scc_pata
    - wrong amount of ->dmatable_cpu memory being freed for sgiioc4
    
    While at it:
    - remove superfluous ->dma_base check from ide_unregister()
    - return -ENOMEM on error in ide_release_dma_engine()
    - beautify error message in ide_release_dma_engine()
    Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
    2bbd57ca
scc_pata.c 24.7 KB