1. 27 3月, 2009 1 次提交
  2. 07 1月, 2009 3 次提交
  3. 10 12月, 2008 1 次提交
  4. 24 10月, 2008 3 次提交
  5. 22 10月, 2008 1 次提交
  6. 18 10月, 2008 3 次提交
    • S
      sgiioc4: kill duplicate ioremap() · 107111d4
      Sergei Shtylyov 提交于
      By the time ide_dma_sgiioc4() gets called, sgiioc4_ide_setup_pci_device() will
      have called ioremap() on the whole BAR0 region, so calling ioremap() on the DMA
      registers means wasting a page. Replace this call by a mere address calculation,
      based on the fact that IRQ registers (pointed to by 'hwif->io_ports.irq_addr')
      are situated at offset 0 from BAR0.
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: jeremy@sgi.com
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      107111d4
    • S
      sgiioc4: kill useless address checks · 8108b882
      Sergei Shtylyov 提交于
      The driver performs a number of checks on the virtual/physical addresses which
      would always evaluate as true (except ide_dma_sgiioc4() -- always false):
      
      - for sgiioc4_init_hwif_ports(), its caller, sgiioc4_ide_setup_pci_device(),
        guarantees that 'ctrl_port' and 'irq_port' parameters are never 0;
      
      - in sgiioc4_read_status(), we always read the IDE status register, so there's
        no need to check the register's address (must be a leftover from the times
        when this function implemented the INB() method);
      
      - in ide_dma_sgiioc4(), 'dma_base' can never be 0 as IOC4_DMA_OFFSET is not 0.
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: jeremy@sgi.com
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      8108b882
    • S
      sgiioc4: remove maskproc() method · ea656980
      Sergei Shtylyov 提交于
      Since the maskproc() method calls either mirror the interrupt en/disable via
      the nIEN bit of the device control register done by the IDE core before issuing
      a command or unmask the interrupt after a command executed in polled mode (when
      interrupt is already not expected), it is pointless to implement this method
      by manipulating the nIEN bit...
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: jeremy@sgi.com
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      ea656980
  7. 14 10月, 2008 3 次提交
    • 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
    • S
      sgiioc4: fix messages · 9b5a18e1
      Sergei Shtylylov 提交于
      Fix several issues with the log messages printed by ide_dma_sgiioc4() and
      sgiioc4_ide_setup_pci_device():
      
      - IOC4 registers are memory-mapped but the "BM-DMA at" format corresponds to
        I/O  mapped registers;
      
      - "%p" format specifiers and type casts used to print non-pointer values;
      
      - using KERN_INFO log level for the error message;
      
      - 'hwif->name' printed as drive's name.
      
      While at it, also:
      
      - return more fitting -EBUSY if request_mem_region() fails;
      
      - make the error message style consistent;
      
      - fix indentation, put the printk() facility and message on the same line;
      
      - use comparisions with NULL instead of ! operator..
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: jeremy@sgi.com
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      9b5a18e1
    • S
      sgiioc4: sgiioc4_read_status drive busy check fix · aa95f0e7
      Sergei Shtylylov 提交于
      Fix the drive non-busy criterion used by sgiioc4_read_status(): neither of the
      bits it expects to be set guarantees that the drive is not busy (and might be
      interrupting), only the BSY bit itself being zero gurantees that.
      While at it, use ATA_BUSY instead of hardcoded value everywhere...
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: jeremy@sgi.com
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      aa95f0e7
  8. 11 10月, 2008 1 次提交
  9. 19 8月, 2008 1 次提交
  10. 24 7月, 2008 6 次提交
    • B
      ide: add ide_host_free() helper (take 2) · 8a69580e
      Bartlomiej Zolnierkiewicz 提交于
      * Add ide_host_free() helper and convert ide_host_remove() to use it.
      
      * Fix handling of ide_host_register() failure in ide_host_add(),
        icside.c, ide-generic.c, falconide.c and sgiioc4.c.
      
      While at it:
      
      * Fix handling of ide_host_alloc_all() failure in ide-generic.c.
      
      * Fix handling of ide_host_alloc() failure in falconide.c
        (also return the correct error value if no device is found).
      
      v2:
      * falconide build fix. (From Stephen Rothwell)
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      8a69580e
    • B
      ide: add struct ide_host (take 3) · 48c3c107
      Bartlomiej Zolnierkiewicz 提交于
      * Add struct ide_host which keeps pointers to host's ports.
      
      * Add ide_host_alloc[_all]() and ide_host_remove() helpers.
      
      * Pass 'struct ide_host *host' instead of 'u8 *idx' to
        ide_device_add[_all]() and rename it to ide_host_register[_all]().
      
      * Convert host drivers and core code to use struct ide_host.
      
      * Remove no longer needed ide_find_port().
      
      * Make ide_find_port_slot() static.
      
      * Unexport ide_unregister().
      
      v2:
      * Add missing 'struct ide_host *host' to macide.c.
      
      v3:
      * Fix build problem in pmac.c (s/ide_alloc_host/ide_host_alloc/)
        (Noticed by Stephen Rothwell).
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      48c3c107
    • B
      ide: add struct ide_tp_ops (take 2) · 374e042c
      Bartlomiej Zolnierkiewicz 提交于
      * Add struct ide_tp_ops for transport methods.
      
      * Add 'const struct ide_tp_ops *tp_ops' to struct ide_port_info
        and ide_hwif_t.
      
      * Set the default hwif->tp_ops in ide_init_port_data().
      
      * Set host driver specific hwif->tp_ops in ide_init_port().
      
      * Export ide_exec_command(), ide_read_status(), ide_read_altstatus(),
        ide_read_sff_dma_status(), ide_set_irq(), ide_tf_{load,read}()
        and ata_{in,out}put_data().
      
      * Convert host drivers and core code to use struct ide_tp_ops.
      
      * Remove no longer needed default_hwif_transport().
      
      * Cleanup ide_hwif_t from methods that are now in struct ide_tp_ops.
      
      While at it:
      
      * Use struct ide_port_info in falconide.c and q40ide.c.
      
      * Rename ata_{in,out}put_data() to ide_{in,out}put_data().
      
      v2:
      
      * Fix missing convertion in ns87415.c.
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      374e042c
    • B
      ide: remove ->INB, ->OUTB and ->OUTBSYNC methods · 761052e6
      Bartlomiej Zolnierkiewicz 提交于
      * Remove no longer needed ->INB, ->OUTB and ->OUTBSYNC methods.
      
      Then:
      
      * Remove no longer used default_hwif_[mm]iops() and ide_[mm_]outbsync().
      
      * Cleanup SuperIO handling in ns87415.c.
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      761052e6
    • B
      ide: add ->read_status method · b73c7ee2
      Bartlomiej Zolnierkiewicz 提交于
      * Remove ide_read_status() inline helper.
      
      * Add ->read_status method for reading ATA Status register
        and use it instead of ->INB.
      
      While at it:
      
      * Don't use HWGROUP() macro.
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      b73c7ee2
    • B
      ide: pass hw_regs_t-s to ide_device_add[_all]() (take 3) · c97c6aca
      Bartlomiej Zolnierkiewicz 提交于
      * Add 'hw_regs_t **hws' argument to ide_device_add[_all]() and convert
        host drivers + ide_legacy_init_one() + ide_setup_pci_device[s]() to use
        it instead of calling ide_init_port_hw() directly.
      
        [ However if host has > 1 port we must still set hwif->chipset to hint
          consecutive ide_find_port() call that the previous slot is occupied. ]
      
      * Unexport ide_init_port_hw().
      
      v2:
      * Use defines instead of hard-coded values in buddha.c, gayle.c and q40ide.c.
        (Suggested by Geert Uytterhoeven)
      
      * Better patch description.
      
      v3:
      * Fix build problem in ide-cs.c. (Noticed by Stephen Rothwell)
      
      There should be no functional changes caused by this patch.
      
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      c97c6aca
  11. 17 7月, 2008 4 次提交
  12. 16 7月, 2008 2 次提交
  13. 29 4月, 2008 1 次提交
    • B
      ide: add IDE_HFLAG_MMIO host flag (take 2) · c5dd43ec
      Bartlomiej Zolnierkiewicz 提交于
      * Add IDE_HFLAG_MMIO host flag and set it for hosts which use
        default_hwif_mmiops().
      
      v2:
      * Fix kernel panic in pmac host driver (',' should be '|').
      
        Thanks to Kamalesh for reporting it + testing the fix
        and to Andrew for hinting me about the source of the issue.
      
      Cc: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Andy Whitcroft <apw@shadowen.org>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      c5dd43ec
  14. 27 4月, 2008 8 次提交
  15. 26 4月, 2008 1 次提交
  16. 18 4月, 2008 1 次提交