1. 30 Apr, 2009 1 commit
  2. 31 Mar, 2009 2 commits
  3. 27 Mar, 2009 2 commits
    • Bartlomiej Zolnierkiewicz's avatar
      ide: add ->dma_timer_expiry method and remove ->dma_exec_cmd one (v2) · 22117d6e
      Bartlomiej Zolnierkiewicz authored
      * 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 <randy.dunlap@oracle.com>
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      22117d6e
    • Bartlomiej Zolnierkiewicz's avatar
      ide: pass command to ide_map_sg() · 22981694
      Bartlomiej Zolnierkiewicz authored
      * 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: default avatarBorislav Petkov <petkovbb@gmail.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      22981694
  4. 24 Mar, 2009 1 commit
  5. 06 Jan, 2009 4 commits
  6. 02 Dec, 2008 1 commit
  7. 02 Nov, 2008 1 commit
  8. 21 Oct, 2008 1 commit
  9. 13 Oct, 2008 3 commits
  10. 10 Oct, 2008 3 commits
    • Bartlomiej Zolnierkiewicz's avatar
      ide: add proper PCI PM support (v2) · feb22b7f
      Bartlomiej Zolnierkiewicz authored
      * Keep pointer to ->init_chipset method also in
        struct ide_host and set it in ide_host_alloc_all().
      
      * Add ide_pci_suspend() and ide_pci_resume() helpers
        (default ->suspend and ->resume implementations).
      
      * ->init_chipset can no longer be marked __devinit.
      
      * Add proper PCI PM support to IDE PCI host drivers
        (rz1000.c and tc86c001.c are skipped for now since
        they need to be converted from using ->init_hwif
        to use ->init_chipset instead).
      
      v2:
      * Cleanup CONFIG_PM #ifdef-s per akpm's suggestion.
      
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      feb22b7f
    • Bartlomiej Zolnierkiewicz's avatar
      ide: include <linux/hdreg.h> only when needed · 3ceca727
      Bartlomiej Zolnierkiewicz authored
      * Include <linux/ata.h> directly in <linux/ide.h>
        instead of through <linux/hdreg.h>.
      
      * Include <linux/hdreg.h> only when needed.
      
      Cc: Christoph Hellwig <hch@infradead.org>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      3ceca727
    • Bartlomiej Zolnierkiewicz's avatar
      ide: make drive->id an union (take 2) · 4dde4492
      Bartlomiej Zolnierkiewicz authored
      Make drive->id an unnamed union so id can be accessed either by using
      'u16 *id' or 'struct hd_driveid *driveid'.  Then convert all existing
      drive->id users accordingly (using 'u16 *id' when possible).
      
      This is an intermediate step to make ide 'struct hd_driveid'-free.
      
      While at it:
      
      - Add missing KERN_CONTs in it821x.c.
      
      - Use ATA_ID_WORDS and ATA_ID_*_LEN defines.
      
      - Remove unnecessary checks for drive->id.
      
      - s/drive_table/table/ in ide_in_drive_list().
      
      - Cleanup ide_config_drive_speed() a bit.
      
      - s/drive1/dev1/ & s/drive0/dev0/ in ide_undecoded_slave().
      
      v2:
      Fix typo in drivers/ide/ppc/pmac.c. (From Stephen Rothwell)
      
      There should be no functional changes caused by this patch.
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      4dde4492
  11. 05 Aug, 2008 1 commit
  12. 24 Jul, 2008 4 commits
  13. 23 Jul, 2008 2 commits
  14. 16 Jul, 2008 1 commit
  15. 15 Jul, 2008 1 commit
  16. 14 May, 2008 4 commits
  17. 29 Apr, 2008 1 commit
    • Anton Vorontsov's avatar
      alim15x3: disable init_hwif_ali15x3 for PowerPC · 6d1cee44
      Anton Vorontsov authored
      We don't need init_hwif_ali15x3() on the PowerPC systems either.
      
      Before:
      
      ALI15X3: IDE controller (0x10b9:0x5229 rev 0xc8) at  PCI slot 0001:03:1f.0
      ALI15X3: 100% native mode on irq 19
          ide0: BM-DMA at 0x1120-0x1127
          ide1: BM-DMA at 0x1128-0x112f
      hda: SONY DVD RW AW-Q170A, ATAPI CD/DVD-ROM drive
      hda: UDMA/66 mode selected
      ide0: Disabled unable to get IRQ 14.
      ide0: failed to initialize IDE interface
      ide1: Disabled unable to get IRQ 15.
      ide1: failed to initialize IDE interface
      
      After:
      
      ALI15X3: IDE controller (0x10b9:0x5229 rev 0xc8) at  PCI slot 0001:03:1f.0
      ALI15X3: 100% native mode on irq 19
          ide0: BM-DMA at 0x1120-0x1127
          ide1: BM-DMA at 0x1128-0x112f
      hda: SONY DVD RW AW-Q170A, ATAPI CD/DVD-ROM drive
      hda: UDMA/66 mode selected
      ide0 at 0x1100-0x1107,0x110a on irq 19
      ide1 at 0x1110-0x1117,0x111a on irq 19
      hda: ATAPI 48X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache
      
      ide0 works well, though I can't test ide1, it isn't traced out on
      the board.
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      6d1cee44
  18. 27 Apr, 2008 2 commits
  19. 26 Apr, 2008 5 commits
    • Bartlomiej Zolnierkiewicz's avatar
      ide: constify struct ide_dma_ops · f37afdac
      Bartlomiej Zolnierkiewicz authored
      * Export ide_dma_exec_cmd() and __ide_dma_test_irq().
      
      * Constify struct ide_dma_ops.
      
      * Always set hwif->dma_ops to &sff_dma_ops in ide_setup_dma()
        (it is later overriden by ide_init_port() if needed) and drop
        'const struct ide_port_info *d' argument.
      
      While at it:
      
      * Rename __ide_dma_test_irq() to ide_dma_test_irq().
      Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      f37afdac
    • Bartlomiej Zolnierkiewicz's avatar
      ide: add struct ide_dma_ops (take 3) · 5e37bdc0
      Bartlomiej Zolnierkiewicz authored
      Add struct ide_dma_ops and convert core code + drivers to use it.
      
      While at it:
      
      * Drop "ide_" prefix from ->ide_dma_end and ->ide_dma_test_irq methods.
      
      * Drop "ide_" "infixes" from DMA methods.
      
      * au1xxx-ide.c:
        - use auide_dma_{test_irq,end}() directly in auide_dma_timeout()
      
      * pdc202xx_old.c:
        - drop "old_" "infixes" from DMA methods
      
      * siimage.c:
        - add siimage_dma_test_irq() helper
        - print SATA warning in siimage_init_one()
      
      * Remove no longer needed ->init_hwif implementations.
      
      v2:
      * Changes based on review from Sergei:
        - s/siimage_ide_dma_test_irq/siimage_dma_test_irq/
        - s/drive->hwif/hwif/ in idefloppy_pc_intr().
        - fix patch description w.r.t. au1xxx-ide changes
        - fix au1xxx-ide build
        - fix naming for cmd64*_dma_ops
        - drop "ide_" and "old_" infixes
        - s/hpt3xxx_dma_ops/hpt37x_dma_ops/
        - s/hpt370x_dma_ops/hpt370_dma_ops/
        - use correct DMA ops for HPT302/N, HPT371/N and HPT374
        - s/it821x_smart_dma_ops/it821x_pass_through_dma_ops/
      
      v3:
      * Two bugs slipped in v2 (noticed by Sergei):
        - use correct DMA ops for HPT374 (for real this time)
        - handle HPT370/HPT370A properly
      Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      5e37bdc0
    • Bartlomiej Zolnierkiewicz's avatar
      ide: do complete DMA setup in ->init_dma method (take 2) · b123f56e
      Bartlomiej Zolnierkiewicz authored
      * Make ide_hwif_setup_dma() return an error value.
      
      * Pass 'const struct ide_port_info *d' instead of 'unsigned long dmabase'
        to ->init_dma method and make it return an error value.
      
      * Rename ide_get_or_set_dma_base() to ide_pci_dma_base(),
        change ordering of its arguments and then export it.
      
      * Export ide_pci_set_master().
      
      * Do complete DMA setup inside ->init_dma method and update ->init_dma
        users accordingly.
      
      * Sanitize code for DMA setup in ide_init_port().
      
      v2:
      * Fix for CONFIG_BLK_DEV_IDEDMA_PCI=n configs
        (from Jiri Slaby <jirislaby@gmail.com>):
      
        Fix following compiler warning by returning EINVAL:
      
        In file included from ANYTHING-INCLUDING-IDE.H:45:
        include/linux/ide.h: In function ‘ide_hwif_setup_dma’:
        include/linux/ide.h:1022: warning: no return statement in function returning non-void
      
      Cc: Jiri Slaby <jirislaby@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      b123f56e
    • Bartlomiej Zolnierkiewicz's avatar
      ide: move ide_setup_dma() call out from ->init_dma method · 23658f8a
      Bartlomiej Zolnierkiewicz authored
      There should be no functional changes caused by this patch.
      Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      23658f8a
    • Bartlomiej Zolnierkiewicz's avatar
      alim15x3: skip DMA initialization completely on revs < 0x20 · 6d36b95f
      Bartlomiej Zolnierkiewicz authored
      Skip DMA initialization completely on revs < 0x20 by setting IDE_HFLAG_NO_DMA
      host flag and resetting DMA host masks in alim15x3_init_one() (currently
      ide_hwif_setup_dma() will try to obtain DMA base and setup PCI bus-mastering
      but init_dma_ali15x3() will fail).
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      6d36b95f