1. 07 1月, 2009 5 次提交
  2. 02 1月, 2009 10 次提交
  3. 30 12月, 2008 10 次提交
  4. 03 12月, 2008 1 次提交
  5. 21 10月, 2008 2 次提交
  6. 18 10月, 2008 6 次提交
  7. 14 10月, 2008 6 次提交
    • E
      ide: Implement disk shock protection support (v4) · 4abdc6ee
      Elias Oltmanns 提交于
      On user request (through sysfs), the IDLE IMMEDIATE command with UNLOAD
      FEATURE as specified in ATA-7 is issued to the device and processing of
      the request queue is stopped thereafter until the specified timeout
      expires or user space asks to resume normal operation. This is supposed
      to prevent the heads of a hard drive from accidentally crashing onto the
      platter when a heavy shock is anticipated (like a falling laptop expected
      to hit the floor). Port resets are deferred whenever a device on that
      port is in the parked state.
      
      v3:
      Elias Oltmanns <eo@nebensachen.de> wrote:
      [...]
      > >> 1. Make sure that no negative value is being passed to
      > >>    jiffies_to_msecs() in ide_park_show().
      > >> 2. Drop the superfluous variable hwif in ide_special_rq().
      > >> 3. Skip initialisation of task and tf in ide_special_rq() if we are not
      > >>    handling a (un)park request.
      > >
      > > Well, #3 should have been done differently because we donn't want to
      > > check for REQ_(UN)?PARK_HEADS more often than is necessary.
      > 
      > While preparing the backport to 2.6.27, it has just occurred to me that
      > we need to clear the IDE_DFLAG_PARKED flag in ide_disk_pre_reset()
      > because this flag must not be set after *any* sort of access to the
      > device.
      
      v4:
      Fix a memory leak due to a missing blk_put_request() in
      issue_park_cmd(). Additionally, we should plug the queue when enqueueing
      the unpark request because there is no guarantee that the park timeout
      has not expired by then. Even though the chance for that to happen is
      very slim, the request might end up hanging in the queue until the next
      I/O operation is queued up. While at it, clean up the code a little:
      - make issue_park_cmd() a function of type void since nobody cares for
        the return value anyway;
      - use blk_start_queueing() instead of __blk_run_queue() since we don't
        have to worry about recursion;
      - remove a superfluous pointer deference in task_no_data_intr().
      Signed-off-by: NElias Oltmanns <eo@nebensachen.de>
      Cc: Jeff Garzik <jeff@garzik.org>,
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Cc: Tejun Heo <htejun@gmail.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      4abdc6ee
    • B
      ide: add ide_drive_t.dma flag · 0a9b6f88
      Borislav Petkov 提交于
      This flag is to accomodate ide-cd functionality into ide atapi.
      
      There should be no functionality change resulting from this patch.
      Signed-off-by: NBorislav Petkov <petkovbb@gmail.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      0a9b6f88
    • B
      2dbe7e91
    • B
      ide: switch to DMA-mapping API part #2 · 2bbd57ca
      Bartlomiej Zolnierkiewicz 提交于
      Follow-up to commit 5c05ff68
      ("ide: switch to DMA-mapping API"):
      
      * pci_{alloc,free}_consistent() -> dma_{alloc,free}_coherent()
        in ide_{allocate,release}_dma_engine().
      
      * Add ->prd_max_nents and ->prd_ent_size fields to ide_hwif_t
        (+ set default values in ide_allocate_dma_engine()).
      
      * Make ide_{allocate,release}_dma_engine() available also
        for CONFIG_BLK_DEV_IDEDMA_SFF=n.  Then convert au1xxx-ide.c,
        scc_pata.c and sgiioc4.c to use them.
      
      * Add missing ->init_dma method to scc_pata.
      
      This patch also fixes:
      - ->dmatable_cpu leak for au1xxx-ide
      - too early realease of ->dmatable_cpu for scc_pata
      - wrong amount of ->dmatable_cpu memory being freed for sgiioc4
      
      While at it:
      - remove superfluous ->dma_base check from ide_unregister()
      - return -ENOMEM on error in ide_release_dma_engine()
      - beautify error message in ide_release_dma_engine()
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      2bbd57ca
    • B
      ide: make ide_dma_timeout() available also for CONFIG_BLK_DEV_IDEDMA_SFF=n · ffa15a69
      Bartlomiej Zolnierkiewicz 提交于
      Make ide_dma_timeout() available also for CONFIG_BLK_DEV_IDEDMA_SFF=n
      and convert {ics,au1xxx-}ide.c to use it.
      
      While at it:
      - dump ATA Status register content on error
      - use EXPORT_SYMBOL_GPL() to match the rest of SFF DMA functions
      Acked-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      ffa15a69
    • B
      ide: make ide_dma_lost_irq() available also for CONFIG_BLK_DEV_IDEDMA_SFF=n · de23ec9c
      Bartlomiej Zolnierkiewicz 提交于
      Make ide_dma_lost_irq() available also for CONFIG_BLK_DEV_IDEDMA_SFF=n
      and convert {ics,au1xxx-}ide.c to use it.
      
      While at it:
      - use EXPORT_SYMBOL_GPL() to match the rest of SFF DMA functions
      Acked-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      de23ec9c