1. 25 3月, 2009 1 次提交
  2. 07 1月, 2009 3 次提交
  3. 30 12月, 2008 1 次提交
  4. 22 10月, 2008 1 次提交
  5. 14 10月, 2008 3 次提交
  6. 11 10月, 2008 4 次提交
    • B
      ide: add proper PCI PM support (v2) · feb22b7f
      Bartlomiej Zolnierkiewicz 提交于
      * Keep pointer to ->init_chipset method also in
        struct ide_host and set it in ide_host_alloc_all().
      
      * Add ide_pci_suspend() and ide_pci_resume() helpers
        (default ->suspend and ->resume implementations).
      
      * ->init_chipset can no longer be marked __devinit.
      
      * Add proper PCI PM support to IDE PCI host drivers
        (rz1000.c and tc86c001.c are skipped for now since
        they need to be converted from using ->init_hwif
        to use ->init_chipset instead).
      
      v2:
      * Cleanup CONFIG_PM #ifdef-s per akpm's suggestion.
      
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      feb22b7f
    • B
      ide: include <linux/hdreg.h> only when needed · 3ceca727
      Bartlomiej Zolnierkiewicz 提交于
      * Include <linux/ata.h> directly in <linux/ide.h>
        instead of through <linux/hdreg.h>.
      
      * Include <linux/hdreg.h> only when needed.
      
      Cc: Christoph Hellwig <hch@infradead.org>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      3ceca727
    • B
      ide: remove drive->driveid · 48fb2688
      Bartlomiej Zolnierkiewicz 提交于
      * Factor out HDIO_[OBSOLETE,GET]_IDENTITY ioctls handling
        to ide_get_identity_ioctl().
      
      * Use temporary buffer in ide_get_identity_ioctl() instead
        of accessing drive->id directly.
      
      * Add ide_id_to_hd_driveid() inline to convert raw id into
        struct hd_driveid format (needed on big-endian).
      
      * Use ide_id_to_hd_driveid() in ide_get_identity_ioctl(),
        cleanup ide_fix_driveid() and switch ide to use use raw id.
      
      * Remove no longer needed drive->driveid.
      
        This leaves us with 3 users of struct hd_driveid in tree:
        - arch/um/drivers/ubd_kern.c
        - drivers/block/xsysace.c
        - drivers/usb/storage/isd200.c
      
      While at it:
      
      * Use ata_id_u{32,64}() and ata_id_has_{dma,lba,iordy}() macros.
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      48fb2688
    • B
      ide: make drive->id an union (take 2) · 4dde4492
      Bartlomiej Zolnierkiewicz 提交于
      Make drive->id an unnamed union so id can be accessed either by using
      'u16 *id' or 'struct hd_driveid *driveid'.  Then convert all existing
      drive->id users accordingly (using 'u16 *id' when possible).
      
      This is an intermediate step to make ide 'struct hd_driveid'-free.
      
      While at it:
      
      - Add missing KERN_CONTs in it821x.c.
      
      - Use ATA_ID_WORDS and ATA_ID_*_LEN defines.
      
      - Remove unnecessary checks for drive->id.
      
      - s/drive_table/table/ in ide_in_drive_list().
      
      - Cleanup ide_config_drive_speed() a bit.
      
      - s/drive1/dev1/ & s/drive0/dev0/ in ide_undecoded_slave().
      
      v2:
      Fix typo in drivers/ide/ppc/pmac.c. (From Stephen Rothwell)
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      4dde4492
  7. 06 8月, 2008 1 次提交
  8. 25 7月, 2008 5 次提交
  9. 24 7月, 2008 2 次提交
    • B
      ide: filter out "default" transfer mode values in set_xfer_rate() · 3b2a5c71
      Bartlomiej Zolnierkiewicz 提交于
      * Filter out "default" transfer mode values (0x00 - default PIO mode,
        0x01 - default PIO mode w/ IORDY disabled) in write handler for obsoleted
        /proc/ide/hd?/settings:current_speed setting.
      
        Allowing "default" transfer mode values is a dangerous thing to do as
        we don't support programming controller to the "default" transfer mode
        and devices often use different values for the default and maximum PIO
        mode (i.e. PIO2 default and PIO4 maximum) so the controller will stay
        programmed for higher PIO mode while device will use the lower PIO mode.
      
        There is no functionality loss as by using special IOCTLs device can
        still be programmed to "default" transfer modes (it is only useful for
        debugging/testing purposes anyway).
      
      * Remove no longer needed IDE_HFLAG_ABUSE_SET_DMA_MODE host flag, it was
        previously used by few host drivers to program the controller to PIO0
        timings for "default" transfer mode == 0x01 (although some host drivers
        would program invalid PIO timings instead).
      
      * Cleanup ide_set_xfer_rate() and add BUG_ON().
      Suggested-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      3b2a5c71
    • B
      ide: remove ->dma_{status,command} fields from ide_hwif_t · cab7f8ed
      Bartlomiej Zolnierkiewicz 提交于
      * Use ->dma_base + offset instead of ->dma_{status,command}
        and remove no longer needed ->dma_{status,command}.
      
      While at it:
      
      * Use ATA_DMA_* defines.
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      cab7f8ed
  10. 27 4月, 2008 6 次提交
  11. 11 2月, 2008 1 次提交
  12. 03 2月, 2008 3 次提交
  13. 02 2月, 2008 3 次提交
  14. 27 1月, 2008 1 次提交
    • 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
  15. 26 1月, 2008 2 次提交
    • B
      ide: add IDE_HFLAG_ABUSE_SET_DMA_MODE host flag · 4db90a14
      Bartlomiej Zolnierkiewicz 提交于
      * Add IDE_HFLAG_ABUSE_SET_DMA_MODE host flag and use it to decide
        what to do with transfer modes < XFER_PIO_0 in ide_set_xfer_rate().
      
      * Set IDE_HFLAG_ABUSE_SET_DMA_MODE in host drivers that need it
        (aec62xx, amd74xx, cs5520, cs5535, hpt34x, hpt366, pdc202xx_old,
        serverworks, tc86c001 and via82cxxx) and cleanup ->set_dma_mode
        methods in host drivers that don't (IDE core code guarantees that
        ->set_dma_mode will be called only for modes which are present
        in SWDMA/MWDMA/UDMA masks).
      
      While at it:
      
      * Add IDE_HFLAGS_HPT34X/HPT3XX/PDC202XX/SVWKS define in
        hpt34x/hpt366/pdc202xx_old/serverworks host driver.
      
      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>
      4db90a14
    • B
      ide: remove ->dma_master field from ide_hwif_t (take 5) · 1c029fd6
      Bartlomiej Zolnierkiewicz 提交于
      * Convert cmd64x, hpt366 and pdc202xx_old host drivers to use
        pci_resource_start(hwif->pci_dev, 4) instead of hwif->dma_master.
      
      * Remove no longer needed ->dma_master field from ide_hwif_t.
      
      v2:
      * Use the more readable 'hwif->dma_base - (hwif->channel * 8)' instead of
        pci_resource_start(hwif->pci_dev, 4).
      
      v3:
      * Use hwif->extra_base in hpt366/pdc20xx_old + some cosmetic fixups over v2
        (suggested by Sergei).
      
      v4:
      * Correct offsets in hpt3xxn_set_clock().
      
      v5:
      * Use hwif->extra_base in hpt366 for _real_ this time. (Noticed by Sergei)
      Acked-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      1c029fd6
  16. 20 10月, 2007 3 次提交