Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=03cde46b6bd74672bcb88a2f155aa3e3b6ff4fa1
Commit:     03cde46b6bd74672bcb88a2f155aa3e3b6ff4fa1
Parent:     646158c203ae8e76a44bb38634fc82f2da041824
Author:     FUJITA Tomonori <[EMAIL PROTECTED]>
AuthorDate: Wed May 16 07:01:23 2007 +0900
Committer:  James Bottomley <[EMAIL PROTECTED]>
CommitDate: Sat May 26 19:08:20 2007 -0500

    [SCSI] NCR53c406a: convert to use the data buffer accessors
    
    - remove the unnecessary map_single path.
    
    - convert to use the new accessors for the sg lists and the
    parameters.
    
    Jens Axboe <[EMAIL PROTECTED]> did the for_each_sg cleanup.
    
    Signed-off-by: FUJITA Tomonori <[EMAIL PROTECTED]>
    Signed-off-by: James Bottomley <[EMAIL PROTECTED]>
---
 drivers/scsi/NCR53c406a.c |   45 ++++++++++++++++++---------------------------
 1 files changed, 18 insertions(+), 27 deletions(-)

diff --git a/drivers/scsi/NCR53c406a.c b/drivers/scsi/NCR53c406a.c
index 7c0b17f..eda8c48 100644
--- a/drivers/scsi/NCR53c406a.c
+++ b/drivers/scsi/NCR53c406a.c
@@ -698,7 +698,7 @@ static int NCR53c406a_queue(Scsi_Cmnd * SCpnt, void (*done) 
(Scsi_Cmnd *))
        int i;
 
        VDEB(printk("NCR53c406a_queue called\n"));
-       DEB(printk("cmd=%02x, cmd_len=%02x, target=%02x, lun=%02x, 
bufflen=%d\n", SCpnt->cmnd[0], SCpnt->cmd_len, SCpnt->target, SCpnt->lun, 
SCpnt->request_bufflen));
+       DEB(printk("cmd=%02x, cmd_len=%02x, target=%02x, lun=%02x, 
bufflen=%d\n", SCpnt->cmnd[0], SCpnt->cmd_len, SCpnt->target, SCpnt->lun, 
scsi_bufflen(SCpnt)));
 
 #if 0
        VDEB(for (i = 0; i < SCpnt->cmd_len; i++)
@@ -785,8 +785,8 @@ static void NCR53c406a_intr(void *dev_id)
        unsigned char status, int_reg;
 #if USE_PIO
        unsigned char pio_status;
-       struct scatterlist *sglist;
-       unsigned int sgcount;
+       struct scatterlist *sg;
+        int i;
 #endif
 
        VDEB(printk("NCR53c406a_intr called\n"));
@@ -866,22 +866,18 @@ static void NCR53c406a_intr(void *dev_id)
                        current_SC->SCp.phase = data_out;
                        VDEB(printk("NCR53c406a: Data-Out phase\n"));
                        outb(FLUSH_FIFO, CMD_REG);
-                       LOAD_DMA_COUNT(current_SC->request_bufflen);    /* Max 
transfer size */
+                       LOAD_DMA_COUNT(scsi_bufflen(current_SC));       /* Max 
transfer size */
 #if USE_DMA                    /* No s/g support for DMA */
-                       NCR53c406a_dma_write(current_SC->request_buffer, 
current_SC->request_bufflen);
+                       NCR53c406a_dma_write(scsi_sglist(current_SC),
+                                             scsdi_bufflen(current_SC));
+
 #endif                         /* USE_DMA */
                        outb(TRANSFER_INFO | DMA_OP, CMD_REG);
 #if USE_PIO
-                       if (!current_SC->use_sg)        /* Don't use 
scatter-gather */
-                               
NCR53c406a_pio_write(current_SC->request_buffer, current_SC->request_bufflen);
-                       else {  /* use scatter-gather */
-                               sgcount = current_SC->use_sg;
-                               sglist = current_SC->request_buffer;
-                               while (sgcount--) {
-                                       
NCR53c406a_pio_write(page_address(sglist->page) + sglist->offset, 
sglist->length);
-                                       sglist++;
-                               }
-                       }
+                        scsi_for_each_sg(current_SC, sg, 
scsi_sg_count(current_SC), i) {
+                                NCR53c406a_pio_write(page_address(sg->page) + 
sg->offset,
+                                                     sg->length);
+                        }
                        REG0;
 #endif                         /* USE_PIO */
                }
@@ -893,22 +889,17 @@ static void NCR53c406a_intr(void *dev_id)
                        current_SC->SCp.phase = data_in;
                        VDEB(printk("NCR53c406a: Data-In phase\n"));
                        outb(FLUSH_FIFO, CMD_REG);
-                       LOAD_DMA_COUNT(current_SC->request_bufflen);    /* Max 
transfer size */
+                       LOAD_DMA_COUNT(scsi_bufflen(current_SC));       /* Max 
transfer size */
 #if USE_DMA                    /* No s/g support for DMA */
-                       NCR53c406a_dma_read(current_SC->request_buffer, 
current_SC->request_bufflen);
+                       NCR53c406a_dma_read(scsi_sglist(current_SC),
+                                            scsdi_bufflen(current_SC));
 #endif                         /* USE_DMA */
                        outb(TRANSFER_INFO | DMA_OP, CMD_REG);
 #if USE_PIO
-                       if (!current_SC->use_sg)        /* Don't use 
scatter-gather */
-                               NCR53c406a_pio_read(current_SC->request_buffer, 
current_SC->request_bufflen);
-                       else {  /* Use scatter-gather */
-                               sgcount = current_SC->use_sg;
-                               sglist = current_SC->request_buffer;
-                               while (sgcount--) {
-                                       
NCR53c406a_pio_read(page_address(sglist->page) + sglist->offset, 
sglist->length);
-                                       sglist++;
-                               }
-                       }
+                        scsi_for_each_sg(current_SC, sg, 
scsi_sg_count(current_SC), i) {
+                                NCR53c406a_pio_read(page_address(sg->page) + 
sg->offset,
+                                                    sg->length);
+                        }
                        REG0;
 #endif                         /* USE_PIO */
                }
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to