aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aic7xxx/aic79xx.reg
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2006-01-12 06:08:06 -0500
committerJames Bottomley <jejb@mulgrave.(none)>2006-01-12 13:03:50 -0500
commit11668bb673c41ec169a85d0b52c538a1c11d29e1 (patch)
tree423c30e22eea305d5c059c6463bdd226c1734bf4 /drivers/scsi/aic7xxx/aic79xx.reg
parentba62cd2d01e401faa5d5a25fa8e990d0b1a1996a (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.reg60
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 */
42VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#70 $" 42VERSION = "$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 */
1204register LQIN { 1197register 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
3951const SG_SIZEOF download 3968const SG_SIZEOF download
3952const PKT_OVERRUN_BUFOFFSET download 3969const PKT_OVERRUN_BUFOFFSET download
3953const SCB_TRANSFER_SIZE download 3970const SCB_TRANSFER_SIZE download
3971const CACHELINE_MASK download
3954 3972
3955/* 3973/*
3956 * BIOS SCB offsets 3974 * BIOS SCB offsets