1. 02 2月, 2008 7 次提交
    • B
      ide: use ide_destroy_dmatable() instead of pci_unmap_sg() (take 2) · f6fb786d
      Bartlomiej Zolnierkiewicz 提交于
      Use ide_destroy_dmatable() in:
      * ide-dma.c::ide_build_dmatable()
      * sgiioc4.c::sgiioc4_build_dma_table()
      * pmac.c::pmac_ide_{build,destroy}_dmatable()
      
      There should be no functionality changes caused by this patch.
      
      v2:
      * pmac.c build fix from Andrew Morton.
      
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      f6fb786d
    • B
    • B
      ide: add IDE_HFLAG_NO_DSC host flag · 4166c199
      Bartlomiej Zolnierkiewicz 提交于
      * Add IDE_HFLAG_NO_DSC host flag for hosts that doesn't support DSC overlap.
      
      * Set it in aec62xx (for ATP850UF only) and hpt34x host drivers.
      
      * Convert ide-tape device driver to check for IDE_HFLAG_NO_DSC flag.
      Acked-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      4166c199
    • B
      ide: add IDE_HFLAG_CLEAR_SIMPLEX host flag · 8ac2b42a
      Bartlomiej Zolnierkiewicz 提交于
      * Rename 'simplex_stat' variable to 'dma_stat' in ide_get_or_set_dma_base().
      
      * Factor out code for forcing host out of "simplex" mode from
        ide_get_or_set_dma_base() to ide_pci_clear_simplex() helper.
      
      * Add IDE_HFLAG_CLEAR_SIMPLEX host flag and set it in alim15x3 (for M5229),
        amd74xx (for AMD 7409), cmd64x (for CMD643), generic (for Netcell) and
        serverworks (for CSB5) host drivers.
      
      * Make ide_get_or_set_dma_base() test for IDE_HFLAG_CLEAR_SIMPLEX host flag
        instead of checking dev->device (BTW the code was buggy because it didn't
        check for dev->vendor, luckily none of these PCI Device IDs was used by
        some other vendor for PCI IDE controller).
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      8ac2b42a
    • B
      amd74xx: remove amd_ide_chips table · 993da8f9
      Bartlomiej Zolnierkiewicz 提交于
      * Remove no longer needed assertion from amd74xx_probe().
      
      * Factor out cable detection for AMD7409 to amd7409_cable_detect() and for
        chipsets >= AMD7411 to amd7411_cable_detect().
      
      * Use dev->vendor and dev->device instead of amd_config->udma_mask when
        selecting cable detection method and checking for broken FIFO support in
        init_chipset_amd74xx().
      
      * Remove no longer needed AMD_BAD_FIFO define.
      
      * Add 'swdma' parameter for setting .swdma_mask to DECLARE_AMD_DEV() macro.
      
      * Add 'udma' parameter for setting .udma_mask to DECLARE_{AMD,NV}_DEV() macro.
      
      * Keep a copy of a current amd74xx_chipsets[] entry in amd74xx_probe()
        in order to fix ->swdma_mask on early AMD7409 revisions and ->udma_mask
        on Serenade mainboards.
      
      * Remove no longer needed fixups from init_chipset_amd74xx()
        and AMD_CHECK_{SWDMA,SERENADE} defines.
      
      * Move printing banner message from init_chipset_amd74xx() to amd74xx_probe(),
        also remove incorrect comment while at it.
      
      * Use hwif->ultra_mask instead of amd_config->udma_mask in amd_set_drive().
      
      * Add 'udma_mask' argument to amd_set_speed() and pass UDMA mask from
        amd_set_drive() instead of using amd_config->udma_mask.
      
      * Move amd_config->base from AMD_* defines to users of these defines and add
        0x40 the defined values.  Then add amd_offset() inline helper for selecting
        offset from 0x40 base (needed for nVidia controllers) and finally use it in
        amd_set_speed(), amd7411_cable_detect() and init_chipset_amd74xx() instead
        of amd_config->base.
      
      * Remove no longer needed AMD_BAD_SWDMA define, ->{swdma,ultra}_mask setup
        from init_hwif_amd74xx(), amd_{config,chipset} variables and amd_ide_chips
        table.
      
      * Fix init_chipset_amd74xx() comment.
      
      * Bump driver version.
      
      There should be no functionality changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      993da8f9
    • S
      ide: ide_setup_dma() assumes 8 ports · ecf32796
      Sergei Shtylyov 提交于
      According to http://marc.info/?l=linux-ide&m=114346138611631, the drivers must
      always register 8 DMA ports with ide_setup_dma(), so its last argument is not
      needed. While at it, kill some useless parens in that function...
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      ecf32796
    • S
      trm290: cannot call ide_setup_dma() · 4e5a68ae
      Sergei Shtylyov 提交于
      The TRM-290 chip is *not* SFF-8038i compatible and therefore can *not* call
      ide_setup_dma() -- fix this and also cleanup the code a bit...
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      4e5a68ae
  2. 27 1月, 2008 18 次提交
  3. 26 1月, 2008 10 次提交
  4. 11 1月, 2008 1 次提交
  5. 24 12月, 2007 2 次提交
  6. 13 12月, 2007 2 次提交
    • S
      hpt366: fix HPT37x PIO mode timings (take 2) · 809b53c4
      Sergei Shtylyov 提交于
      After looking into the HPT370 manual (now that I have it) and re-checking all
      the timing tables, here's what I have discovered:
      
      - at 33 MHz clock, PIO mode 0 timings turned to be overclocked, and all other
        PIO modes underclocked;
      
      - at 50 MHz clock, PIO modes 0 to 2 turned to be overclocked;
      
      - at 66 MHz clock, PIO mode 0 was overclocked too.
      
      Finally, the taskfile timing (matching PIO mode 0) turned to be overclocked at
      all clock frequencies (and in all manuals)...
      
      The new timings have been tested on HPT370 chip (at 33 MHz PCI clock) and on
      HPT371N chip (at both 50 and 66 MHz DPLL clock).
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      809b53c4
    • B
      pdc202xx_new: fix Promise TX4 support · eadb6ecf
      Bartlomiej Zolnierkiewicz 提交于
      In case of Promise TX4 the first PCI device is located at slot 1
      and the second one is at slot 2 so the offset used by pci_get_slot()
      should be "+1" and not "+2".
      
      Thanks goes out to Markus Dietz for bugreport and testing this patch.
      
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      eadb6ecf