19 Jan, 2010

10 commits


04 Dec, 2009

1 commit


01 May, 2009

1 commit

  • Some time ago we had to disable init_hwif callback for PowerPC builds.
    That was because of a historical IRQ overwrite in the driver, which
    was causing IDE malfunction on the MPC8610HPCD PowerPC boards.

    It's unclear whether this overwrite is still useful, but it is proven
    to cause a bit of harm, and today some PowerPC targets (Xilinx ML510,
    as reported by Roderick Colenbrander) need the init_hwif, so we have
    to re-enable it and remove the overwrite.

    Reported-by: Roderick Colenbrander
    Suggested-by: Bartlomiej Zolnierkiewicz
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Anton Vorontsov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Anton Vorontsov
     

01 Apr, 2009

2 commits

  • * Add (an optional) ->dma_check method for checking if DMA can be
    used for a given command and fail DMA setup in ide_dma_prepare()
    if necessary.

    * Convert alim15x3 and trm290 host drivers to use ->dma_check.

    * Rename ali15x3_dma_setup() to ali_dma_check() while at it.

    There should be no functional changes caused by this patch.

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

    Bartlomiej Zolnierkiewicz
     
  • 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

2 commits

  • * 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
     
  • * Set IDE_TFLAG_WRITE flag and ->rq also for ATA_CMD_PACKET
    commands.

    * Pass command to ->dma_setup method and update all its
    implementations accordingly.

    * Pass command instead of request to ide_build_sglist(),
    *_build_dmatable() and ide_map_sg().

    While at it:

    * Fix scc_dma_setup() documentation + use ATA_DMA_WR define.

    * Rename sgiioc4_build_dma_table() to sgiioc4_build_dmatable(),
    change return value type to 'int' and drop unused 'ddir'
    argument.

    * Do some minor cleanups in [tx4939]ide_dma_setup().

    There should be no functional changes caused by this patch.

    Acked-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

25 Mar, 2009

1 commit


07 Jan, 2009

4 commits

  • Move apparently misplaced read_sff_dma_status() method from 'struct ide_tp_ops'
    to 'struct ide_dma_ops', renaming it to dma_sff_read_status() and making only
    required for SFF-8038i compatible IDE controller drivers (greatly cutting down
    the number of initializers) as its only user (outside ide-dma-sff.c and such
    drivers) appears to be ide_pci_check_simplex() which is only called for such
    controllers...

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

    Sergei Shtylyov
     
  • Replace setting of 'hwif->dma_ops' in the 'alim15x3' and 'palm_bk3710' drivers'
    init_dma() methods with initializing the corresponding member of their 'struct
    ide_port_info' instances and remove such setting from the 'hpt366' driver that
    just doesn't use 'sff_dma_ops'. Along with some code save, this prepares us for
    the next patch...

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

    Sergei Shtylyov
     
  • Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Merge ide_hwgroup_t with ide_hwif_t.

    * Cleanup init_irq() accordingly, then remove no longer needed
    ide_remove_port_from_hwgroup() and ide_ports[].

    * Remove now unused HWGROUP() macro.

    While at it:

    * ide_dump_ata_error() fixups

    v2:
    * Fix ->quirk_list check in do_ide_request()
    (s/hwif->cur_dev/prev_port->cur_dev).

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

03 Dec, 2008

1 commit


03 Nov, 2008

1 commit


22 Oct, 2008

1 commit