AIC 7902 driver in Stable: problems with a B channel drive.

Steve Grandi grandi at noao.edu
Tue Jul 1 14:01:36 PDT 2003


The recent changes to the AIC7902 Stable driver make it boot cleanly, once
more, on my Supermicro SuperServer 6013P-8 system with a X5DPR-8G2
motherboard which features an embedded, dual-channel AIC7902 controller.

What still doesn't work: I attach a JetStor III disk array (from AC&NC) to
the B channel of the embedded controller and the Stable boot goes into a
nice loop of "Dump Card State".  See below for a listing of a couple of
cycles of this loop from a verbose dump.  The AIC7902 BIOS correctly sees
the disk array as target 3 on the B channel of the controller.

-----------------------------------------------------------------------------
Waiting 5 seconds for SCSI devices to settle
(noperiph:ahc0:0:-1:-1): SCSI bus reset delivered. 0 SCBs aborted.
ahd0: Downloading Sequencer Program... 710 instructions downloaded
ahd0: Features 0x101, Bugs 0x8fffff, Flags 0x43f1
(noperiph:ahd0:0:-1:-1): SCSI bus reset delivered. 0 SCBs aborted.
ahd1: Downloading Sequencer Program... 710 instructions downloaded
ahd1: Features 0x101, Bugs 0x8fffff, Flags 0x43f0
(noperiph:ahd1:0:-1:-1): SCSI bus reset delivered. 0 SCBs aborted.
(ahd0:A:1:0): Sending PPR bus_width 1, period 8, offset 7f, ppr_options bf
(ahd0:A:1:0): Received PPR width 1, period 8, offset 3f,options bf
	Filtered to width 1, period 8, offset 3f, options bf
ahd0: target 1 using 16bit transfers
ahd0: target 1 synchronous with period = 0x8, offset = 0x3f(RDSTRM|DT|IU|QAS)
(ahd0:A:0:0): Sending PPR bus_width 1, period 8, offset 7f, ppr_options bf
(ahd0:A:0:0): Received PPR width 1, period 8, offset 3f,options bf
	Filtered to width 1, period 8, offset 3f, options bf
ahd0: target 0 using 16bit transfers
ahd0: target 0 synchronous with period = 0x8, offset = 0x3f(RDSTRM|DT|IU|QAS)
(ahd1:A:3:0): Sending PPR bus_width 1, period 9, offset 7f, ppr_options 3f
(ahd1:A:3:0): Received PPR width 1, period 9, offset 1f,options 3f
	Filtered to width 1, period 9, offset 1f, options 3f
ahd1: target 3 using 16bit transfers
ahd1: target 3 synchronous with period = 0x9, offset = 0x1f(RDSTRM|DT|IU|QAS)
(probe33:ahd1:0:3:0): Unexpected busfree in Command phase, 1 SCBs aborted, PRGMCNT == 0xfe
>>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<<
ahd1: Dumping Card State at program address 0xfc Mode 0x11
Card was paused
HS_MAILBOX[0x0] INTCTL[0x80]:(SWTMINTMASK) SEQINTSTAT[0x0]
SAVED_MODE[0x11] DFFSTAT[0x11]:(CURRFIFO_1|FIFO0FREE)
SCSISIGI[0x0]:(P_DATAOUT) SCSIPHASE[0x0] SCSIBUS[0x0]
LASTPHASE[0x80]:(P_COMMAND) SCSISEQ0[0x0] SCSISEQ1[0x12]:(ENAUTOATNP|ENRSELI)
SEQCTL0[0x10]:(FASTMODE) SEQINTCTL[0x0] SEQ_FLAGS[0x0]
SEQ_FLAGS2[0x0] SSTAT0[0x0] SSTAT1[0x8]:(BUSFREE)
SSTAT2[0x0] SSTAT3[0x0] PERRDIAG[0x0] SIMODE1[0xac]:(ENSCSIPERR|ENBUSFREE|ENSCSIRST|ENSELTIMO)
LQISTAT0[0x0] LQISTAT1[0x0] LQISTAT2[0x0] LQOSTAT0[0x0]
LQOSTAT1[0x0] LQOSTAT2[0x0]

