Remove ISP2100_FABRIC (we're always fabric now). Fix usage of isp_lastmbxcmd
to report the mailbox command that times out. Fix isp_unswizzle_sns_rsp which for reasons *I* find obscurer just doesn't work correctly on sparc64 with words past 128. I have no idea why this *does* work on SparcLinux.
This commit is contained in:
parent
25bc760687
commit
4409fa23b2
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: isp_netbsd.h,v 1.35 2001/01/05 07:03:54 mjacob Exp $ */
|
/* $NetBSD: isp_netbsd.h,v 1.36 2001/02/12 23:32:11 mjacob Exp $ */
|
||||||
/*
|
/*
|
||||||
* This driver, which is contained in NetBSD in the files:
|
* This driver, which is contained in NetBSD in the files:
|
||||||
*
|
*
|
||||||
|
@ -116,7 +116,6 @@ struct isposinfo {
|
||||||
|
|
||||||
#define INLINE inline
|
#define INLINE inline
|
||||||
|
|
||||||
#define ISP2100_FABRIC 1
|
|
||||||
#define ISP2100_SCRLEN 0x400
|
#define ISP2100_SCRLEN 0x400
|
||||||
|
|
||||||
#define MEMZERO bzero
|
#define MEMZERO bzero
|
||||||
|
@ -394,7 +393,7 @@ isp_wait_complete(isp)
|
||||||
if (isp->isp_mboxbsy != 0) {
|
if (isp->isp_mboxbsy != 0) {
|
||||||
isp_prt(isp, ISP_LOGWARN,
|
isp_prt(isp, ISP_LOGWARN,
|
||||||
"Polled Mailbox Command (0x%x) Timeout",
|
"Polled Mailbox Command (0x%x) Timeout",
|
||||||
isp->isp_mboxtmp[0]);
|
isp->isp_lastmbxcmd);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
int rv = 0;
|
int rv = 0;
|
||||||
|
@ -416,7 +415,7 @@ isp_wait_complete(isp)
|
||||||
isp->isp_osinfo.mboxwaiting = 0;
|
isp->isp_osinfo.mboxwaiting = 0;
|
||||||
isp_prt(isp, ISP_LOGWARN,
|
isp_prt(isp, ISP_LOGWARN,
|
||||||
"Interrupting Mailbox Command (0x%x) Timeout",
|
"Interrupting Mailbox Command (0x%x) Timeout",
|
||||||
isp->isp_mboxtmp[0]);
|
isp->isp_lastmbxcmd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -584,6 +583,13 @@ static inline void
|
||||||
isp_unswizzle_sns_rsp(struct ispsoftc *isp, sns_scrsp_t *resp, int nwords)
|
isp_unswizzle_sns_rsp(struct ispsoftc *isp, sns_scrsp_t *resp, int nwords)
|
||||||
{
|
{
|
||||||
int index;
|
int index;
|
||||||
|
/*
|
||||||
|
* Don't even think about asking. This. Is. So. Lame.
|
||||||
|
*/
|
||||||
|
if (IS_2200(isp) &&
|
||||||
|
ISP_FW_REVX(isp->isp_fwrev) == ISP_FW_REV(2, 1, 26)) {
|
||||||
|
nwords = 128;
|
||||||
|
}
|
||||||
for (index = 0; index < nwords; index++) {
|
for (index = 0; index < nwords; index++) {
|
||||||
resp->snscb_data[index] = bswap16(resp->snscb_data[index]);
|
resp->snscb_data[index] = bswap16(resp->snscb_data[index]);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue