19 Jan, 2010

3 commits


16 Jun, 2009

1 commit

  • Change ide_drive_t 'drive_data' field from 'unsigned int' type to 'void *'
    type, allowing a wider range of values/types to be stored in this field.

    Added 'ide_get_drivedata' and 'ide_set_drivedata' helpers to get and set
    the 'drive_data' field.

    Fixed all host drivers to maintain coherency with the change in the
    'drive_data' field type.

    Signed-off-by: Joao Ramos
    [bart: fix qd65xx build, cast to 'unsigned long', minor Coding Style fixups]
    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Joao Ramos
     

18 Apr, 2009

1 commit

  • The driver somehow got merged with the initializer for the dma_sff_read_status()
    method missing which caused kernel panic on bootup.

    This should fix the kernel.org bug #13026...

    Signed-off-by: Sergei Shtylyov
    Reported-by: Arnd Hannemann
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Sergei Shtylyov
     

01 Apr, 2009

1 commit

  • All custom ->dma_timeout implementations call the generic one thus it is
    possible to have only an optional method for resetting DMA engine instead:

    * Add ->dma_clear method and convert hpt366, pdc202xx_old and sl82c105
    host drivers to use it.

    * Always use ide_dma_timeout() in ide_dma_timeout_retry() and remove
    ->dma_timeout method.

    * Make ide_dma_timeout() static.

    There should be no functional changes caused by this patch.

    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

27 Mar, 2009

1 commit

  • * Rename dma_timer_expiry() to ide_dma_sff_timer_expiry() and export it.

    * Add ->dma_timer_expiry method and use it to set hwif->expiry for
    ATA_PROT_DMA protocol in do_rw_taskfile().

    * Initialize ->dma_timer_expiry to ide_dma_sff_timer_expiry() for SFF hosts.

    * Move setting hwif->expiry from ide_execute_command() to its users and drop
    'expiry' argument.

    * Use ide_execute_command() instead of ->dma_exec_cmd in do_rw_taskfile().

    * Remove ->dma_exec_cmd method and its implementations.

    * Unexport ide_execute_command() and ide_dma_intr().

    v2:
    * Fix CONFIG_BLK_DEV_IDEDMA=n build (noticed by Randy Dunlap).

    * Fix *dma_expiry naming (suggested by Sergei Shtylyov).

    There should be no functional changes caused by this patch.

    Cc: Randy Dunlap
    Cc: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

03 Feb, 2009

1 commit

  • 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 UDMA when programming MWDMA
    - program new DTC timings only when necessary
    - fix printk() level in cs5536_init_one()

    * Fix patch description according to comments from Alan and Sergei.

    v3:
    * Smarter masking of UDMA bits per Sergei's suggestion.

    Cc: Martin K. Petersen
    Cc: Karl Auerbach
    Cc: Alan Cox
    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz