aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/53c700.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/53c700.c')
-rw-r--r--drivers/scsi/53c700.c24
1 files changed, 21 insertions, 3 deletions
diff --git a/drivers/scsi/53c700.c b/drivers/scsi/53c700.c
index 68103e508db7..88e061d13d0b 100644
--- a/drivers/scsi/53c700.c
+++ b/drivers/scsi/53c700.c
@@ -667,12 +667,30 @@ NCR_700_chip_setup(struct Scsi_Host *host)
667 __u8 min_xferp = (hostdata->chip710 ? NCR_710_MIN_XFERP : NCR_700_MIN_XFERP); 667 __u8 min_xferp = (hostdata->chip710 ? NCR_710_MIN_XFERP : NCR_700_MIN_XFERP);
668 668
669 if(hostdata->chip710) { 669 if(hostdata->chip710) {
670 __u8 burst_disable = hostdata->burst_disable 670 __u8 burst_disable = 0;
671 ? BURST_DISABLE : 0; 671 __u8 burst_length = 0;
672
673 switch (hostdata->burst_length) {
674 case 1:
675 burst_length = BURST_LENGTH_1;
676 break;
677 case 2:
678 burst_length = BURST_LENGTH_2;
679 break;
680 case 4:
681 burst_length = BURST_LENGTH_4;
682 break;
683 case 8:
684 burst_length = BURST_LENGTH_8;
685 break;
686 default:
687 burst_disable = BURST_DISABLE;
688 break;
689 }
672 dcntl_extra = COMPAT_700_MODE; 690 dcntl_extra = COMPAT_700_MODE;
673 691
674 NCR_700_writeb(dcntl_extra, host, DCNTL_REG); 692 NCR_700_writeb(dcntl_extra, host, DCNTL_REG);
675 NCR_700_writeb(BURST_LENGTH_8 | hostdata->dmode_extra, 693 NCR_700_writeb(burst_length | hostdata->dmode_extra,
676 host, DMODE_710_REG); 694 host, DMODE_710_REG);
677 NCR_700_writeb(burst_disable | (hostdata->differential ? 695 NCR_700_writeb(burst_disable | (hostdata->differential ?
678 DIFF : 0), host, CTEST7_REG); 696 DIFF : 0), host, CTEST7_REG);