1. 02 2月, 2008 22 次提交
  2. 01 2月, 2008 1 次提交
  3. 28 1月, 2008 2 次提交
    • K
      blk_end_request: changing ide-cd (take 4) · aaa04c28
      Kiyoshi Ueda 提交于
      This patch converts ide-cd (cdrom_newpc_intr()) to use blk_end_request
      interfaces.  Related 'uptodate' arguments are converted to 'error'.
      
      In PIO mode, ide-cd (cdrom_newpc_intr()) needs to defer
      end_that_request_last() until the device clears DRQ_STAT and raises
      an interrupt after end_that_request_first().
      So blk_end_request() has to return without completing request
      even if no leftover in the request.
      
      ide-cd uses blk_end_request_callback() and a dummy callback function,
      which just returns value '1', to tell blk_end_request_callback()
      about that.
      
      Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      Signed-off-by: NKiyoshi Ueda <k-ueda@ct.jp.nec.com>
      Signed-off-by: NJun'ichi Nomura <j-nomura@ce.jp.nec.com>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      aaa04c28
    • K
      blk_end_request: changing ide normal caller (take 4) · 5e36bb6e
      Kiyoshi Ueda 提交于
      This patch converts "normal" parts of ide to use blk_end_request
      interfaces.  Related 'uptodate' arguments are converted to 'error'.
      
      The conversion of 'uptodate' to 'error' is done only for the internal
      function, __ide_end_request().
      ide_end_request() was not changed since it's exported and used
      by many ide drivers.
      
      With this patch, blkdev_dequeue_request() in __ide_end_request() is
      moved to blk_end_request, since blk_end_request takes care of
      dequeueing request like below:
      
      	if (!list_empty(&rq->queuelist))
      		blkdev_dequeue_request(rq);
      
      In the case of ide,
        o 'dequeue' variable of __ide_end_request() is 1 only when the request
          is still linked to the queue (i.e. rq->queuelist is not empty)
        o 'dequeue' variable of __ide_end_request() is 0 only when the request
          has already been removed from the queue (i.e. rq->queuelist is empty)
      So blk_end_request can handle it correctly although ide always run
      thought the code above.
      
      Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      Signed-off-by: NKiyoshi Ueda <k-ueda@ct.jp.nec.com>
      Signed-off-by: NJun'ichi Nomura <j-nomura@ce.jp.nec.com>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      5e36bb6e
  4. 26 1月, 2008 2 次提交
  5. 24 12月, 2007 9 次提交
  6. 13 12月, 2007 2 次提交
    • B
      ide-cd: remove dead post_transform_command() · c86ae7df
      Bartlomiej Zolnierkiewicz 提交于
      post_transform_command() call in cdrom_newpc_intr() has no effect because
      it is done after the request has already been fully completed (rq->bio and
      rq->data are always NULL).  It was verified to be true regardless whether
      INQUIRY command is using DMA or PIO to transfer data (by using modified
      Tejun Heo's test-shortsg.c utility and adding a few printk()-s to ide-cd).
      
      This was uncovered thanks to the "blk_end_request: full I/O completion
      handler (take 3)" patch series from Kiyoshi Ueda.
      
      Cc: jens.axboe@oracle.com
      Cc: bharrosh@panasas.com
      Cc: Kiyoshi Ueda <k-ueda@ct.jp.nec.com
      Cc: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
      Cc: Tejun Heo <htejun@gmail.com>
      Acked-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      c86ae7df
    • B
      ide: DMA reporting and validity checking fixes (take 3) · 3ab7efe8
      Bartlomiej Zolnierkiewicz 提交于
      * ide_xfer_verbose() fixups:
        - beautify returned mode names
        - fix PIO5 reporting
        - make it return 'const char *'
      
      * Change printk() level from KERN_DEBUG to KERN_INFO in ide_find_dma_mode().
      
      * Add ide_id_dma_bug() helper based on ide_dma_verbose() to check for invalid
        DMA info in identify block.
      
      * Use ide_id_dma_bug() in ide_tune_dma() and ide_driveid_update().
      
        As a result DMA won't be tuned or will be disabled after tuning if device
        reports inconsistent info about enabled DMA mode (ide_dma_verbose() does the
        same checks while the IDE device is probed by ide-{cd,disk} device driver).
      
      * Remove no longer needed ide_dma_verbose().
      
      This patch should fix the following problem with out-of-sync IDE messages
      reported by Nick Warne:
      
             hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache<7>hdd:
             skipping word 93 validity check
              , UDMA(66)
      
      and later debugged by Mark Lord to be caused by:
      
              ide_dma_verbose()
                      printk( ... "2048kB Cache");
              eighty_ninty_three()
                      printk(KERN_DEBUG "%s: skipping word 93 validity check\n");
              ide_dma_verbose()
                      printk(", UDMA(66)"
      
      Please note that as a result ide-{cd,disk} device drivers won't report the
      DMA speed used but this is intended since now DMA mode being used is always
      reported by IDE core code.
      
      v2:
      * fixes suggested by Randy:
        - use KERN_CONT for printk()-s in ide-{cd,disk}.c
        - don't remove argument name from ide_xfer_verbose() declaration
      
      v3:
      * Remove incorrect check for (id->field_valid & 1) from ide_id_dma_bug()
        (spotted by Sergei).
      
      * "XFER SLOW" -> "PIO SLOW" in ide_xfer_verbose() (suggested by Sergei).
      
      * Fix ide_find_dma_mode() to report the correct mode ('mode' after being
        limited by 'req_mode').
      
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: Nick Warne <nick@ukfsn.org>
      Cc: Mark Lord <lkml@rtr.ca>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      3ab7efe8
  7. 20 10月, 2007 1 次提交
  8. 24 7月, 2007 1 次提交