MFC overflow bug fixes and disable ISP_DAC_SUPPORTED for now
Approved by: re
This commit is contained in:
parent
f8325a658c
commit
fcfd54426b
@ -1688,6 +1688,12 @@ isp_fclink_test(struct ispsoftc *isp, int usdelay)
|
||||
return (-1);
|
||||
}
|
||||
fcp->isp_loopid = mbs.param[1];
|
||||
if (fcp->isp_loopid == 0xffff) { /* happens with 2k login f/w */
|
||||
fcp->isp_loopid = MAX_FC_TARG-1;
|
||||
} else if (fcp->isp_loopid >= MAX_FC_TARG) {
|
||||
isp_prt(isp, ISP_LOGWARN, "bad initiator loopid (0x%x)", fcp->isp_loopid);
|
||||
fcp->isp_loopid = MAX_FC_TARG-1;
|
||||
}
|
||||
if (IS_2200(isp) || IS_23XX(isp)) {
|
||||
int topo = (int) mbs.param[6];
|
||||
if (topo < TOPO_NL_PORT || topo > TOPO_PTP_STUB)
|
||||
@ -1697,10 +1703,9 @@ isp_fclink_test(struct ispsoftc *isp, int usdelay)
|
||||
fcp->isp_topo = TOPO_NL_PORT;
|
||||
}
|
||||
/*
|
||||
* XXX: We can get the AL_PA (low 8 bits) from here.
|
||||
* XXX: Where do we get the upper 16 bits?
|
||||
* Get the port id.
|
||||
*/
|
||||
fcp->isp_portid = mbs.param[2] & 0xff;
|
||||
fcp->isp_portid = mbs.param[2] | (mbs.param[3] << 16);
|
||||
|
||||
/*
|
||||
* Check to see if we're on a fabric by trying to see if we
|
||||
@ -2064,6 +2069,10 @@ isp_pdb_sync(struct ispsoftc *isp)
|
||||
*/
|
||||
if (mbs.param[1] != 0) {
|
||||
loopid = mbs.param[1];
|
||||
if (loopid >= MAX_FC_TARG) {
|
||||
loopid = MAX_FC_TARG;
|
||||
break;
|
||||
}
|
||||
isp_prt(isp, ISP_LOGINFO, retained,
|
||||
loopid, (int) (lp - fcp->portdb),
|
||||
lp->portid);
|
||||
|
@ -61,9 +61,8 @@
|
||||
#include "opt_ddb.h"
|
||||
#include "opt_isp.h"
|
||||
|
||||
#ifdef PAE
|
||||
#define ISP_DAC_SUPPORTED 1
|
||||
#endif
|
||||
/* disabled until done correctly */
|
||||
/* #define ISP_DAC_SUPPORTED 1 */
|
||||
|
||||
/*
|
||||
* Efficiency- get rid of SBus code && tests unless we need them.
|
||||
|
@ -46,12 +46,6 @@ __FBSDID("$FreeBSD$");
|
||||
#include <sys/rman.h>
|
||||
#include <sys/malloc.h>
|
||||
|
||||
#ifdef ISP_TARGET_MODE
|
||||
#ifdef PAE
|
||||
#error "PAE and ISP_TARGET_MODE not supported yet"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <dev/isp/isp_freebsd.h>
|
||||
|
||||
static u_int16_t isp_pci_rd_reg(struct ispsoftc *, int);
|
||||
@ -1129,8 +1123,8 @@ isp_pci_mbxdma(struct ispsoftc *isp)
|
||||
u_int32_t len;
|
||||
int i, error, ns;
|
||||
bus_size_t slim; /* segment size */
|
||||
bus_size_t llim; /* low limit of unavailable dma */
|
||||
bus_size_t hlim; /* low limit of unavailable dma */
|
||||
bus_addr_t llim; /* low limit of unavailable dma */
|
||||
bus_addr_t hlim; /* high limit of unavailable dma */
|
||||
struct imush im;
|
||||
|
||||
/*
|
||||
@ -1681,7 +1675,7 @@ tdma_mkfc(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error)
|
||||
|
||||
static void dma2(void *, bus_dma_segment_t *, int, int);
|
||||
|
||||
#ifdef PAE
|
||||
#if defined(ISP_DAC_SUPPORTED) && (ISP_64BIT_CORRECTLY_DONE)
|
||||
#define LOWD(x) ((uint32_t) x)
|
||||
#define HIWD(x) ((uint32_t) (x >> 32))
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user