1. 12 10月, 2007 3 次提交
    • B
      ide: add ide_set{_max}_pio() (take 4) · 26bcb879
      Bartlomiej Zolnierkiewicz 提交于
      * Add IDE_HFLAG_ABUSE_{PREFETCH,FAST_DEVSEL,DMA_MODES} flags
        and set them in ht6560, cmd640, cmd64x and sc1200 host drivers.
      
      * Add set_pio_mode_abuse() for checking if host driver has a non-standard
        ->tuneproc() implementation and use it in do_special().
      
      * Add ide_set_pio() for setting PIO mode (it uses hwif->pio_mask to find
        the maximum PIO mode supported by the host), also add ide_set_max_pio()
        wrapper for ide_set_pio() to use for auto-tuning.  Convert users of
        ->tuneproc to use ide_set{_max}_pio() where possible.  This leaves only
        do_special(), set_using_pio(), ide_hwif_restore() and ide_set_pio() as
        a direct users of ->tuneproc.
      
      * Remove no longer needed ide_get_best_pio_mode() calls and printk-s
        reporting PIO mode selected from ->tuneproc implementations.
      
      * Rename ->tuneproc hook to ->set_pio_mode and make 'pio' argument const.
      
      * Remove stale comment from ide_config_drive_speed().
      
      v2:
      * Fix "ata_" prefix (Noticed by Jeff).
      
      v3:
      * Minor cleanups/fixups per Sergei's suggestions.
      
      v4:
      * Fix compile problem in drivers/ide/pci/cmd640.c
        (Noticed by Andrew Morton).
      
      * Improve some ->set_pio_mode comments.
      Reviewed-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      26bcb879
    • B
      ide: move ide_rate_filter() calls to the upper layer (take 2) · f212ff28
      Bartlomiej Zolnierkiewicz 提交于
      * Move ide_rate_filter() calls from host drivers to IDE core.
      
      * Make ide_rate_filter() static.
      
      * Make 'speed' argument of ->speedproc const.
      
      v2:
      * Fix it8213_tune_chipset() comment.
      
      There should be no functionality changes caused by this patch.
      Acked-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      f212ff28
    • B
      ide: mode limiting fixes for user requested speed changes · 7670df73
      Bartlomiej Zolnierkiewicz 提交于
      * Add an extra argument to ide_max_dma_mode() for passing requested transfer
        mode.  Use it as an upper limit when finding the best DMA for device/host.
      
      * Rename ide_max_dma_mode() to ide_find_dma_mode() and at the same time add
        ide_max_dma_mode() wrapper which passes XFER_UDMA_6 as a requested mode to
        ide_find_dma_mode().  Also add inline ide_find_dma_mode() version for
        CONFIG_BLK_DEV_IDEDMA=n case.
      
      * Pass requested transfer mode from ide_find_dma_mode() to ide_get_mode_mask()
        to avoid false warning from eighty_ninty_three().
      
      * Use ide_find_dma_mode() to limit the user requested transfer mode in
        ide_rate_filter().  Also limit the requested mode by host max PIO mode.
      
      
      Above changes make ide_rate_filter() to:
      
      * Clip desired transfer mode down if it is invalid (values 0x0F, 0x13-0x19
        and 0x25-0x39, values > 0x46 were already clipped down, same for values
        0x25-0x39 but iff UDMA was not supported by the host).
      
      * Clip desired transfer mode down if it is currently unsupported by IDE core
        (PIO6 and MWDMA3-4, the latter were already clipped down but iff UDMA was
        not supported by the host).
      
      * Clip desired transfer mode down according to the host capabilities
        (UDMA modes were already clipped down but MWDMA/SWDMA/PIO weren't,
        also ->atapi_dma flag was not respected).
      
      * Clip desired transfer mode down according to the device capabilities
        (except PIO modes for now which require mode work) - shouldn't be a
        problem since ide_set_xfer_rate() is called _after_ device has accepted
        given transfer mode.
      
      and also result in a number of host driver specific bugfixes:
      
      * icside
        - clip unsupported PIO5 mode down
        - fix unsupported/invalid modes being set in drive->current_speed
      
      * ide-cris
        - clip unsupported PIO5 and SWDMA0-2 modes down
        - clip DMA modes down for ATAPI devices
        - fix BUG() on unsupported/invalid modes
      
      * au1xxx-ide
        - clip unsupported PIO5, SWDMA0-2 and MWDMA0-2
          (if BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA=n) modes down
      
      * aec62xx
        - clip unsupported PIO5 and SWDMA0-2 modes down
        - clip DMA modes down for ATAPI devices
        - fix 0x00 being programmed as PIO timing for unsupported/invalid modes
        - fix unsupported/invalid modes being set on the device
      
      * alim15x3
        - clip DMA modes down for ATAPI devices (chipset revision == 0x20 only)
        - fix theoretical OOPS for 0x0F mode
        - fix unsupported/invalid modes being set on the device
      
      * amd74xx
        - clip unsupported SWDMA0-2 (on COBRA_7401 revs <= 7) modes down
        - fix random PIO timings being set for unsupported/invalid modes
        - fix unsupported/invalid modes being set on the device
      
      * atiixp
        - clip unsupported PIO5 and SWDMA0-2 modes down
        - fix cached MWDMA mode being cleared for unsupported/invalid modes
        - fix PIO{0,2} timings being programmed for unsupported/invalid modes
        - fix theoretical OOPS for PIO5-6 and 0x0F modes
        - fix unsupported/invalid modes being set on the device
      
      * cmd64x
        - clip unsupported SWDMA0-2 modes down
      
      * cs5530
        - clip unsupported PIO5 and SWDMA0-2 modes down
        - fix unsupported/invalid modes being set on the device
        - fix BUG() on unsupported/invalid modes
          (which happened if the device accepted the setting)
      
      * cs5535
        - clip unsupported PIO5 and SWDMA0-2 modes down
        - fix unsupported/invalid modes being set on the device
        - fix theoretical OOPS for PIO5-6 and 0x0F modes
      
      * hpt34x
        - clip DMA modes down for ATAPI devices
        - fix invalid timings being programmed for unsupported/invalid modes
        - fix unsupported/invalid modes being set on the device
      
      * hpt366
        - clip unsupported PIO5 and SWDMA0-2 modes down
        - fix PIO0 timings being programmed for unsupported/invalid modes
        - fix DMA timings being cleared for MWDMA3-4 and 0x25-0x39 modes
        - fix unsupported/invalid modes being set on the device
      
      * it8213
        - clip unsupported PIO5, SWDMA0-1 and MWDMA0 modes down
      
      * it821x
        - clip unsupported PIO5 and SWDMA0-2 modes down
        - clip DMA modes down for ATAPI devices
          (chipset in smart mode and revision 0x10 in pass-through mode)
      
      * jmicron
        - clip unsupported SWDMA0-2 modes down
        - fix unsupported/invalid modes being set on the device
      
      * pdc202xx_new
        - clip unsupported PIO5 and SWDMA0-2 modes down
        - fix unsupported/invalid modes being set on the device
      
      * pdc202xx_old
        - clip unsupported PIO5 mode down
        - fix incorrect timings being set for unsupported/invalid modes
        - fix unsupported/invalid modes being set on the device
      
      * piix
        - clip unsupported PIO5, SWDMA0-1 and MWDMA0 modes down
      
      * sc1200
        - clip unsupported PIO5 and SWDMA0-2 modes down
        - fix unsupported/invalid modes being set on the device
        - fix BUG() on unsupported/invalid modes
          (which happened if the device accepted the setting)
      
      * scc_pata
        - clip unsupported PIO5, SWDMA0-2 and MWDMA0-2 modes down
      
      * serverworks
        - clip unsupported PIO5 and SWDMA0-2 modes down
        - fix DMA/UDMA timings/settings being cleared for unsupported/invalid modes
        - fix unsupported/invalid modes being set on the device
      
      * siimage
        - clip unsupported PIO5 and SWDMA0-2 modes down
        - clip DMA modes down for ATAPI devices (SATA chipsets)
      
      * sis5513
        - clip unsupported PIO5 mode down
        - fix BUG() on unsupported/invalid modes
      
      * sl82c105
        - clip unsupported SWDMA0-2 modes down
      
      * slc90e66
        - clip unsupported PIO5, SWDMA0-1 and MWDMA0 modes down
      
      * tc86c001
        - clip unsupported PIO5 and SWDMA0-2 modes down
        - fix PIO0 timings being programmed for PIO5/0x0F/SWDMA0-2/0x13-0x19 modes
        - fix invalid 0x00 DMA timing being programmed for MWDMA3-4/0x25-0x39 modes
        - fix unsupported/invalid modes being set on the device
      
      * triflex
        - clip unsupported PIO5 mode down
      
      * via82cxxx
        - fix random PIO timings being set for unsupported/invalid modes
        - fix unsupported/invalid modes being set on the device
      
      * pmac
        - clip unsupported PIO5 and SWDMA0-2 modes down
      
      * cmd640/ht6560b
        - clip DMA modes down (if CONFIG_BLK_DEV_IDEDMA=y)
        - fix PIO5 being clipped to PIO4 (if CONFIG_BLK_DEV_IDEDMA=n)
      
      * opti621
        - clip DMA modes down (if CONFIG_BLK_DEV_IDEDMA=y)
        - clip unsupported PIO4 to PIO3 (if CONFIG_BLK_DEV_IDEDMA=n)
      
      
      While at it:
      
      * Use ide_rate_filter() in cs5520.c::cs5520_tune_chipset().
      
      * Remove no longer needed checks from hpt366.c::hpt3{6,7}x_tune_chipset().
      Acked-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      7670df73
  2. 02 8月, 2007 1 次提交
  3. 20 7月, 2007 3 次提交
  4. 10 5月, 2007 1 次提交
    • B
      ide: add ide_proc_register_port() · 5cbf79cd
      Bartlomiej Zolnierkiewicz 提交于
      * create_proc_ide_interfaces() tries to add /proc entries for every probed
        and initialized IDE port, replace it by ide_proc_register_port() which does
        it only for the given port (also rename destroy_proc_ide_interface() to
        ide_proc_unregister_port() for consistency)
        
      * convert {create,destroy}_proc_ide_interface[s]() users to use new functions
      
      * pmac driver depended on proc_ide_create() to add /proc port entries, fix it
        
      * au1xxx-ide, swarm and cs5520 drivers depended indirectly on ide-generic
        driver (CONFIG_IDE_GENERIC=y) to add port /proc entries, fix them
      
      * there is now no need to add /proc entries for IDE ports in proc_ide_create()
        so don't do it
      
      * proc_ide_create() needs now to be called before drivers are probed - fix it,
        while at it make proc_ide_create() create /proc "ide" directory
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      5cbf79cd
  5. 17 2月, 2007 1 次提交
    • B
      ide: add ide_set_dma() helper (v2) · 3608b5d7
      Bartlomiej Zolnierkiewicz 提交于
      * add ide_set_dma() helper and make ide_hwif_t.ide_dma_check return
        -1 when DMA needs to be disabled (== need to call ->ide_dma_off_quietly)
         0 when DMA needs to be enabled  (== need to call ->ide_dma_on)
         1 when DMA setting shouldn't be changed
      * fix IDE code to use ide_set_dma() instead if using ->ide_dma_check directly
      
      v2:
      * updated for scc_pata
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      3608b5d7
  6. 27 1月, 2007 1 次提交
  7. 01 7月, 2006 1 次提交
  8. 19 11月, 2005 1 次提交
  9. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4