Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Mar 2017 10:34:34 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r315677 - head/sys/dev/isp
Message-ID:  <201703211034.v2LAYYJT055510@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Tue Mar 21 10:34:34 2017
New Revision: 315677
URL: https://svnweb.freebsd.org/changeset/base/315677

Log:
  Clean/unify some macro usage.
  
  MFC after:	2 weeks

Modified:
  head/sys/dev/isp/isp_freebsd.c
  head/sys/dev/isp/isp_freebsd.h
  head/sys/dev/isp/isp_pci.c
  head/sys/dev/isp/isp_sbus.c

Modified: head/sys/dev/isp/isp_freebsd.c
==============================================================================
--- head/sys/dev/isp/isp_freebsd.c	Tue Mar 21 09:38:59 2017	(r315676)
+++ head/sys/dev/isp/isp_freebsd.c	Tue Mar 21 10:34:34 2017	(r315677)
@@ -112,14 +112,11 @@ isp_attach_chan(ispsoftc_t *isp, struct 
 	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 
 		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 cha
 	/* 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 cc
 	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 cc
 		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 cc
 			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 cc
 	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 cc
 		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 cc
 			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 cc
 		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 cc
 		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, 
 	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;

Modified: head/sys/dev/isp/isp_freebsd.h
==============================================================================
--- head/sys/dev/isp/isp_freebsd.h	Tue Mar 21 09:38:59 2017	(r315676)
+++ head/sys/dev/isp/isp_freebsd.h	Tue Mar 21 10:34:34 2017	(r315677)
@@ -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
 /*
  * 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__);				\

Modified: head/sys/dev/isp/isp_pci.c
==============================================================================
--- head/sys/dev/isp/isp_pci.c	Tue Mar 21 09:38:59 2017	(r315676)
+++ head/sys/dev/isp/isp_pci.c	Tue Mar 21 10:34:34 2017	(r315677)
@@ -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

Modified: head/sys/dev/isp/isp_sbus.c
==============================================================================
--- head/sys/dev/isp/isp_sbus.c	Tue Mar 21 09:38:59 2017	(r315676)
+++ head/sys/dev/isp/isp_sbus.c	Tue Mar 21 10:34:34 2017	(r315677)
@@ -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 {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201703211034.v2LAYYJT055510>