SCB Count = 16 CMDS_PENDING = 1 LASTSCB 0xc CURRSCB 0xc NEXTSCB 0x0
qinstart = 21 qinfifonext = 21
QINFIFO:
WAITING_TID_QUEUES:
Pending list:
Total 0
Kernel Free SCB list: 12 1 2 3 4 5 6 7 8 9 10 11 13 14 15 0
Sequencer Complete DMA-inprog list:
Sequencer Complete list:
Sequencer DMA-Up and Complete list:

ahd1: FIFO0 Free, LONGJMP == 0x80ff, SCB 0x0
SEQIMODE[0x3f]:(ENCFG4TCMD|ENCFG4ICMD|ENCFG4TSTAT|ENCFG4ISTAT|ENCFG4DATA|ENSAVEPTRS)
SEQINTSRC[0x0] DFCNTRL[0x0] DFSTATUS[0x89]:(FIFOEMP|HDONE|PRELOAD_AVAIL)
SG_CACHE_SHADOW[0x2]:(LAST_SEG) SG_STATE[0x0] DFFSXFRCTL[0x0]
SOFFCNT[0x0] MDFFSTAT[0x5]:(FIFOFREE|DLZERO) SHADDR = 0x00, SHCNT = 0x0
HADDR = 0x00, HCNT = 0x0 CCSGCTL[0x0]
ahd1: FIFO1 Active, LONGJMP == 0x8072, SCB 0xc
SEQIMODE[0x3f]:(ENCFG4TCMD|ENCFG4ICMD|ENCFG4TSTAT|ENCFG4ISTAT|ENCFG4DATA|ENSAVEPTRS)
SEQINTSRC[0x0] DFCNTRL[0x0] DFSTATUS[0x88]:(HDONE|PRELOAD_AVAIL)
SG_CACHE_SHADOW[0x2]:(LAST_SEG) SG_STATE[0x0] DFFSXFRCTL[0x0]
SOFFCNT[0x0] MDFFSTAT[0xc]:(DLZERO|SHVALID) SHADDR = 0x00, SHCNT = 0x6
HADDR = 0x00, HCNT = 0x0 CCSGCTL[0x10]:(SG_CACHE_AVAIL)
LQIN: 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
ahd1: LQISTATE = 0x0, LQOSTATE = 0x0, OPTIONMODE = 0x42
ahd1: OS_SPACE_CNT = 0x20 MAXCMDCNT = 0x0

SIMODE0[0xc]:(ENOVERRUN|ENIOERR)
CCSCBCTL[0x4]:(CCSCBDIR)
ahd1: REG0 == 0x7cba, SINDEX = 0x111, DINDEX = 0xe1
ahd1: SCBPTR == 0xc, SCB_NEXT == 0xff40, SCB_NEXT2 == 0xff9a
CDB 0 0 0 0 0 0
STACK: 0x0 0x0 0x0 0x0 0x0 0x0 0xa7 0xf1
<<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>>
(ahd1:A:3:1): Sending PPR bus_width 1, period 9, offset 1f, ppr_options 3f
(ahd1:A:3:1): Received PPR width 1, period 9, offset 1f,options 3f
	Filtered to width 1, period 9, offset 1f, options 3f
(probe0:ahd1:0:3:1): Unexpected busfree in Command phase, 1 SCBs aborted, PRGMCNT == 0x97
>>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<<
ahd1: Dumping Card State at program address 0x95 Mode 0x0
Card was paused
HS_MAILBOX[0x0] INTCTL[0x80]:(SWTMINTMASK) SEQINTSTAT[0x0]
SAVED_MODE[0x11] DFFSTAT[0x11]:(CURRFIFO_1|FIFO0FREE)
SCSISIGI[0x0]:(P_DATAOUT) SCSIPHASE[0x0] SCSIBUS[0x0]
LASTPHASE[0x80]:(P_COMMAND) SCSISEQ0[0x0] SCSISEQ1[0x12]:(ENAUTOATNP|ENRSELI)
SEQCTL0[0x10]:(FASTMODE) SEQINTCTL[0x80]:(INTVEC1DSL)
SEQ_FLAGS[0x40]:(NO_CDB_SENT) SEQ_FLAGS2[0x0] SSTAT0[0x0]
SSTAT1[0x8]:(BUSFREE) SSTAT2[0x0] SSTAT3[0x0] PERRDIAG[0x0]
SIMODE1[0xac]:(ENSCSIPERR|ENBUSFREE|ENSCSIRST|ENSELTIMO)
LQISTAT0[0x0] LQISTAT1[0x0] LQISTAT2[0x0] LQOSTAT0[0x0]
LQOSTAT1[0x0] LQOSTAT2[0x0]

