1. 03 12月, 2006 6 次提交
    • T
      [PATCH] libata: fix READ CAPACITY simulation · 6a36261e
      Tejun Heo 提交于
      * READ CAPACITY (16) implementation fixed.  Result was shifted by two
        bytes.  Carlos Pardo spotted this problem and submitted preliminary
        patch.  Capacity => 2TB is handled correctly now.  (verifid w/ fake
        capacity)
      
      * Use dev->n_sectors instead of re-reading directly from ID data.
      
      * Define and use ATA_SCSI_RBUF_SET() which considers rbuf length.
        This should be done for all simulation functions.  Userland can
        issue any simulated command with arbitrary buffer length.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: Carlos Pardo <Carlos.Pardo@siliconimage.com>
      6a36261e
    • T
      [PATCH] libata: implement ATA_FLAG_SETXFER_POLLING and use it in pata_via, take #2 · 3d3cca37
      Tejun Heo 提交于
      This patch implements ATA_FLAG_SETXFER_POLLING and use in pata_via.
      If this flag is set, transfer mode setting performed by polling not by
      interrupt.  This should help those controllers which raise interrupt
      before the command is actually complete on SETXFER.
      
      Rationale for this approach.
      
      * uses existing facility and relatively simple
      * no busy sleep in the interrupt handler
      * updating drivers is easy
      
      While at it, kill now unused flag ATA_FLAG_SRST in pata_via.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      3d3cca37
    • T
      [PATCH] libata: set IRQF_SHARED for legacy PCI IDE IRQs · 8070217d
      Tejun Heo 提交于
      There are machines out there which share legacy PCI IDE IRQs w/ other
      devices.  libata SFF interrupt/HSM code is ready for shared IRQ and
      has been setting IRQF_SHARED for devices in native PCI mode.  Device
      in legacy mode is still a PCI device and thus supposedly uses
      active-low level triggered IRQ.
      
      Machines with such setup should be quite rare and w/o this flag libata
      is likely to fail loading and render the system unuseable.  Also, IDE
      driver has been setting IRQF_SHARED for devices in legacy mode for a
      looooong time.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      8070217d
    • T
      [PATCH] libata: remove unused HSM_ST_UNKNOWN · 582982e6
      Tejun Heo 提交于
      HSM_ST_UNKNOWN is not used anywhere.  Its value is zero and supposed
      to serve sanity check purpose but HSM_ST_IDLE is used for that
      purpose.  This unused state causes confusion.  After a port is
      initialized but before the first command is executed, the idle hsm
      state is UNKNOWN.  However, once a command has completed, the idle hsm
      state is IDLE.  This defeats sanity check in ata_pio_task() for the
      first command.
      
      This patch removes HSM_ST_UNKNOWN and consequently make HSM_ST_IDLE
      the default state.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      582982e6
    • T
      [PATCH] libata: kill unnecessary sht->max_sectors initializations · 2eab80ac
      Tejun Heo 提交于
      sht->max_sectors is overrided unconditionally in ->slave_configure.
      There's no reason to set it to any value.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      2eab80ac
    • T
      [PATCH] libata: add missing sht->slave_destroy · c972b60b
      Tejun Heo 提交于
      Add missing sht->slave_destroy.  Most drivers received this fix in
      didn't.  Fix those four drives.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      c972b60b
  2. 02 12月, 2006 34 次提交