diff options
author | Hannes Reinecke <hare@suse.de> | 2006-01-12 06:08:06 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2006-01-12 13:03:50 -0500 |
commit | 11668bb673c41ec169a85d0b52c538a1c11d29e1 (patch) | |
tree | 423c30e22eea305d5c059c6463bdd226c1734bf4 /drivers/scsi/aic7xxx/aic79xx.reg | |
parent | ba62cd2d01e401faa5d5a25fa8e990d0b1a1996a (diff) |
[SCSI] aic79xx: Sequencer update
Update sequencer code to Adaptec version 2.0.12-6.3.9.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/aic7xxx/aic79xx.reg')
-rw-r--r-- | drivers/scsi/aic7xxx/aic79xx.reg | 60 |
1 files changed, 39 insertions, 21 deletions
diff --git a/drivers/scsi/aic7xxx/aic79xx.reg b/drivers/scsi/aic7xxx/aic79xx.reg index cca58edc8648..3a3204703b15 100644 --- a/drivers/scsi/aic7xxx/aic79xx.reg +++ b/drivers/scsi/aic7xxx/aic79xx.reg | |||
@@ -39,7 +39,7 @@ | |||
39 | * | 39 | * |
40 | * $FreeBSD$ | 40 | * $FreeBSD$ |
41 | */ | 41 | */ |
42 | VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#70 $" | 42 | VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#76 $" |
43 | 43 | ||
44 | /* | 44 | /* |
45 | * This file is processed by the aic7xxx_asm utility for use in assembling | 45 | * This file is processed by the aic7xxx_asm utility for use in assembling |
@@ -65,13 +65,6 @@ VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#70 $" | |||
65 | mvi MODE_PTR, MK_MODE(src, dst); \ | 65 | mvi MODE_PTR, MK_MODE(src, dst); \ |
66 | } | 66 | } |
67 | 67 | ||
68 | #define TOGGLE_DFF_MODE \ | ||
69 | if ((ahd->bugs & AHD_SET_MODE_BUG) != 0) { \ | ||
70 | call toggle_dff_mode_work_around; \ | ||
71 | } else { \ | ||
72 | xor MODE_PTR, MK_MODE(M_DFF1, M_DFF1); \ | ||
73 | } | ||
74 | |||
75 | #define RESTORE_MODE(mode) \ | 68 | #define RESTORE_MODE(mode) \ |
76 | if ((ahd->bugs & AHD_SET_MODE_BUG) != 0) { \ | 69 | if ((ahd->bugs & AHD_SET_MODE_BUG) != 0) { \ |
77 | mov mode call set_mode_work_around; \ | 70 | mov mode call set_mode_work_around; \ |
@@ -1199,7 +1192,7 @@ register TARGPCISTAT { | |||
1199 | 1192 | ||
1200 | /* | 1193 | /* |
1201 | * LQ Packet In | 1194 | * LQ Packet In |
1202 | * The last LQ Packet received | 1195 | * The last LQ Packet recieved |
1203 | */ | 1196 | */ |
1204 | register LQIN { | 1197 | register LQIN { |
1205 | address 0x020 | 1198 | address 0x020 |
@@ -3542,10 +3535,34 @@ scratch_ram { | |||
3542 | COMPLETE_DMA_SCB_HEAD { | 3535 | COMPLETE_DMA_SCB_HEAD { |
3543 | size 2 | 3536 | size 2 |
3544 | } | 3537 | } |
3545 | /* Counting semaphore to prevent new select-outs */ | 3538 | /* |
3539 | * tail of list of SCBs that have | ||
3540 | * completed but need to be uploaded | ||
3541 | * to the host prior to being completed. | ||
3542 | */ | ||
3543 | COMPLETE_DMA_SCB_TAIL { | ||
3544 | size 2 | ||
3545 | } | ||
3546 | /* | ||
3547 | * head of list of SCBs that have | ||
3548 | * been uploaded to the host, but cannot | ||
3549 | * be completed until the QFREEZE is in | ||
3550 | * full effect (i.e. no selections pending). | ||
3551 | */ | ||
3552 | COMPLETE_ON_QFREEZE_HEAD { | ||
3553 | size 2 | ||
3554 | } | ||
3555 | /* | ||
3556 | * Counting semaphore to prevent new select-outs | ||
3557 | * The queue is frozen so long as the sequencer | ||
3558 | * and kernel freeze counts differ. | ||
3559 | */ | ||
3546 | QFREEZE_COUNT { | 3560 | QFREEZE_COUNT { |
3547 | size 2 | 3561 | size 2 |
3548 | } | 3562 | } |
3563 | KERNEL_QFREEZE_COUNT { | ||
3564 | size 2 | ||
3565 | } | ||
3549 | /* | 3566 | /* |
3550 | * Mode to restore on legacy idle loop exit. | 3567 | * Mode to restore on legacy idle loop exit. |
3551 | */ | 3568 | */ |
@@ -3625,6 +3642,17 @@ scratch_ram { | |||
3625 | size 1 | 3642 | size 1 |
3626 | } | 3643 | } |
3627 | /* | 3644 | /* |
3645 | * Kernel and sequencer offsets into the queue of | ||
3646 | * incoming target mode command descriptors. The | ||
3647 | * queue is full when the KERNEL_TQINPOS == TQINPOS. | ||
3648 | */ | ||
3649 | KERNEL_TQINPOS { | ||
3650 | size 1 | ||
3651 | } | ||
3652 | TQINPOS { | ||
3653 | size 1 | ||
3654 | } | ||
3655 | /* | ||
3628 | * Base address of our shared data with the kernel driver in host | 3656 | * Base address of our shared data with the kernel driver in host |
3629 | * memory. This includes the qoutfifo and target mode | 3657 | * memory. This includes the qoutfifo and target mode |
3630 | * incoming command queue. | 3658 | * incoming command queue. |
@@ -3639,17 +3667,6 @@ scratch_ram { | |||
3639 | QOUTFIFO_NEXT_ADDR { | 3667 | QOUTFIFO_NEXT_ADDR { |
3640 | size 4 | 3668 | size 4 |
3641 | } | 3669 | } |
3642 | /* | ||
3643 | * Kernel and sequencer offsets into the queue of | ||
3644 | * incoming target mode command descriptors. The | ||
3645 | * queue is full when the KERNEL_TQINPOS == TQINPOS. | ||
3646 | */ | ||
3647 | KERNEL_TQINPOS { | ||
3648 | size 1 | ||
3649 | } | ||
3650 | TQINPOS { | ||
3651 | size 1 | ||
3652 | } | ||
3653 | ARG_1 { | 3670 | ARG_1 { |
3654 | size 1 | 3671 | size 1 |
3655 | mask SEND_MSG 0x80 | 3672 | mask SEND_MSG 0x80 |
@@ -3951,6 +3968,7 @@ const SG_PREFETCH_ADDR_MASK download | |||
3951 | const SG_SIZEOF download | 3968 | const SG_SIZEOF download |
3952 | const PKT_OVERRUN_BUFOFFSET download | 3969 | const PKT_OVERRUN_BUFOFFSET download |
3953 | const SCB_TRANSFER_SIZE download | 3970 | const SCB_TRANSFER_SIZE download |
3971 | const CACHELINE_MASK download | ||
3954 | 3972 | ||
3955 | /* | 3973 | /* |
3956 | * BIOS SCB offsets | 3974 | * BIOS SCB offsets |