• Bartlomiej Zolnierkiewicz's avatar
    ide: add CS5536 host driver (v3) · a77dcc43
    Bartlomiej Zolnierkiewicz authored
    This is a port of libata's pata_cs5536.c (written by Martin K. Petersen)
    to IDE subsystem.
    
    Changes done while at it:
    
    * Reprogram PIO/MWDMA timings if needed before and after DMA transfer
      (chipset uses shared PIO/MWDMA timings).
    
    * Fix cable detection to report 80-wires cable if BIOS set it for any
      device on a port (IDE core will do drive-side cable detection later).
    
    * Don't disable UDMA while programming PIO timings.
    
    * Simplify PCI/MSR support.
    
    Pros of having IDE host driver in addition to libata's one:
    
    * IDE is much lighter than SCSI+libata, the host driver itself is also
      a bit smaller:
    
       text    data     bss     dec     hex filename
       1261     496       4    1761     6e1 drivers/ata/pata_cs5536.o
       1242     128       4    1374     55e drivers/ide/cs5536.o
    
    * This allows use of IDE features which are unavailable under libata.
    
    v2:
    * Fixes per review from Sergei:
      - simplify dependency check in Kconfig
      - use IDE_DRV_MASK also for ->drive_data
      - disable...
    a77dcc43
Kconfig 30.4 KB