Clean/unify some macro usage.

MFC after:	2 weeks
This commit is contained in:
Alexander Motin 2017-03-21 10:34:34 +00:00
parent 331d00ba74
commit 13d9c92192
4 changed files with 51 additions and 62 deletions

View File

@ -112,14 +112,11 @@ isp_attach_chan(ispsoftc_t *isp, struct cam_devq *devq, int chan)
int i;
#endif
/*
* Construct our SIM entry.
*/
sim = cam_sim_alloc(isp_action, isp_poll, "isp", isp, device_get_unit(isp->isp_dev), &isp->isp_osinfo.lock, isp->isp_maxcmds, isp->isp_maxcmds, devq);
if (sim == NULL) {
sim = cam_sim_alloc(isp_action, isp_poll, "isp", isp,
device_get_unit(isp->isp_dev), &isp->isp_lock,
isp->isp_maxcmds, isp->isp_maxcmds, devq);
if (sim == NULL)
return (ENOMEM);
}
ISP_LOCK(isp);
if (xpt_bus_register(sim, isp->isp_dev, chan) != CAM_SUCCESS) {
@ -173,7 +170,7 @@ isp_attach_chan(ispsoftc_t *isp, struct cam_devq *devq, int chan)
fc->isp = isp;
fc->ready = 1;
callout_init_mtx(&fc->gdt, &isp->isp_osinfo.lock, 0);
callout_init_mtx(&fc->gdt, &isp->isp_lock, 0);
TASK_INIT(&fc->gtask, 1, isp_gdt_task, fc);
#ifdef ISP_TARGET_MODE
TAILQ_INIT(&fc->waitq);
@ -267,7 +264,7 @@ isp_detach_chan(ispsoftc_t *isp, int chan)
/* Wait for the channel's spawned threads to exit. */
wakeup(isp->isp_osinfo.pc.ptr);
while (*num_threads != 0)
mtx_sleep(isp, &isp->isp_osinfo.lock, PRIBIO, "isp_reap", 100);
mtx_sleep(isp, &isp->isp_lock, PRIBIO, "isp_reap", 100);
}
int
@ -291,7 +288,7 @@ isp_attach(ispsoftc_t *isp)
}
}
callout_init_mtx(&isp->isp_osinfo.tmo, &isp->isp_osinfo.lock, 0);
callout_init_mtx(&isp->isp_osinfo.tmo, &isp->isp_lock, 0);
isp_timer_count = hz >> 2;
callout_reset(&isp->isp_osinfo.tmo, isp_timer_count, isp_timer, isp);
@ -2805,8 +2802,7 @@ isp_kthread(void *arg)
int slp = 0, d;
int lb, lim;
mtx_lock(&isp->isp_osinfo.lock);
ISP_LOCK(isp);
while (isp->isp_osinfo.is_exiting == 0) {
isp_prt(isp, ISP_LOG_SANCFG|ISP_LOGDEBUG0,
"Chan %d Checking FC state", chan);
@ -2860,10 +2856,10 @@ isp_kthread(void *arg)
isp_prt(isp, ISP_LOG_SANCFG|ISP_LOGDEBUG0,
"Chan %d sleep for %d seconds", chan, slp);
msleep(fc, &isp->isp_osinfo.lock, PRIBIO, "ispf", slp * hz);
msleep(fc, &isp->isp_lock, PRIBIO, "ispf", slp * hz);
}
fc->num_threads -= 1;
mtx_unlock(&isp->isp_osinfo.lock);
ISP_UNLOCK(isp);
kthread_exit();
}
@ -2969,13 +2965,13 @@ isp_action(struct cam_sim *sim, union ccb *ccb)
CAM_DEBUG(ccb->ccb_h.path, CAM_DEBUG_TRACE, ("isp_action\n"));
isp = (ispsoftc_t *)cam_sim_softc(sim);
mtx_assert(&isp->isp_lock, MA_OWNED);
ISP_ASSERT_LOCKED(isp);
bus = cam_sim_bus(sim);
isp_prt(isp, ISP_LOGDEBUG2, "isp_action code %x", ccb->ccb_h.func_code);
ISP_PCMD(ccb) = NULL;
switch (ccb->ccb_h.func_code) {
case XPT_SCSI_IO: /* Execute the requested I/O operation */
bus = XS_CHANNEL(ccb);
/*
* Do a couple of preliminary checks...
*/
@ -3133,7 +3129,6 @@ isp_action(struct cam_sim *sim, union ccb *ccb)
break;
#endif
case XPT_RESET_DEV: /* BDR the specified SCSI device */
bus = cam_sim_bus(xpt_path_sim(ccb->ccb_h.path));
tgt = ccb->ccb_h.target_id;
tgt |= (bus << 16);
@ -3192,7 +3187,6 @@ isp_action(struct cam_sim *sim, union ccb *ccb)
break;
}
tgt = cts->ccb_h.target_id;
bus = cam_sim_bus(xpt_path_sim(cts->ccb_h.path));
if (IS_SCSI(isp)) {
struct ccb_trans_settings_scsi *scsi = &cts->proto_specific.scsi;
struct ccb_trans_settings_spi *spi = &cts->xport_specific.spi;
@ -3257,7 +3251,6 @@ isp_action(struct cam_sim *sim, union ccb *ccb)
case XPT_GET_TRAN_SETTINGS:
cts = &ccb->cts;
tgt = cts->ccb_h.target_id;
bus = cam_sim_bus(xpt_path_sim(cts->ccb_h.path));
if (IS_FC(isp)) {
fcparam *fcp = FCPARAM(isp, bus);
struct ccb_trans_settings_scsi *scsi = &cts->proto_specific.scsi;
@ -3346,7 +3339,6 @@ isp_action(struct cam_sim *sim, union ccb *ccb)
break;
case XPT_RESET_BUS: /* Reset the specified bus */
bus = cam_sim_bus(sim);
error = isp_control(isp, ISPCTL_RESET_BUS, bus);
if (error) {
ccb->ccb_h.status = CAM_REQ_CMP_ERR;
@ -3381,7 +3373,6 @@ isp_action(struct cam_sim *sim, union ccb *ccb)
break;
}
bus = cam_sim_bus(xpt_path_sim(kp->ccb_h.path));
fcp = FCPARAM(isp, bus);
if (kp->xport_specific.fc.valid & KNOB_VALID_ADDRESS) {
@ -3441,7 +3432,6 @@ isp_action(struct cam_sim *sim, union ccb *ccb)
if (IS_FC(isp)) {
fcparam *fcp;
bus = cam_sim_bus(xpt_path_sim(kp->ccb_h.path));
fcp = FCPARAM(isp, bus);
kp->xport_specific.fc.wwnn = fcp->isp_wwnn;
@ -3489,7 +3479,6 @@ isp_action(struct cam_sim *sim, union ccb *ccb)
else
cpi->maxio = (ISP_NSEG_MAX - 1) * PAGE_SIZE;
bus = cam_sim_bus(xpt_path_sim(cpi->ccb_h.path));
if (IS_FC(isp)) {
fcparam *fcp = FCPARAM(isp, bus);
@ -4059,7 +4048,7 @@ isp_mbox_wait_complete(ispsoftc_t *isp, mbreg_t *mbp)
if (isp->isp_osinfo.mbox_sleep_ok) {
isp->isp_osinfo.mbox_sleep_ok = 0;
isp->isp_osinfo.mbox_sleeping = 1;
msleep_sbt(&isp->isp_osinfo.mboxcmd_done, &isp->isp_osinfo.lock,
msleep_sbt(&isp->isp_osinfo.mboxcmd_done, &isp->isp_lock,
PRIBIO, "ispmbx_sleep", to * SBT_1US, 0, 0);
isp->isp_osinfo.mbox_sleep_ok = 1;
isp->isp_osinfo.mbox_sleeping = 0;

View File

@ -356,9 +356,9 @@ struct isposinfo {
/*
* Locking macros...
*/
#define ISP_LOCK(isp) mtx_lock(&(isp)->isp_osinfo.lock)
#define ISP_UNLOCK(isp) mtx_unlock(&(isp)->isp_osinfo.lock)
#define ISP_ASSERT_LOCKED(isp) mtx_assert(&(isp)->isp_osinfo.lock, MA_OWNED)
#define ISP_LOCK(isp) mtx_lock(&(isp)->isp_lock)
#define ISP_UNLOCK(isp) mtx_unlock(&(isp)->isp_lock)
#define ISP_ASSERT_LOCKED(isp) mtx_assert(&(isp)->isp_lock, MA_OWNED)
/*
* Required Macros/Defines
@ -370,7 +370,7 @@ struct isposinfo {
#define ISP_SNPRINTF snprintf
#define ISP_DELAY(x) DELAY(x)
#define ISP_SLEEP(isp, x) msleep_sbt(&(isp)->isp_osinfo.is_exiting, \
&(isp)->isp_osinfo.lock, 0, "isp_sleep", (x) * SBT_1US, 0, 0)
&(isp)->isp_lock, 0, "isp_sleep", (x) * SBT_1US, 0, 0)
#define ISP_MIN imin
@ -722,14 +722,6 @@ int isp_fcp_next_crn(ispsoftc_t *, uint8_t *, XS_T *);
/*
* Platform Version specific defines
*/
#define BUS_DMA_ROOTARG(x) bus_get_dma_tag(x)
#define isp_dma_tag_create(a, b, c, d, e, f, g, h, i, j, k, z) \
bus_dma_tag_create(a, b, c, d, e, f, g, h, i, j, k, \
busdma_lock_mutex, &isp->isp_osinfo.lock, z)
#define isp_sim_alloc(a, b, c, d, e, f, g, h) \
cam_sim_alloc(a, b, c, d, e, &(d)->isp_osinfo.lock, f, g, h)
#define ISP_PATH_PRT(i, l, p, ...) \
if ((l) == ISP_LOGALL || ((l)& (i)->isp_dblev) != 0) { \
xpt_print(p, __VA_ARGS__); \

View File

@ -684,7 +684,7 @@ isp_pci_attach(device_t dev)
isp->isp_nchan = 1;
if (sizeof (bus_addr_t) > 4)
isp->isp_osinfo.sixtyfourbit = 1;
mtx_init(&isp->isp_osinfo.lock, "isp", NULL, MTX_DEF);
mtx_init(&isp->isp_lock, "isp", NULL, MTX_DEF);
/*
* Get Generic Options
@ -981,7 +981,7 @@ bad:
free(pcs->pci_isp.isp_osinfo.pc.ptr, M_DEVBUF);
pcs->pci_isp.isp_osinfo.pc.ptr = NULL;
}
mtx_destroy(&isp->isp_osinfo.lock);
mtx_destroy(&isp->isp_lock);
return (ENXIO);
}
@ -1019,7 +1019,7 @@ isp_pci_detach(device_t dev)
free(pcs->pci_isp.isp_osinfo.pc.ptr, M_DEVBUF);
pcs->pci_isp.isp_osinfo.pc.ptr = NULL;
}
mtx_destroy(&isp->isp_osinfo.lock);
mtx_destroy(&isp->isp_lock);
return (0);
}
@ -1532,9 +1532,9 @@ isp_pci_mbxdma(ispsoftc_t *isp)
else
nsegs = ISP_NSEG_MAX;
if (isp_dma_tag_create(BUS_DMA_ROOTARG(ISP_PCD(isp)), 1,
if (bus_dma_tag_create(bus_get_dma_tag(ISP_PCD(isp)), 1,
slim, llim, hlim, NULL, NULL, BUS_SPACE_MAXSIZE, nsegs, slim, 0,
&isp->isp_osinfo.dmat)) {
busdma_lock_mutex, &isp->isp_lock, &isp->isp_osinfo.dmat)) {
ISP_LOCK(isp);
isp_prt(isp, ISP_LOGERR, "could not create master dma tag");
return (1);
@ -1547,9 +1547,10 @@ isp_pci_mbxdma(ispsoftc_t *isp)
len = ISP_QUEUE_SIZE(RQUEST_QUEUE_LEN(isp));
if (isp->isp_type >= ISP_HA_FC_2200)
len += (N_XCMDS * XCMD_SIZE);
if (isp_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, slim,
if (bus_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, slim,
BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
len, 1, len, 0, &isp->isp_osinfo.reqdmat)) {
len, 1, len, 0, busdma_lock_mutex, &isp->isp_lock,
&isp->isp_osinfo.reqdmat)) {
isp_prt(isp, ISP_LOGERR, "cannot create request DMA tag");
goto bad;
}
@ -1588,9 +1589,10 @@ isp_pci_mbxdma(ispsoftc_t *isp)
* Allocate and map the result queue.
*/
len = ISP_QUEUE_SIZE(RESULT_QUEUE_LEN(isp));
if (isp_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, slim,
if (bus_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, slim,
BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
len, 1, len, 0, &isp->isp_osinfo.respdmat)) {
len, 1, len, 0, busdma_lock_mutex, &isp->isp_lock,
&isp->isp_osinfo.respdmat)) {
isp_prt(isp, ISP_LOGERR, "cannot create response DMA tag");
goto bad;
}
@ -1617,9 +1619,10 @@ isp_pci_mbxdma(ispsoftc_t *isp)
*/
if (IS_24XX(isp)) {
len = ISP_QUEUE_SIZE(RESULT_QUEUE_LEN(isp));
if (isp_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, slim,
if (bus_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, slim,
BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
len, 1, len, 0, &isp->isp_osinfo.atiodmat)) {
len, 1, len, 0, busdma_lock_mutex, &isp->isp_lock,
&isp->isp_osinfo.atiodmat)) {
isp_prt(isp, ISP_LOGERR, "cannot create ATIO DMA tag");
goto bad;
}
@ -1643,9 +1646,10 @@ isp_pci_mbxdma(ispsoftc_t *isp)
#endif
if (IS_FC(isp)) {
if (isp_dma_tag_create(isp->isp_osinfo.dmat, 64, slim,
if (bus_dma_tag_create(isp->isp_osinfo.dmat, 64, slim,
BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL,
2*QENTRY_LEN, 1, 2*QENTRY_LEN, 0, &isp->isp_osinfo.iocbdmat)) {
2*QENTRY_LEN, 1, 2*QENTRY_LEN, 0, busdma_lock_mutex,
&isp->isp_lock, &isp->isp_osinfo.iocbdmat)) {
goto bad;
}
if (bus_dmamem_alloc(isp->isp_osinfo.iocbdmat,
@ -1658,9 +1662,10 @@ isp_pci_mbxdma(ispsoftc_t *isp)
goto bad;
isp->isp_iocb_dma = im.maddr;
if (isp_dma_tag_create(isp->isp_osinfo.dmat, 64, slim,
if (bus_dma_tag_create(isp->isp_osinfo.dmat, 64, slim,
BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL,
ISP_FC_SCRLEN, 1, ISP_FC_SCRLEN, 0, &isp->isp_osinfo.scdmat))
ISP_FC_SCRLEN, 1, ISP_FC_SCRLEN, 0, busdma_lock_mutex,
&isp->isp_lock, &isp->isp_osinfo.scdmat))
goto bad;
for (cmap = 0; cmap < isp->isp_nchan; cmap++) {
struct isp_fc *fc = ISP_FC_PC(isp, cmap);
@ -1715,7 +1720,7 @@ gotmaxcmds:
}
goto bad;
}
callout_init_mtx(&pcmd->wdog, &isp->isp_osinfo.lock, 0);
callout_init_mtx(&pcmd->wdog, &isp->isp_lock, 0);
if (i == isp->isp_maxcmds-1)
pcmd->next = NULL;
else

View File

@ -143,7 +143,7 @@ isp_sbus_attach(device_t dev)
sbs->sbus_dev = dev;
sbs->sbus_mdvec = mdvec;
isp->isp_dev = dev;
mtx_init(&isp->isp_osinfo.lock, "isp", NULL, MTX_DEF);
mtx_init(&isp->isp_lock, "isp", NULL, MTX_DEF);
role = 0;
if (resource_int_value(device_get_name(dev), device_get_unit(dev),
@ -310,7 +310,7 @@ bad:
(void) bus_release_resource(dev, SYS_RES_MEMORY, sbs->rgd,
sbs->regs);
}
mtx_destroy(&isp->isp_osinfo.lock);
mtx_destroy(&isp->isp_lock);
return (ENXIO);
}
@ -334,7 +334,7 @@ isp_sbus_detach(device_t dev)
}
(void) bus_release_resource(dev, SYS_RES_MEMORY, sbs->rgd, sbs->regs);
isp_sbus_mbxdmafree(isp);
mtx_destroy(&isp->isp_osinfo.lock);
mtx_destroy(&isp->isp_lock);
return (0);
}
@ -429,10 +429,11 @@ isp_sbus_mbxdma(ispsoftc_t *isp)
if (isp->isp_rquest != NULL)
goto gotmaxcmds;
if (isp_dma_tag_create(BUS_DMA_ROOTARG(ISP_SBD(isp)), 1,
if (bus_dma_tag_create(bus_get_dma_tag(ISP_SBD(isp)), 1,
BUS_SPACE_MAXADDR_24BIT+1, BUS_SPACE_MAXADDR_32BIT,
BUS_SPACE_MAXADDR_32BIT, NULL, NULL, BUS_SPACE_MAXSIZE_32BIT,
ISP_NSEG_MAX, BUS_SPACE_MAXADDR_24BIT, 0, &isp->isp_osinfo.dmat)) {
ISP_NSEG_MAX, BUS_SPACE_MAXADDR_24BIT, 0,
busdma_lock_mutex, &isp->isp_lock, &isp->isp_osinfo.dmat)) {
isp_prt(isp, ISP_LOGERR, "could not create master dma tag");
goto bad;
}
@ -441,9 +442,10 @@ isp_sbus_mbxdma(ispsoftc_t *isp)
* Allocate and map the request queue.
*/
len = ISP_QUEUE_SIZE(RQUEST_QUEUE_LEN(isp));
if (isp_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, BUS_SPACE_MAXADDR_24BIT+1,
if (bus_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, BUS_SPACE_MAXADDR_24BIT+1,
BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
len, 1, len, 0, &isp->isp_osinfo.reqdmat)) {
len, 1, len, 0, busdma_lock_mutex, &isp->isp_lock,
&isp->isp_osinfo.reqdmat)) {
isp_prt(isp, ISP_LOGERR, "cannot create request DMA tag");
goto bad;
}
@ -468,9 +470,10 @@ isp_sbus_mbxdma(ispsoftc_t *isp)
* Allocate and map the result queue.
*/
len = ISP_QUEUE_SIZE(RESULT_QUEUE_LEN(isp));
if (isp_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, BUS_SPACE_MAXADDR_24BIT+1,
if (bus_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, BUS_SPACE_MAXADDR_24BIT+1,
BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
len, 1, len, 0, &isp->isp_osinfo.respdmat)) {
len, 1, len, 0, busdma_lock_mutex, &isp->isp_lock,
&isp->isp_osinfo.respdmat)) {
isp_prt(isp, ISP_LOGERR, "cannot create response DMA tag");
goto bad;
}
@ -512,7 +515,7 @@ gotmaxcmds:
}
goto bad;
}
callout_init_mtx(&pcmd->wdog, &isp->isp_osinfo.lock, 0);
callout_init_mtx(&pcmd->wdog, &isp->isp_lock, 0);
if (i == isp->isp_maxcmds-1) {
pcmd->next = NULL;
} else {