1. 08 4月, 2009 2 次提交
  2. 27 3月, 2009 1 次提交
    • B
      ide: remove ide_task_t typedef · 22aa4b32
      Bartlomiej Zolnierkiewicz 提交于
      While at it:
      - rename struct ide_task_s to struct ide_cmd
      - remove stale comments from idedisk_{read_native,set}_max_address()
      - drop unused 'cmd' argument from ide_{cmd,task}_ioctl()
      - drop unused 'task' argument from tx4939ide_tf_load_fixup()
      - rename ide_complete_task() to ide_complete_cmd()
      - use consistent naming for struct ide_cmd variables
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      22aa4b32
  3. 25 3月, 2009 7 次提交
  4. 03 2月, 2009 1 次提交
  5. 07 1月, 2009 3 次提交
    • B
      ide: add port and host iterators · 2bd24a1c
      Bartlomiej Zolnierkiewicz 提交于
      Add ide_port_for_each_dev() / ide_host_for_each_port() iterators
      and update IDE code to use them.
      
      While at it:
      - s/unit/i/ variable in ide_port_wait_ready(), ide_probe_port(),
        ide_port_tune_devices(), ide_port_init_devices_data(), do_reset1(),
        ide_acpi_set_state() and scc_dma_end()
      - s/d/i/ variable in ide_proc_port_register_devices()
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      2bd24a1c
    • B
      ide: dynamic allocation of device structures · 5e7f3a46
      Bartlomiej Zolnierkiewicz 提交于
      Allocate device structures dynamically instead of having them embedded
      in ide_hwif_t:
      
      * Remove needless zeroing of port structure from ide_init_port_data().
      
      * Add ide_hwif_t.devices[MAX_DRIVES] (table of pointers to the devices).
      
      * Add ide_port_{alloc,free}_devices() helpers and use them respectively
        in ide_{host,free}_alloc().
      
      * Convert all users of ->drives[] to use ->devices[] instead.
      
      While at it:
      
      * Use drive->dn for the slave device check in scc_pata.c.
      
      As a nice side-effect this patch cuts ~1kB (x86-32) from the resulting
      code size:
      
         text    data     bss     dec     hex filename
        53963    1244     237   55444    d894 drivers/ide/ide-core.o.before
        52981    1244     237   54462    d4be drivers/ide/ide-core.o.after
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      5e7f3a46
    • B
      ide: remove HWIF() macro · 898ec223
      Bartlomiej Zolnierkiewicz 提交于
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      898ec223
  6. 31 12月, 2008 1 次提交
  7. 30 12月, 2008 1 次提交
  8. 14 10月, 2008 1 次提交
  9. 11 10月, 2008 1 次提交
    • 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
  10. 16 7月, 2008 1 次提交
  11. 27 4月, 2008 2 次提交
  12. 18 4月, 2008 1 次提交
  13. 06 2月, 2008 1 次提交
  14. 03 2月, 2008 3 次提交
  15. 02 2月, 2008 1 次提交
  16. 27 1月, 2008 1 次提交
  17. 26 1月, 2008 3 次提交
    • B
      ide: remove unnecessary writes to HOB taskfile registers · a3bbb9d8
      Bartlomiej Zolnierkiewicz 提交于
      * Set taskfile flags for REQ_TYPE_ATA_TASKFILE requests before
        adding the request to the queue.
      
      * Cleanup execute_drive_cmd().
      
      * Remove unnecessary writes to HOB taskfile registers when using
        LBA48 disk for the following cases:
      
        - Power Management requests
          (WIN_FLUSH_CACHE[_EXT], WIN_STANDBYNOW1, WIN_IDLEIMMEDIATE commands)
      
        - special commands (WIN_SPECIFY, WIN_RESTORE, WIN_SETMULT)
      
        - Host Protected Area support (WIN_READ_NATIVE_MAX, WIN_SET_MAX)
      
        - /proc/ide/ SMART support (WIN_SMART with SMART_ENABLE,
          SMART_READ_VALUES and SMART_READ_THRESHOLDS subcommands)
      
        - write cache enabling/disabling in ide-disk
          (WIN_SETFEATURES with SETFEATURES_{EN,DIS}_WCACHE)
      
        - write cache flushing in ide-disk (WIN_FLUSH_CACHE[_EXT])
      
        - acoustic management in ide-disk
          (WIN_SETFEATURES with SETFEATURES_{EN,DIS}_AAM)
      
        - door (un)locking in ide-disk (WIN_DOORLOCK, WIN_DOORUNLOCK)
      
        - /proc/ide/hd?/identify support (WIN_IDENTIFY)
      
        - ACPI _GTF taskfiles
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      a3bbb9d8
    • B
      ide: add ide_no_data_taskfile() helper · 9a3c49be
      Bartlomiej Zolnierkiewicz 提交于
      * Add ide_no_data_taskfile() helper and convert ide_raw_taskfile() w/ NO DATA
        protocol users to use it instead.
      
      * Set ->data_phase explicitly in ide_no_data_taskfile()
        (TASKFILE_NO_DATA is defined as 0x0000).
      
      * Unexport task_no_data_intr().
      Acked-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      9a3c49be
    • B
      ide: add struct ide_taskfile (take 2) · 650d841d
      Bartlomiej Zolnierkiewicz 提交于
      * Don't set write-only ide_task_t.hobRegister[6] and ide_task_t.hobRegister[7]
        in idedisk_set_max_address_ext().
      
      * Add struct ide_taskfile and use it in ide_task_t instead of tfRegister[]
        and hobRegister[].
      
      * Remove no longer needed IDE_CONTROL_OFFSET_HOB define.
      
      * Add #ifndef/#endif __KERNEL__ around definitions of {task,hob}_struct_t.
      
      While at it:
      
      * Use ATA_LBA define for LBA bit (0x40) as suggested by Tejun Heo.
      
      v2:
      * Add missing newlines. (Noticed by Sergei)
      
      * Use ~ATA_LBA instead of 0xBF. (Noticed by Sergei)
      
      * Use unnamed unions for error/feature and status/command.
        (Suggested by Sergei).
      
      There should be no functionality changes caused by this patch.
      Acked-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: Tejun Heo <htejun@gmail.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      650d841d
  18. 12 1月, 2008 1 次提交
  19. 11 1月, 2008 1 次提交
  20. 20 10月, 2007 1 次提交
  21. 13 10月, 2007 1 次提交
  22. 12 10月, 2007 1 次提交
  23. 08 2月, 2007 2 次提交
    • A
      ide-acpi support warning fix · 1e8f34f7
      Andrew Morton 提交于
      drivers/ide/ide-acpi.c: In function 'ide_acpi_get_timing':
      drivers/ide/ide-acpi.c:537: warning: format '%x' expects type 'unsigned int', but argument 4 has type 'long unsigned int'
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NHannes Reinecke <hare@suse.de>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      1e8f34f7
    • H
      ACPI support for IDE devices · e3a59b4d
      Hannes Reinecke 提交于
      This patch implements ACPI integration for generic IDE devices.
      The ACPI spec mandates that some methods are called during suspend and
      resume. And consequently there most modern Laptops cannot resume
      properly without it.
      
      According to the spec, we should call '_GTM' (Get Timing) upon suspend
      to store the current IDE adapter settings.
      Upon resume we should call '_STM' (Set Timing) to initialize the
      adapter with the stored settings; afterwards '_GTF' (Get Taskfile)
      should be called which returns a buffer with some IDE initialisation
      commands. Those commands should be passed to the drive.
      
      There are two module params which control the behaviour of this patch:
      
      'ide=noacpi'
      	Do not call any ACPI methods (Disables any ACPI method calls)
      'ide=acpigtf'
      	Enable execution of _GTF methods upon resume.
      	Has no effect if 'ide=noacpi' is set.
      'ide=acpionboot'
      	Enable execution of ACPI methods during boot.
      	This might be required on some machines if 'ide=acpigtf' is
      	selected as some machines modify the _GTF information
      	depending on the drive identification passed down with _STM.
      Signed-off-by: NHannes Reinecke <hare@suse.de>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      e3a59b4d