1. 13 10月, 2007 9 次提交
  2. 12 10月, 2007 5 次提交
    • B
      ide: use only ->set_pio_mode method for programming PIO modes (take 2) · 8f4dd2e4
      Bartlomiej Zolnierkiewicz 提交于
      Use ->set_pio_mode method to program PIO modes in ide_set_xfer_rate()
      (the only place which used ->speedproc to program PIO modes) and remove
      handling of PIO modes from all ->speedproc implementations.
      
      v2:
      * Fix pmac_ide_tune_chipset() comment.
      
      There should be no functionality changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      8f4dd2e4
    • B
      ide-pmac: PIO mode setup fixes (take 3) · c15d5d43
      Bartlomiej Zolnierkiewicz 提交于
      * Add { 0, 0 } entry to {kauai,shasta}_pio_timings[] so kauai_lookup_timing()
        always returns a valid PIO timing (fixes PIO timing not being set for devices
        with minimum PIO cycle <= 120ns).
      
      * Add setting transfer mode on the device to pmac_ide_set_pio_mode().
      
      * Fix pmac_ide_set_pio() to always program chipset for given PIO timing instead
        of only when the device we want to program PIO timing for is the currently
        selected one.
      
      * Now that pmac_ide_set_pio() is fixed there is no need to set transfer mode
        on the device and program chipset for PIO in pmac_ide_tune_chipset()
        (returning 0 == success is not entirely correct but is OK for now since
        the upper layers are only checking ->speedproc return value for DMA modes).
      
      v2:
      * s/speed/XFER_PIO_0 + pio/ in pmac_ide_set_pio_mode() so it actually compiles.
      
      * Removal of kauai_lookup_timing() return value checking went to separate patch.
      
      v3:
      * Use XFER_PIO_0 not XFER_PIO. (Noticed by Ben)
      
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      c15d5d43
    • 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: add missing ide_rate_filter() calls to ->speedproc()-s · a8028fcb
      Bartlomiej Zolnierkiewicz 提交于
      * Fix icside, cris-ide, au1xxx-ide, amd74xx, via82cxxx and pmac host drivers
        to use ide_rate_filter().
      
        This results in the following modes (from user requests) being clipped down:
        - invalid modes (values 0x46-0xFF)  [ for all hosts ]
        - unsupported by a host UDMA modes  [ for hosts which support UDMA]
        - all UDMA modes and MWDMA3-4 modes [ for hosts which don't support UDMA ]
        - invalid modes (values 0x25-0x39)  [ for hosts which don't support UDMA ]
      
      * Host driver specific changes in behavior:
      
        icside:
          - no change
      
        cris-ide
          - clip unsupported UDMA3-6 modes down
          - fix BUG() on trying to set unsupported UDMA3-6 modes
      
        au1xxx-ide/pmac
          - clip unsupported UDMA modes down
      
        amd74xx/via82cxxx
          - clip unsupported UDMA modes down
          - fix random PIO timings being set for unsupported/invalid modes
          - fix unsupported/invalid modes being set on the device
      
      * While at it remove no longer needed checks from pmac.c driver.
      Acked-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      a8028fcb
  3. 07 10月, 2007 1 次提交
    • B
      Fix non-terminated PCI match table in PowerMac IDE · 71e4eda8
      Benjamin Herrenschmidt 提交于
      The PCI device table in the powermac IDE driver isn't properly
      terminated.  Depending on how your kernel is linked and other random
      factors, you can end up with this driver matched against any other PCI
      device in your system, possibly crashing at boot.
      
      Thanks to Heikki for tracking this down with me, the bug have been there
      for some time, though it rarely hurts due to luck.  In this case, the
      switch from .22 to .23-rc9 is causing it to show up due to differences
      in the resulting layout of .data I suppose.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <pmac@au1.ibm.com>
      Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
      Cc: Heikki Lindholm <holindho@cs.helsinki.fi>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      71e4eda8
  4. 17 9月, 2007 1 次提交
  5. 21 8月, 2007 1 次提交
  6. 20 7月, 2007 3 次提交
  7. 10 7月, 2007 4 次提交
    • B
      ide: add short cables support · 49521f97
      Bartlomiej Zolnierkiewicz 提交于
      This patch allows users to override both host and device side cable detection
      with "ideX=ata66" kernel parameter.  Thanks to this it should be now possible
      to use UDMA > 2 modes on systems (laptops mainly) which use short 40-pin cable
      instead of 80-pin one.
      
      Next patches add automatic detection of some systems using short cables.
      
      Changes:
      
      * Rename hwif->udma_four to hwif->cbl and make it u8.
      
      * Convert all existing users accordingly (use ATA_CBL_* defines while at it).  
      
      * Add ATA_CBL_PATA40_SHORT support to ide-iops.c:eighty_ninty_three().
      
      * Use ATA_CBL_PATA40_SHORT for "ideX=ata66" kernel parameter.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      Reviewed-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      49521f97
    • B
      ide: convert ide_find_best_mode() users to use ide_max_dma_mode() · 75b1d975
      Bartlomiej Zolnierkiewicz 提交于
      ide-timing.h:
      
      * remove handling of DMA modes from ide_find_best_mode() and rename it to
        ide_find_best_pio_mode()
      
      * drop no longer needed "map" argument from ide_find_best_pio_mode()
        and delete needless ->id check
      
      * remove no longer needed XFER_SWDMA and XFER_UDMA* defines
      
      au1xxx-ide.c:
      
      * use ide_max_dma_mode() instead of ide_find_best_mode()
      
      * remove needless CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA #ifdef
      
      amd74xx.c:
      
      * store UDMA masks in amd_ide_chip[] and while at it make "base" field
        to be u8 instead of unsigned long
      
      * convert the driver to use UDMA masks from amd_ide_chip[]
      
      * use ide_max_dma_mode() and ide_find_best_pio_mode() instead
        of ide_find_best_mode()
      
      * delete stale comment from amd74xx_ide_dma_check()
      
      * remove no longer needed AMD_UDMA* defines
      
      via82cxxx.c:
      
      * remove unused DISPLAY_VIA_TIMINGS define
      
      * store UDMA masks in via_isa_bridges[] and while at it make "flags" field
        to be u8 instead of u16
      
      * convert the driver to use UDMA masks from via_isa_bridges[]
      
      * use ide_max_dma_mode() and ide_find_best_pio_mode() instead
        of ide_find_best_mode()
      
      * remove no longer needed VIA_UDMA* defines
      
      pmac.c:
      
      * use ide_max_dma_mode() instead of ide_find_best_mode()
      
      There should be no functionality changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      Reviewed-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      75b1d975
    • S
      ide: make void and rename ide_dma_timeout() method · c283f5db
      Sergei Shtylyov 提交于
      Since ide_dma_timeout() method's result is discarded, make it return 'void'.
      While at it, drop 'ide_' from the method's name, drop the '__' prefix from
      the default method's name, and do some cleanups in this method driver-wise:
      
      - in ide-dma.c, au1xxx-ide.c, and pdc202xx_old.c, define/use 'hwif' variable;
      
      - in au1xxx-ide.c, get rid of commented out printk();
      
      - in sl82c105.c, get rid of unnecessary variables.
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      c283f5db
    • S
      ide: make void and rename ide_dma_lostirq() method · 841d2a9b
      Sergei Shtylyov 提交于
      Since ide_dma_lostirq() method's result is discarded, make it return 'void'.
      While at it, rename the method to dma_lost_irq(), drop the '__' prefix from the
      default method's name, and do some cleanups in this method driver-wise:
      
      - in aec62xx.c, rename the method in accordance with other drivers, and get rid
        of unnecessary variables there;
      
      - in pdc202xx_old.c, define/use 'hwif' variable;
      
      - in sgiioc4.c, rearrange the code to call the resetproc() method directly.
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      841d2a9b
  8. 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
  9. 07 5月, 2007 1 次提交
  10. 02 5月, 2007 1 次提交
  11. 26 4月, 2007 1 次提交
  12. 13 4月, 2007 1 次提交
  13. 04 3月, 2007 1 次提交
    • A
      ide: fix pmac breakage · 9e5755bc
      Andrew Morton 提交于
      Fix breakage added in the IDE devel tree.
      
      Add header, then fix
      
      drivers/ide/ppc/pmac.c: In function `pmac_ide_setup_dma':
      drivers/ide/ppc/pmac.c:2044: warning: assignment from incompatible pointer type
      drivers/ide/ppc/pmac.c: In function `pmac_ide_dma_host_on':
      drivers/ide/ppc/pmac.c:1989: warning: control reaches end of non-void function
      include/linux/pci.h: In function `pmac_ide_init':
      drivers/ide/ppc/pmac.c:1563: warning: ignoring return value of `pci_register_driver', declared with attribute warn_unused_result
      
      Then add some apparently-long-missing error handling.
      
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      9e5755bc
  14. 17 2月, 2007 3 次提交
  15. 15 2月, 2007 1 次提交
    • T
      [PATCH] remove many unneeded #includes of sched.h · cd354f1a
      Tim Schmielau 提交于
      After Al Viro (finally) succeeded in removing the sched.h #include in module.h
      recently, it makes sense again to remove other superfluous sched.h includes.
      There are quite a lot of files which include it but don't actually need
      anything defined in there.  Presumably these includes were once needed for
      macros that used to live in sched.h, but moved to other header files in the
      course of cleaning it up.
      
      To ease the pain, this time I did not fiddle with any header files and only
      removed #includes from .c-files, which tend to cause less trouble.
      
      Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
      arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
      allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
      configs in arch/arm/configs on arm.  I also checked that no new warnings were
      introduced by the patch (actually, some warnings are removed that were emitted
      by unnecessarily included header files).
      Signed-off-by: NTim Schmielau <tim@physik3.uni-rostock.de>
      Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cd354f1a
  16. 04 10月, 2006 1 次提交
  17. 26 9月, 2006 1 次提交
    • D
      fix broken/dubious driver suspend() methods · 8b4b8a24
      David Brownell 提交于
      Small driver suspend() fixes in preparation for the PRETHAW events:
      
       - Only compare message events for equality against PM_EVENT_* codes;
         not against integers, or using greater/less-than comparisons.
         (PM_EVENT_* should really become a __bitwise thing.)
      
       - Explicitly test for SUSPEND events (rather than not-something-else)
         before suspending devices.
      
       - Removes more of the confusion between a pm_message_t (wraps event code)
         and a "state" ... suspend() originally took a target system state.
      
      These updates are correct and appropriate even without new PM_EVENT codes.
      
      benh: "I think in the Mesh case, we should handle the freeze case as well or
      we might get wild DMA."
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Acked-by: NPavel Machek <pavel@ucw.cz>
      Cc: Greg KH <greg@kroah.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Cc: James Bottomley <James.Bottomley@steeleye.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      8b4b8a24
  18. 22 9月, 2006 1 次提交
  19. 31 7月, 2006 1 次提交
  20. 01 7月, 2006 1 次提交
  21. 28 6月, 2006 1 次提交