SCB Count = 16 CMDS_PENDING = 1 LASTSCB 0xc CURRSCB 0xc NEXTSCB 0x0
qinstart = 22 qinfifonext = 22
QINFIFO:
WAITING_TID_QUEUES:
Pending list:
Total 0
Kernel Free SCB list: 12 1 2 3 4 5 6 7 8 9 10 11 13 14 15 0
Sequencer Complete DMA-inprog list:
Sequencer Complete list:
Sequencer DMA-Up and Complete list:

ahd1: FIFO0 Free, LONGJMP == 0x80ff, SCB 0x0
SEQIMODE[0x3f]:(ENCFG4TCMD|ENCFG4ICMD|ENCFG4TSTAT|ENCFG4ISTAT|ENCFG4DATA|ENSAVEPTRS)
SEQINTSRC[0x0] DFCNTRL[0x0] DFSTATUS[0x89]:(FIFOEMP|HDONE|PRELOAD_AVAIL)
SG_CACHE_SHADOW[0x2]:(LAST_SEG) SG_STATE[0x0] DFFSXFRCTL[0x0]
SOFFCNT[0x0] MDFFSTAT[0x5]:(FIFOFREE|DLZERO) SHADDR = 0x00, SHCNT = 0x0
HADDR = 0x00, HCNT = 0x0 CCSGCTL[0x0]
ahd1: FIFO1 Active, LONGJMP == 0x8072, SCB 0xc
SEQIMODE[0x3f]:(ENCFG4TCMD|ENCFG4ICMD|ENCFG4TSTAT|ENCFG4ISTAT|ENCFG4DATA|ENSAVEPTRS)
SEQINTSRC[0x0] DFCNTRL[0x0] DFSTATUS[0x88]:(HDONE|PRELOAD_AVAIL)
SG_CACHE_SHADOW[0x2]:(LAST_SEG) SG_STATE[0x0] DFFSXFRCTL[0x0]
SOFFCNT[0x0] MDFFSTAT[0xc]:(DLZERO|SHVALID) SHADDR = 0x00, SHCNT = 0x6
HADDR = 0x00, HCNT = 0x0 CCSGCTL[0x10]:(SG_CACHE_AVAIL)
LQIN: 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
ahd1: LQISTATE = 0x0, LQOSTATE = 0x0, OPTIONMODE = 0x42
ahd1: OS_SPACE_CNT = 0x20 MAXCMDCNT = 0x0

SIMODE0[0xc]:(ENOVERRUN|ENIOERR)
CCSCBCTL[0x4]:(CCSCBDIR)
ahd1: REG0 == 0x53b8, SINDEX = 0x100, DINDEX = 0xe1
ahd1: SCBPTR == 0x0, SCB_NEXT == 0xff00, SCB_NEXT2 == 0x0
CDB 0 0 0 0 0 0
STACK: 0x23 0xa2 0xf1 0x0 0x0 0x0 0x0 0x0
<<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>>
(ahd1:A:3:1): Sending PPR bus_width 1, period 9, offset 1f, ppr_options 3f
(ahd1:A:3:1): Received PPR width 1, period 9, offset 1f,options 3f
	Filtered to width 1, period 9, offset 1f, options 3f
(probe0:ahd1:0:3:1): Unexpected busfree in Command phase, 1 SCBs aborted, PRGMCNT == 0x96
--------------------------------------------------------------------------------
and So on.....


-- 
Steve Grandi
National Optical Astronomy Observatory/AURA Inc., Tucson AZ USA
Internet: grandi at noao.edu  Voice: +1 520 318-8228  FAX: +1 520 318-8360


More information about the freebsd-scsi mailing list