1. 02 2月, 2008 1 次提交
  2. 27 1月, 2008 6 次提交
    • B
    • B
      ide: use ide_init_port_hw() in setup-pci.c · 79127c37
      Bartlomiej Zolnierkiewicz 提交于
      * Move setting hwif->gendev.parent from ide_pci_setup_ports()
        to ide_hwif_configure().
      
      * Always set hwif->io_ports in ide_hwif_configure().
      
      * Use ide_init_port_hw() in ide_hwif_configure().
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      79127c37
    • B
      ide: always use ide_std_init_ports() in setup-pci.c · 6828fc9a
      Bartlomiej Zolnierkiewicz 提交于
      * ide_init_hwif_ports() call in setup-pci.c::ide_hwif_configure()
        doesn't depend on the default cotrol register offset, default IRQ
        or ppc_ide_md.ide_init_hwif implementations so ide_std_init_ports()
        can always be used.
      
      * Since 'base' is always non-zero and thus hwif->io_ports[IDE_DATA_OFFSET]
        is also non-zero always clear hwif->noprobe.
      Acked-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      6828fc9a
    • B
      ide: make remaining built-in only IDE host drivers modular (take 2) · ade2daf9
      Bartlomiej Zolnierkiewicz 提交于
      * Make remaining built-in only IDE host drivers modular, add ide-scan-pci.c
        file for probing PCI host drivers registered with IDE core (special case
        for built-in IDE and CONFIG_IDEPCI_PCIBUS_ORDER=y) and then take care of
        the ordering in which all IDE host drivers are probed when IDE is built-in
        during link time.
      
      * Move probing of gayle, falconide, macide, q40ide and buddha (m68k arch
        specific) host drivers, before PCI ones (no PCI on m68k), ide-cris (cris
        arch specific), cmd640 (x86 arch specific) and pmac (ppc arch specific).
      
      * Move probing of ide-cris (cris arch specific) host driver before cmd640
        (x86 arch specific).
      
      * Move probing of mpc8xx (ppc specific) host driver before ide-pnp (depends
        on ISA and none of ppc platform that use mpc8xx supports ISA) and ide-h8300
        (h8300 arch specific).
      
      * Add "probe_vlb" kernel parameter to cmd640 host driver and update
        Documentation/ide.txt accordingly.
      
      * Make IDE_ARM config option visible so it can also be disabled if needed.
      
      * Remove bogus comment from ide.c while at it.
      
      v2:
      * Fix two issues spotted by Sergei:
        - replace ENOMEM error value by ENOENT in ide-h8300 host driver
        - fix MODULE_PARM_DESC() in cmd640 host driver
      
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      ade2daf9
    • B
      ide: merge ->fixup and ->quirkproc methods · f01393e4
      Bartlomiej Zolnierkiewicz 提交于
      * Assign drive->quirk_list in ->quirkproc implementations:
        - hpt366.c::hpt3xx_quirkproc()
        - pdc202xx_new.c::pdcnew_quirkproc()
        - pdc202xx_old.c::pdc202xx_quirkproc()
      
      * Make ->quirkproc void.
      
      * Move calling ->quirkproc from do_identify() to probe_hwif().
      
      * Convert it821x_fixups() to it821x_quirkproc() in it821x.c.
      
      * Convert siimage_fixup() to sil_quirkproc() in siimage.c, also remove
        no longer needed drive->present check from is_dev_seagate_sata().
      
      * Convert ide_undecoded_slave() to accept 'drive' instead of 'hwif'
        as an argument.  Then convert ide_register_hw() to accept 'quirkproc'
        argument instead of 'fixup' one.
      
      * Remove no longer needed ->fixup method.
      Acked-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      f01393e4
    • B
      ide: (hopefully) fix VDMA for CS5520 · aea5d375
      Bartlomiej Zolnierkiewicz 提交于
      * Set the correct hwif->dma_base for the second channel in
        ide_get_or_set_dma_base().
      
      * Remove DMA enable code from cs5520_set_pio_mode(), this can
        be handled by the generic ->dma_host_on method now.
      
      * Add VDMA check to ide_config_drive_speed().
      
      * drive->using_dma was never enabled since cs5520 host driver's
        ->ide_dma_on method overrided the generic ->ide_dma_on (so
        __ide_dma_on() was never called, drive->using_dma was never set
        and VDMA was never used since it depends on drive->using_dma).
      
        Fix it by using ->dma_host_on method instead of ->ide_dma_on
        (also add matching ->dma_host_off method).
      Acked-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      aea5d375
  3. 13 12月, 2007 2 次提交
  4. 14 11月, 2007 1 次提交
  5. 20 10月, 2007 12 次提交
  6. 19 10月, 2007 9 次提交
  7. 17 10月, 2007 2 次提交
    • B
      ide: remove hwif->autodma and drive->autodma · 9ff6f72f
      Bartlomiej Zolnierkiewicz 提交于
      * hpt34x.c: disable DMA masks for HPT345
        (hwif->autodma is zero so DMA won't be enabled anyway).
      
      * trm290.c: disable IDE_HFLAG_TRUST_BIOS_FOR_DMA flag
        (hwif->autodma is zero so DMA won't be enabled anyway).
      
      * Check noautodma global variable instead of drive->autodma in ide_tune_dma().
      
        This fixes handling of "ide=nodma" kernel parameter for icside, ide-cris,
        au1xxx-ide, pmac, it821x, jmicron, sgiioc4 and siimage host drivers.
      
      * Remove hwif->autodma (it was not checked by IDE core code anyway) and
        drive->autodma (was set by all host drivers - except HPT345/TRM290 special
        cases - unless "ide=nodma" was used).
      
      While at it:
      - remove needless printk() from icside.c
      - remove stale FIXME/comment from ide-probe.c
      - don't force DMA off if PCI bus-mastering had to be enabled in setup-pci.c
        (this setting was always later over-ridden by host drivers anyway)
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      9ff6f72f
    • B
      ide: remove CONFIG_BLK_DEV_IDEDMA_FORCED · c58e79dd
      Bartlomiej Zolnierkiewicz 提交于
      This code doesn't use pci_assign_resource() and ide_get_or_set_dma_base() uses
      pci_resource_start() to get DMA base address so it has no chance of working.
      Moreover this belongs to PCI quirks (in case somebody would like to fix it).
      Acked-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      c58e79dd
  8. 12 9月, 2007 1 次提交
    • S
      ide: fix PCI refcounting · 0505b55f
      Sergei Shtylyov 提交于
      The IDE core never marked the PCI IDE devices as being in use after succesfull
      driver probe call (the devices were marked in use only while being probed), and
      so was susceptible to issues caused by unsolicited PCI hotplug device removal.
      So, add pci_dev_get() call to ide_scan_pcidev() and convert this function to
      the kernel style, also dropping a bunch of useless curly braces from its caller,
      ide_scan_pcibus() and somewhat beautifying printk() call there, while at it...
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      0505b55f
  9. 20 7月, 2007 4 次提交
  10. 04 7月, 2007 1 次提交
  11. 10 5月, 2007 1 次提交
    • B
      ide: legacy PCI bus order probing fixes · 6d208b39
      Bartlomiej Zolnierkiewicz 提交于
      IDE PCI host drivers should register themselves with IDE core only when
      IDE driver is built-in, otherwise (IDE driver is modular and thus IDE PCI
      host drivers are also modular) the code has no effect and just complicates
      the probing.
      
      Fix it by adding new config option CONFIG_IDEPCI_PCIBUS (defined only when
      needed and invisible to the user) and covering by #ifdef/#endif the code
      in question.  It turned out that "ide=reverse" was silently accepted but did
      nothing in case when IDE driver was modular, this is fixed now.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      6d208b39