diff options
author | mjacob <mjacob@FreeBSD.org> | 2002-09-24 21:33:43 +0000 |
---|---|---|
committer | mjacob <mjacob@FreeBSD.org> | 2002-09-24 21:33:43 +0000 |
commit | d376bae4569c42cfa7e3b47c3eee6e5d9cf837e1 (patch) | |
tree | 683ca1d2f8289ce1dbb22310c3590c2f4b934160 /sys | |
parent | a8f31edbf622c1646feb81abdfb1432c9869ff78 (diff) | |
download | FreeBSD-src-d376bae4569c42cfa7e3b47c3eee6e5d9cf837e1.zip FreeBSD-src-d376bae4569c42cfa7e3b47c3eee6e5d9cf837e1.tar.gz |
Code cleanup: use mpt_prt instead of device_printf.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/mpt/mpt.c | 231 | ||||
-rw-r--r-- | sys/dev/mpt/mpt_debug.c | 12 | ||||
-rw-r--r-- | sys/dev/mpt/mpt_freebsd.c | 140 | ||||
-rw-r--r-- | sys/dev/mpt/mpt_freebsd.h | 1 | ||||
-rw-r--r-- | sys/dev/mpt/mpt_pci.c | 9 |
5 files changed, 171 insertions, 222 deletions
diff --git a/sys/dev/mpt/mpt.c b/sys/dev/mpt/mpt.c index 628a107..ed3e2a3 100644 --- a/sys/dev/mpt/mpt.c +++ b/sys/dev/mpt/mpt.c @@ -39,16 +39,16 @@ static int maxwait_ack = 0; static int maxwait_int = 0; static int maxwait_state = 0; -static __inline u_int32_t mpt_rd_db(mpt_softc_t *mpt); -static __inline u_int32_t mpt_rd_intr(mpt_softc_t *mpt); +static INLINE u_int32_t mpt_rd_db(mpt_softc_t *mpt); +static INLINE u_int32_t mpt_rd_intr(mpt_softc_t *mpt); -static __inline u_int32_t +static INLINE u_int32_t mpt_rd_db(mpt_softc_t *mpt) { return mpt_read(mpt, MPT_OFFSET_DOORBELL); } -static __inline u_int32_t +static INLINE u_int32_t mpt_rd_intr(mpt_softc_t *mpt) { return mpt_read(mpt, MPT_OFFSET_INTR_STATUS); @@ -91,7 +91,7 @@ mpt_check_doorbell(mpt_softc_t *mpt) { u_int32_t db = mpt_rd_db(mpt); if (MPT_STATE(db) != MPT_DB_STATE_RUNNING) { - device_printf(mpt->dev, "Device not running!\n"); + mpt_prt(mpt, "Device not running"); mpt_print_db(db); } } @@ -119,13 +119,12 @@ int mpt_soft_reset(mpt_softc_t *mpt) { if (mpt->verbose) { - device_printf(mpt->dev,"soft reset\n"); + mpt_prt(mpt, "soft reset"); } /* Have to use hard reset if we are not in Running state */ if (MPT_STATE(mpt_rd_db(mpt)) != MPT_DB_STATE_RUNNING) { - device_printf(mpt->dev, - "soft reset failed: device not running\n"); + mpt_prt(mpt, "soft reset failed: device not running"); return MPT_FAIL; } @@ -134,7 +133,7 @@ mpt_soft_reset(mpt_softc_t *mpt) * processing. So don't waste our time. */ if (MPT_DB_IS_IN_USE(mpt_rd_db(mpt))) { - device_printf(mpt->dev, "soft reset failed: doorbell wedged\n"); + mpt_prt(mpt, "soft reset failed: doorbell wedged"); return MPT_FAIL; } @@ -142,14 +141,13 @@ mpt_soft_reset(mpt_softc_t *mpt) mpt_write(mpt, MPT_OFFSET_DOORBELL, MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET << MPI_DOORBELL_FUNCTION_SHIFT); if (mpt_wait_db_ack(mpt) != MPT_OK) { - device_printf(mpt->dev, "soft reset failed: ack timeout\n"); + mpt_prt(mpt, "soft reset failed: ack timeout"); return MPT_FAIL; } /* Wait for the IOC to reload and come out of reset state */ if (mpt_wait_state(mpt, MPT_DB_STATE_READY) != MPT_OK) { - device_printf(mpt->dev, - "soft reset failed: device did not start running\n"); + mpt_prt(mpt, "soft reset failed: device did not start running"); return MPT_FAIL; } @@ -166,7 +164,7 @@ mpt_hard_reset(mpt_softc_t *mpt) * released by LSI. It's function is undocumented! */ if (mpt->verbose) { - device_printf(mpt->dev, "hard reset\n"); + mpt_prt(mpt, "hard reset"); } mpt_read(mpt, MPT_OFFSET_FUBAR); @@ -216,7 +214,7 @@ mpt_reset(mpt_softc_t *mpt) /* Wait for the IOC to reload and come out of reset state */ ret = mpt_wait_state(mpt, MPT_DB_STATE_READY); if (ret != MPT_OK) { - device_printf(mpt->dev, "failed to reset device\n"); + mpt_prt(mpt, "failed to reset device"); } } @@ -264,19 +262,19 @@ mpt_send_cmd(mpt_softc_t *mpt, request_t *req) if (mpt->verbose > 1) { u_int32_t *pReq; pReq = req->req_vbuf; - device_printf(mpt->dev, "Send Request %d (0x%lx):\n", - req->index, (long) req->req_pbuf); - device_printf(mpt->dev, "%08X %08X %08X %08X\n", + mpt_prt(mpt, "Send Request %d (0x%x):", + req->index, req->req_pbuf); + mpt_prt(mpt, "%08x %08x %08x %08x", pReq[0], pReq[1], pReq[2], pReq[3]); - device_printf(mpt->dev, "%08X %08X %08X %08X\n", + mpt_prt(mpt, "%08x %08x %08x %08x", pReq[4], pReq[5], pReq[6], pReq[7]); - device_printf(mpt->dev, "%08X %08X %08X %08X\n", + mpt_prt(mpt, "%08x %08x %08x %08x", pReq[8], pReq[9], pReq[10], pReq[11]); - device_printf(mpt->dev, "%08X %08X %08X %08X\n", + mpt_prt(mpt, "%08x %08x %08x %08x", pReq[12], pReq[13], pReq[14], pReq[15]); } bus_dmamap_sync(mpt->request_dmat, mpt->request_dmap, - BUS_DMASYNC_PREWRITE); + BUS_DMASYNC_PREWRITE); req->debug = REQ_ON_CHIP; mpt_write(mpt, MPT_OFFSET_REQUEST_Q, (u_int32_t) req->req_pbuf); } @@ -316,8 +314,7 @@ mpt_send_handshake_cmd(mpt_softc_t *mpt, size_t len, void *cmd) (MPT_STATE(data) != MPT_DB_STATE_RUNNING) && (MPT_STATE(data) != MPT_DB_STATE_FAULT)) || ( MPT_DB_IS_IN_USE(data) )) { - device_printf(mpt->dev, - "handshake aborted due to invalid doorbell state\n"); + mpt_prt(mpt, "handshake aborted due to invalid doorbell state"); mpt_print_db(data); return(EBUSY); } @@ -340,7 +337,7 @@ mpt_send_handshake_cmd(mpt_softc_t *mpt, size_t len, void *cmd) /* Wait for the chip to notice */ if (mpt_wait_db_int(mpt) != MPT_OK) { - device_printf(mpt->dev, "mpt_send_handshake_cmd timeout1!\n"); + mpt_prt(mpt, "mpt_send_handshake_cmd timeout1"); return ETIMEDOUT; } @@ -348,7 +345,7 @@ mpt_send_handshake_cmd(mpt_softc_t *mpt, size_t len, void *cmd) mpt_write(mpt, MPT_OFFSET_INTR_STATUS, 0); if (mpt_wait_db_ack(mpt) != MPT_OK) { - device_printf(mpt->dev, "mpt_send_handshake_cmd timeout2!\n"); + mpt_prt(mpt, "mpt_send_handshake_cmd timeout2"); return ETIMEDOUT; } @@ -356,8 +353,8 @@ mpt_send_handshake_cmd(mpt_softc_t *mpt, size_t len, void *cmd) for (i = 0; i < len; i++) { mpt_write(mpt, MPT_OFFSET_DOORBELL, *data32++); if (mpt_wait_db_ack(mpt) != MPT_OK) { - device_printf(mpt->dev, - "mpt_send_handshake_cmd timeout! index = %d\n", i); + mpt_prt(mpt, + "mpt_send_handshake_cmd timeout! index = %d", i); return ETIMEDOUT; } } @@ -380,7 +377,7 @@ mpt_recv_handshake_reply(mpt_softc_t *mpt, size_t reply_len, void *reply) /* Get first word */ if (mpt_wait_db_int(mpt) != MPT_OK) { - device_printf(mpt->dev, "mpt_recv_handshake_cmd timeout1!\n"); + mpt_prt(mpt, "mpt_recv_handshake_cmd timeout1"); return ETIMEDOUT; } *data16++ = mpt_read(mpt, MPT_OFFSET_DOORBELL) & MPT_DB_DATA_MASK; @@ -388,7 +385,7 @@ mpt_recv_handshake_reply(mpt_softc_t *mpt, size_t reply_len, void *reply) /* Get Second Word */ if (mpt_wait_db_int(mpt) != MPT_OK) { - device_printf(mpt->dev, "mpt_recv_handshake_cmd timeout2!\n"); + mpt_prt(mpt, "mpt_recv_handshake_cmd timeout2"); return ETIMEDOUT; } *data16++ = mpt_read(mpt, MPT_OFFSET_DOORBELL) & MPT_DB_DATA_MASK; @@ -396,10 +393,9 @@ mpt_recv_handshake_reply(mpt_softc_t *mpt, size_t reply_len, void *reply) /* With the second word, we can now look at the length */ if (mpt->verbose > 1 && ((reply_len >> 1) != hdr->MsgLength)) { - device_printf(mpt->dev, - "reply length does not match message length: " - "got 0x%02x, expected 0x%02lx\n", - hdr->MsgLength << 2, (long) (reply_len << 1)); + mpt_prt(mpt, "reply length does not match message length: " + "got 0x%02x, expected 0x%02x", + hdr->MsgLength << 2, reply_len << 1); } /* Get rest of the reply; but don't overflow the provided buffer */ @@ -409,8 +405,7 @@ mpt_recv_handshake_reply(mpt_softc_t *mpt, size_t reply_len, void *reply) u_int16_t datum; if (mpt_wait_db_int(mpt) != MPT_OK) { - device_printf(mpt->dev, - "mpt_recv_handshake_cmd timeout3!\n"); + mpt_prt(mpt, "mpt_recv_handshake_cmd timeout3"); return ETIMEDOUT; } datum = mpt_read(mpt, MPT_OFFSET_DOORBELL); @@ -423,7 +418,7 @@ mpt_recv_handshake_reply(mpt_softc_t *mpt, size_t reply_len, void *reply) /* One more wait & clear at the end */ if (mpt_wait_db_int(mpt) != MPT_OK) { - device_printf(mpt->dev, "mpt_recv_handshake_cmd timeout4!\n"); + mpt_prt(mpt, "mpt_recv_handshake_cmd timeout4"); return ETIMEDOUT; } mpt_write(mpt, MPT_OFFSET_INTR_STATUS, 0); @@ -542,16 +537,16 @@ mpt_read_cfg_header(mpt_softc_t *mpt, int PageType, int PageNumber, DELAY(500); mpt_intr(mpt); if (++count == 1000) { - device_printf(mpt->dev, "read_cfg_header timed out\n"); + mpt_prt(mpt, "read_cfg_header timed out"); return (-1); } } while (req->debug == REQ_ON_CHIP); reply = (MSG_CONFIG_REPLY *) MPT_REPLY_PTOV(mpt, req->sequence); if ((reply->IOCStatus & MPI_IOCSTATUS_MASK) != MPI_IOCSTATUS_SUCCESS) { - device_printf(mpt->dev, - "mpt_read_cfg_header: Config Info Status %x\n", + mpt_prt(mpt, "mpt_read_cfg_header: Config Info Status %x", reply->IOCStatus); + mpt_free_reply(mpt, (req->sequence << 1)); return (-1); } bcopy(&reply->Header, rslt, sizeof (fCONFIG_PAGE_HEADER)); @@ -575,11 +570,11 @@ mpt_read_cfg_page(mpt_softc_t *mpt, int PageAddress, fCONFIG_PAGE_HEADER *hdr) req = mpt_get_request(mpt); cfgp = req->req_vbuf; - amt = (cfgp->Header.PageLength * sizeof (uint32_t)); bzero(cfgp, MPT_REQUEST_AREA); cfgp->Action = MPI_CONFIG_ACTION_PAGE_READ_CURRENT; cfgp->Function = MPI_FUNCTION_CONFIG; cfgp->Header = *hdr; + amt = (cfgp->Header.PageLength * sizeof (u_int32_t)); cfgp->Header.PageType &= MPI_CONFIG_PAGETYPE_MASK; cfgp->PageAddress = PageAddress; se = (SGE_SIMPLE32 *) &cfgp->PageBufferSGE; @@ -598,16 +593,16 @@ mpt_read_cfg_page(mpt_softc_t *mpt, int PageAddress, fCONFIG_PAGE_HEADER *hdr) DELAY(500); mpt_intr(mpt); if (++count == 1000) { - device_printf(mpt->dev, "read_cfg_page timed out\n"); + mpt_prt(mpt, "read_cfg_page timed out"); return (-1); } } while (req->debug == REQ_ON_CHIP); reply = (MSG_CONFIG_REPLY *) MPT_REPLY_PTOV(mpt, req->sequence); if ((reply->IOCStatus & MPI_IOCSTATUS_MASK) != MPI_IOCSTATUS_SUCCESS) { - device_printf(mpt->dev, - "mpt_read_cfg_page: Config Info Status %x\n", + mpt_prt(mpt, "mpt_read_cfg_page: Config Info Status %x", reply->IOCStatus); + mpt_free_reply(mpt, (req->sequence << 1)); return (-1); } mpt_free_reply(mpt, (req->sequence << 1)); @@ -652,16 +647,16 @@ mpt_write_cfg_page(mpt_softc_t *mpt, int PageAddress, fCONFIG_PAGE_HEADER *hdr) hdr_attr = hdr->PageType & MPI_CONFIG_PAGEATTR_MASK; if (hdr_attr != MPI_CONFIG_PAGEATTR_CHANGEABLE && hdr_attr != MPI_CONFIG_PAGEATTR_PERSISTENT) { - device_printf(mpt->dev, "page type 0x%x not changeable\n", + mpt_prt(mpt, "page type 0x%x not changeable", hdr->PageType & MPI_CONFIG_PAGETYPE_MASK); return (-1); } hdr->PageType &= MPI_CONFIG_PAGETYPE_MASK; - amt = (cfgp->Header.PageLength * sizeof (uint32_t)); cfgp->Action = MPI_CONFIG_ACTION_PAGE_WRITE_CURRENT; cfgp->Function = MPI_FUNCTION_CONFIG; cfgp->Header = *hdr; + amt = (cfgp->Header.PageLength * sizeof (u_int32_t)); cfgp->PageAddress = PageAddress; se = (SGE_SIMPLE32 *) &cfgp->PageBufferSGE; @@ -690,6 +685,8 @@ mpt_write_cfg_page(mpt_softc_t *mpt, int PageAddress, fCONFIG_PAGE_HEADER *hdr) amt = sizeof (fCONFIG_PAGE_SCSI_DEVICE_1); } bcopy(hdr, ((caddr_t)req->req_vbuf)+CFG_DATA_OFF, amt); + /* Restore stripped out attributes */ + hdr->PageType |= hdr_attr; mpt_check_doorbell(mpt); mpt_send_cmd(mpt, req); @@ -699,25 +696,20 @@ mpt_write_cfg_page(mpt_softc_t *mpt, int PageAddress, fCONFIG_PAGE_HEADER *hdr) mpt_intr(mpt); if (++count == 1000) { hdr->PageType |= hdr_attr; - device_printf(mpt->dev, - "mpt_write_cfg_page timed out\n"); + mpt_prt(mpt, "mpt_write_cfg_page timed out"); return (-1); } } while (req->debug == REQ_ON_CHIP); reply = (MSG_CONFIG_REPLY *) MPT_REPLY_PTOV(mpt, req->sequence); if ((reply->IOCStatus & MPI_IOCSTATUS_MASK) != MPI_IOCSTATUS_SUCCESS) { - device_printf(mpt->dev, - "mpt_write_cfg_page: Config Info Status %x\n", + mpt_prt(mpt, "mpt_write_cfg_page: Config Info Status %x", reply->IOCStatus); + mpt_free_reply(mpt, (req->sequence << 1)); return (-1); } mpt_free_reply(mpt, (req->sequence << 1)); - /* - * Restore stripped out attributes - */ - hdr->PageType |= hdr_attr; mpt_free_request(mpt, req); return (0); } @@ -736,7 +728,7 @@ mpt_read_config_info_spi(mpt_softc_t *mpt) return (-1); } if (mpt->verbose > 1) { - device_printf(mpt->dev, "SPI Port Page 0 Header: %x %x %x %x\n", + mpt_prt(mpt, "SPI Port Page 0 Header: %x %x %x %x", mpt->mpt_port_page0.Header.PageVersion, mpt->mpt_port_page0.Header.PageLength, mpt->mpt_port_page0.Header.PageNumber, @@ -749,7 +741,7 @@ mpt_read_config_info_spi(mpt_softc_t *mpt) return (-1); } if (mpt->verbose > 1) { - device_printf(mpt->dev, "SPI Port Page 1 Header: %x %x %x %x\n", + mpt_prt(mpt, "SPI Port Page 1 Header: %x %x %x %x", mpt->mpt_port_page1.Header.PageVersion, mpt->mpt_port_page1.Header.PageLength, mpt->mpt_port_page1.Header.PageNumber, @@ -763,7 +755,7 @@ mpt_read_config_info_spi(mpt_softc_t *mpt) } if (mpt->verbose > 1) { - device_printf(mpt->dev, "SPI Port Page 2 Header: %x %x %x %x\n", + mpt_prt(mpt, "SPI Port Page 2 Header: %x %x %x %x", mpt->mpt_port_page1.Header.PageVersion, mpt->mpt_port_page1.Header.PageLength, mpt->mpt_port_page1.Header.PageNumber, @@ -777,8 +769,8 @@ mpt_read_config_info_spi(mpt_softc_t *mpt) return (-1); } if (mpt->verbose > 1) { - device_printf(mpt->dev, - "SPI Target %d Device Page 0 Header: %x %x %x %x\n", + mpt_prt(mpt, + "SPI Target %d Device Page 0 Header: %x %x %x %x", i, mpt->mpt_dev_page0[i].Header.PageVersion, mpt->mpt_dev_page0[i].Header.PageLength, mpt->mpt_dev_page0[i].Header.PageNumber, @@ -791,8 +783,8 @@ mpt_read_config_info_spi(mpt_softc_t *mpt) return (-1); } if (mpt->verbose > 1) { - device_printf(mpt->dev, - "SPI Target %d Device Page 1 Header: %x %x %x %x\n", + mpt_prt(mpt, + "SPI Target %d Device Page 1 Header: %x %x %x %x", i, mpt->mpt_dev_page1[i].Header.PageVersion, mpt->mpt_dev_page1[i].Header.PageLength, mpt->mpt_dev_page1[i].Header.PageNumber, @@ -808,35 +800,35 @@ mpt_read_config_info_spi(mpt_softc_t *mpt) rv = mpt_read_cfg_page(mpt, 0, &mpt->mpt_port_page0.Header); if (rv) { - device_printf(mpt->dev, "failed to read SPI Port Page 0\n"); + mpt_prt(mpt, "failed to read SPI Port Page 0"); } else if (mpt->verbose > 1) { - device_printf(mpt->dev, - "SPI Port Page 0: Capabilities %x PhysicalInterface %x\n", + mpt_prt(mpt, + "SPI Port Page 0: Capabilities %x PhysicalInterface %x", mpt->mpt_port_page0.Capabilities, mpt->mpt_port_page0.PhysicalInterface); } rv = mpt_read_cfg_page(mpt, 0, &mpt->mpt_port_page1.Header); if (rv) { - device_printf(mpt->dev, "failed to read SPI Port Page 1\n"); + mpt_prt(mpt, "failed to read SPI Port Page 1"); } else if (mpt->verbose > 1) { - device_printf(mpt->dev, - "SPI Port Page 1: Configuration %x OnBusTimerValue %x\n", + mpt_prt(mpt, + "SPI Port Page 1: Configuration %x OnBusTimerValue %x", mpt->mpt_port_page1.Configuration, mpt->mpt_port_page1.OnBusTimerValue); } rv = mpt_read_cfg_page(mpt, 0, &mpt->mpt_port_page2.Header); if (rv) { - device_printf(mpt->dev, "failed to read SPI Port Page 2\n"); + mpt_prt(mpt, "failed to read SPI Port Page 2"); } else if (mpt->verbose > 1) { - device_printf(mpt->dev, - "SPI Port Page 2: Flags %x Settings %x\n", + mpt_prt(mpt, + "SPI Port Page 2: Flags %x Settings %x", mpt->mpt_port_page2.PortFlags, mpt->mpt_port_page2.PortSettings); for (i = 0; i < 16; i++) { - device_printf(mpt->dev, - "SPI Port Page 2 Tgt %d: timo %x SF %x Flags %x\n", + mpt_prt(mpt, + "SPI Port Page 2 Tgt %d: timo %x SF %x Flags %x", i, mpt->mpt_port_page2.DeviceSettings[i].Timeout, mpt->mpt_port_page2.DeviceSettings[i].SyncFactor, mpt->mpt_port_page2.DeviceSettings[i].DeviceFlags); @@ -846,25 +838,23 @@ mpt_read_config_info_spi(mpt_softc_t *mpt) for (i = 0; i < 16; i++) { rv = mpt_read_cfg_page(mpt, i, &mpt->mpt_dev_page0[i].Header); if (rv) { - device_printf(mpt->dev, - "cannot read SPI Tgt %d Device Page 0\n", i); + mpt_prt(mpt, "cannot read SPI Tgt %d Device Page 0", i); continue; } if (mpt->verbose > 1) { - device_printf(mpt->dev, - "SPI Tgt %d Page 0: NParms %x Information %x\n", + mpt_prt(mpt, + "SPI Tgt %d Page 0: NParms %x Information %x", i, mpt->mpt_dev_page0[i].NegotiatedParameters, mpt->mpt_dev_page0[i].Information); } rv = mpt_read_cfg_page(mpt, i, &mpt->mpt_dev_page1[i].Header); if (rv) { - device_printf(mpt->dev, - "cannot read SPI Tgt %d Device Page 1\n", i); + mpt_prt(mpt, "cannot read SPI Tgt %d Device Page 1", i); continue; } if (mpt->verbose > 1) { - device_printf(mpt->dev, - "SPI Tgt %d Page 1: RParms %x Configuration %x\n", + mpt_prt(mpt, + "SPI Tgt %d Page 1: RParms %x Configuration %x", i, mpt->mpt_dev_page1[i].RequestedParameters, mpt->mpt_dev_page1[i].Configuration); } @@ -887,8 +877,8 @@ mpt_set_initial_config_spi(mpt_softc_t *mpt) if (mpt->mpt_port_page1.Configuration != pp1val) { fCONFIG_PAGE_SCSI_PORT_1 tmp; - device_printf(mpt->dev, - "SPI Port Page 1 Config value bad (%x)- should be %x\n", + mpt_prt(mpt, + "SPI Port Page 1 Config value bad (%x)- should be %x", mpt->mpt_port_page1.Configuration, pp1val); tmp = mpt->mpt_port_page1; tmp.Configuration = pp1val; @@ -899,8 +889,8 @@ mpt_set_initial_config_spi(mpt_softc_t *mpt) return (-1); } if (tmp.Configuration != pp1val) { - device_printf(mpt->dev, - "failed to reset SPI Port Page 1 Config value\n"); + mpt_prt(mpt, + "failed to reset SPI Port Page 1 Config value"); return (-1); } mpt->mpt_port_page1 = tmp; @@ -912,8 +902,8 @@ mpt_set_initial_config_spi(mpt_softc_t *mpt) tmp.RequestedParameters = 0; tmp.Configuration = 0; if (mpt->verbose > 1) { - device_printf(mpt->dev, - "Set Tgt %d SPI DevicePage 1 values to %x 0 %x\n", + mpt_prt(mpt, + "Set Tgt %d SPI DevicePage 1 values to %x 0 %x", i, tmp.RequestedParameters, tmp.Configuration); } if (mpt_write_cfg_page(mpt, i, &tmp.Header)) { @@ -924,41 +914,12 @@ mpt_set_initial_config_spi(mpt_softc_t *mpt) } mpt->mpt_dev_page1[i] = tmp; if (mpt->verbose > 1) { - device_printf(mpt->dev, - "SPI Tgt %d Page 1: RParm %x Configuration %x\n", i, + mpt_prt(mpt, + "SPI Tgt %d Page 1: RParm %x Configuration %x", i, mpt->mpt_dev_page1[i].RequestedParameters, mpt->mpt_dev_page1[i].Configuration); } } - - /* - * If the BIOS hasn't been enabled, the SCSI Port Page2 device - * parameter are apparently complete nonsense. I've had partially - * sensible Page2 settings on *one* bus, but nothing on another- - * it's ridiculous. - * - * For that matter, the Port Page 0 parameters are *also* nonsense, - * so the offset and period and currently connected physical interface - * is also nonsense. - * - * This makes it very difficult to try and figure out what maximum - * settings we could have. Therefore, we'll synthesize the maximums - * here. - */ - for (i = 0; i < 16; i++) { - mpt->mpt_port_page2.DeviceSettings[i].DeviceFlags = - MPI_SCSIPORTPAGE2_DEVICE_DISCONNECT_ENABLE | - MPI_SCSIPORTPAGE2_DEVICE_TAG_QUEUE_ENABLE; - } - mpt->mpt_port_page0.Capabilities = - MPI_SCSIPORTPAGE0_CAP_IU | - MPI_SCSIPORTPAGE0_CAP_DT | - MPI_SCSIPORTPAGE0_CAP_QAS | - MPI_SCSIPORTPAGE0_CAP_WIDE | - (31 << 16) | /* offset */ - (8 << 8); /* period */ - mpt->mpt_port_page0.PhysicalInterface = - MPI_SCSIPORTPAGE0_PHY_SIGNAL_LVD; return (0); } @@ -983,7 +944,7 @@ mpt_send_port_enable(mpt_softc_t *mpt, int port) mpt_check_doorbell(mpt); if (mpt->verbose > 1) { - device_printf(mpt->dev, "enabling port %d\n", port); + mpt_prt(mpt, "enabling port %d", port); } mpt_send_cmd(mpt, req); @@ -992,7 +953,7 @@ mpt_send_port_enable(mpt_softc_t *mpt, int port) DELAY(500); mpt_intr(mpt); if (++count == 100000) { - device_printf(mpt->dev, "port enable timed out\n"); + mpt_prt(mpt, "port enable timed out"); return (-1); } } while (req->debug == REQ_ON_CHIP); @@ -1023,8 +984,7 @@ mpt_send_event_request(mpt_softc_t *mpt, int onoff) mpt_check_doorbell(mpt); if (mpt->verbose > 1) { - device_printf(mpt->dev, "%sabling async events\n", - onoff? "en" : "dis"); + mpt_prt(mpt, "%sabling async events", onoff? "en" : "dis"); } mpt_send_cmd(mpt, req); @@ -1069,7 +1029,7 @@ mpt_init(mpt_softc_t *mpt, u_int32_t who) } if (mpt->verbose > 1) { - device_printf(mpt->dev, "doorbell req = %s\n", + mpt_prt(mpt, "doorbell req = %s", mpt_ioc_diag(mpt_read(mpt, MPT_OFFSET_DOORBELL))); } @@ -1105,12 +1065,12 @@ mpt_init(mpt_softc_t *mpt, u_int32_t who) } if (mpt_get_iocfacts(mpt, &facts) != MPT_OK) { - device_printf(mpt->dev, "mpt_get_iocfacts failed\n"); + mpt_prt(mpt, "mpt_get_iocfacts failed"); continue; } if (mpt->verbose > 1) { - device_printf(mpt->dev, + mpt_prt(mpt, "IOCFACTS: GlobalCredits=%d BlockSize=%u " "Request Frame Size %u\n", facts.GlobalCredits, facts.BlockSize, facts.RequestFrameSize); @@ -1119,12 +1079,12 @@ mpt_init(mpt_softc_t *mpt, u_int32_t who) mpt->request_frame_size = facts.RequestFrameSize; if (mpt_get_portfacts(mpt, &pfp) != MPT_OK) { - device_printf(mpt->dev, "mpt_get_portfacts failed\n"); + mpt_prt(mpt, "mpt_get_portfacts failed"); continue; } if (mpt->verbose > 1) { - device_printf(mpt->dev, + mpt_prt(mpt, "PORTFACTS: Type %x PFlags %x IID %d MaxDev %d\n", pfp.PortType, pfp.ProtocolFlags, pfp.PortSCSIID, pfp.MaxDevices); @@ -1132,12 +1092,12 @@ mpt_init(mpt_softc_t *mpt, u_int32_t who) if (pfp.PortType != MPI_PORTFACTS_PORTTYPE_SCSI && pfp.PortType != MPI_PORTFACTS_PORTTYPE_FC) { - device_printf(mpt->dev, "Unsupported Port Type (%x)\n", + mpt_prt(mpt, "Unsupported Port Type (%x)", pfp.PortType); return (ENXIO); } if (!(pfp.ProtocolFlags & MPI_PORTFACTS_PROTOCOL_INITIATOR)) { - device_printf(mpt->dev, "initiator role unsupported\n"); + mpt_prt(mpt, "initiator role unsupported"); return (ENXIO); } if (pfp.PortType == MPI_PORTFACTS_PORTTYPE_FC) { @@ -1148,21 +1108,20 @@ mpt_init(mpt_softc_t *mpt, u_int32_t who) mpt->mpt_ini_id = pfp.PortSCSIID; if (mpt_send_ioc_init(mpt, who) != MPT_OK) { - device_printf(mpt->dev, "mpt_send_ioc_init failed\n"); + mpt_prt(mpt, "mpt_send_ioc_init failed"); continue; } if (mpt->verbose > 1) { - device_printf(mpt->dev, "mpt_send_ioc_init ok\n"); + mpt_prt(mpt, "mpt_send_ioc_init ok"); } if (mpt_wait_state(mpt, MPT_DB_STATE_RUNNING) != MPT_OK) { - device_printf(mpt->dev, - "IOC failed to go to run state\n"); + mpt_prt(mpt, "IOC failed to go to run state"); continue; } if (mpt->verbose > 1) { - device_printf(mpt->dev, "IOC now at RUNSTATE\n"); + mpt_prt(mpt, "IOC now at RUNSTATE"); } /* @@ -1202,12 +1161,12 @@ mpt_init(mpt_softc_t *mpt, u_int32_t who) * Now enable the port */ if (mpt_send_port_enable(mpt, 0) != MPT_OK) { - device_printf(mpt->dev, "failed to enable port 0\n"); + mpt_prt(mpt, "failed to enable port 0"); continue; } if (mpt->verbose > 1) { - device_printf(mpt->dev, "enabled port 0\n"); + mpt_prt(mpt, "enabled port 0"); } /* Everything worked */ @@ -1215,12 +1174,12 @@ mpt_init(mpt_softc_t *mpt, u_int32_t who) } if (try >= MPT_MAX_TRYS) { - device_printf(mpt->dev, "failed to initialize IOC\n"); + mpt_prt(mpt, "failed to initialize IOC"); return (EIO); } if (mpt->verbose > 1) { - device_printf(mpt->dev, "enabling interrupts\n"); + mpt_prt(mpt, "enabling interrupts"); } mpt_enable_ints(mpt); diff --git a/sys/dev/mpt/mpt_debug.c b/sys/dev/mpt/mpt_debug.c index 8027295..7654fee 100644 --- a/sys/dev/mpt/mpt_debug.c +++ b/sys/dev/mpt/mpt_debug.c @@ -31,6 +31,7 @@ */ #include <dev/mpt/mpt_freebsd.h> +#include <machine/stdarg.h> /* for use by mpt_prt below */ struct Error_Map { int Error_Code; @@ -592,3 +593,14 @@ mpt_dump_sgl(SGE_IO_UNION *su) iCount -= 1; } while ((flags & MPI_SGE_FLAGS_END_OF_LIST) == 0 && iCount != 0); } + +void +mpt_prt(mpt_softc_t *mpt, const char *fmt, ...) +{ + va_list ap; + printf("%s: ", device_get_nameunit(mpt->dev)); + va_start(ap, fmt); + vprintf(fmt, ap); + va_end(ap); + printf("\n"); +} diff --git a/sys/dev/mpt/mpt_freebsd.c b/sys/dev/mpt/mpt_freebsd.c index f3d8968..c43a397 100644 --- a/sys/dev/mpt/mpt_freebsd.c +++ b/sys/dev/mpt/mpt_freebsd.c @@ -130,17 +130,17 @@ mpttimeout(void *arg) mpt->timeouts++; if (mpt_intr(mpt)) { if (req->sequence != oseq) { - device_printf(mpt->dev, "bullet missed in timeout\n"); + mpt_prt(mpt, "bullet missed in timeout"); MPT_UNLOCK(mpt); return; } - device_printf(mpt->dev, "bullet U-turned in timeout: got us\n"); + mpt_prt(mpt, "bullet U-turned in timeout: got us"); } - device_printf(mpt->dev, - "time out on request index = 0x%02x sequence = 0x%08x\n", + mpt_prt(mpt, + "time out on request index = 0x%02x sequence = 0x%08x", req->index, req->sequence); mpt_check_doorbell(mpt); - device_printf(mpt->dev, "Status %08X; Mask %08X; Doorbell %08X\n", + mpt_prt(mpt, "Status %08x; Mask %08x; Doorbell %08x", mpt_read(mpt, MPT_OFFSET_INTR_STATUS), mpt_read(mpt, MPT_OFFSET_INTR_MASK), mpt_read(mpt, MPT_OFFSET_DOORBELL) ); @@ -204,8 +204,7 @@ mpt_execute_req(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error) if (error != 0) { if (error != EFBIG) - device_printf(mpt->dev, "bus_dmamap_load returned %d\n", - error); + mpt_prt(mpt, "bus_dmamap_load returned %d", error); if (ccb->ccb_h.status == CAM_REQ_INPROG) { xpt_freeze_devq(ccb->ccb_h.path, 1); ccb->ccb_h.status = CAM_DEV_QFRZN; @@ -396,7 +395,7 @@ mpt_start(union ccb *ccb) mpt->outofbeer = 1; xpt_freeze_simq(mpt->sim, 1); if (mpt->verbose > 1) { - device_printf(mpt->dev, "FREEZEQ\n"); + mpt_prt(mpt, "FREEZEQ"); } } MPTLOCK_2_CAMLOCK(mpt); @@ -583,8 +582,8 @@ mpt_bus_reset(union ccb *ccb) error = mpt_send_handshake_cmd(mpt, sizeof (MSG_SCSI_TASK_MGMT), reset_req); if (error) { - device_printf(mpt->dev, - "mpt_bus_reset: mpt_send_handshake return %d\n", error); + mpt_prt(mpt, + "mpt_bus_reset: mpt_send_handshake return %d", error); return (CAM_REQ_CMP_ERR); } else { return (CAM_REQ_CMP); @@ -611,8 +610,7 @@ mpt_ctlop(mpt_softc_t *mpt, void *vmsg, u_int32_t reply) MSG_PORT_ENABLE_REPLY *msg = vmsg; int index = msg->MsgContext & ~0x80000000; if (mpt->verbose > 1) { - device_printf(mpt->dev, "enable port reply idx %d\n", - index); + mpt_prt(mpt, "enable port reply idx %d", index); } if (index >= 0 && index < MPT_MAX_REQUESTS(mpt)) { request_t *req = &mpt->request_pool[index]; @@ -630,8 +628,7 @@ mpt_ctlop(mpt_softc_t *mpt, void *vmsg, u_int32_t reply) mpt_free_reply(mpt, (reply << 1)); } } else { - device_printf(mpt->dev, "unknown mpt_ctlop: %x\n", - dmsg->Function); + mpt_prt(mpt, "unknown mpt_ctlop: %x", dmsg->Function); } } @@ -641,35 +638,31 @@ mpt_event_notify_reply(mpt_softc_t *mpt, MSG_EVENT_NOTIFY_REPLY *msg) switch(msg->Event) { case MPI_EVENT_LOG_DATA: /* Some error occured that LSI wants logged */ - device_printf(mpt->dev, - "\tEvtLogData: IOCLogInfo: 0x%08x\n", - msg->IOCLogInfo); - device_printf(mpt->dev, "\tEvtLogData: Event Data:"); + printf("\tEvtLogData: IOCLogInfo: 0x%08x\n", msg->IOCLogInfo); + printf("\tEvtLogData: Event Data:"); { int i; for (i = 0; i < msg->EventDataLength; i++) { - device_printf(mpt->dev, - " %08X", msg->Data[i]); + printf(" %08x", msg->Data[i]); } } - device_printf(mpt->dev, "\n"); + printf("\n"); break; case MPI_EVENT_UNIT_ATTENTION: - device_printf(mpt->dev, - "Bus: 0x%02x TargetID: 0x%02x\n", + mpt_prt(mpt, "Bus: 0x%02x TargetID: 0x%02x", (msg->Data[0] >> 8) & 0xff, msg->Data[0] & 0xff); break; case MPI_EVENT_IOC_BUS_RESET: /* We generated a bus reset */ - device_printf(mpt->dev, "IOC Bus Reset Port: %d\n", + mpt_prt(mpt, "IOC Bus Reset Port: %d", (msg->Data[0] >> 8) & 0xff); break; case MPI_EVENT_EXT_BUS_RESET: /* Someone else generated a bus reset */ - device_printf(mpt->dev, "Ext Bus Reset\n"); + mpt_prt(mpt, "Ext Bus Reset"); /* * These replies don't return EventData like the MPI * spec says they do @@ -682,13 +675,12 @@ mpt_event_notify_reply(mpt_softc_t *mpt, MSG_EVENT_NOTIFY_REPLY *msg) * In general this means a device has been added * to the loop. */ - device_printf(mpt->dev, - "Rescan Port: %d\n", (msg->Data[0] >> 8) & 0xff); + mpt_prt(mpt, "Rescan Port: %d", (msg->Data[0] >> 8) & 0xff); /* xpt_async(AC_FOUND_DEVICE, path, NULL); */ break; case MPI_EVENT_LINK_STATUS_CHANGE: - device_printf(mpt->dev, "Port %d: LinkState: %s\n", + mpt_prt(mpt, "Port %d: LinkState: %s", (msg->Data[1] >> 8) & 0xff, ((msg->Data[0] & 0xff) == 0)? "Failed" : "Active"); break; @@ -696,8 +688,8 @@ mpt_event_notify_reply(mpt_softc_t *mpt, MSG_EVENT_NOTIFY_REPLY *msg) case MPI_EVENT_LOOP_STATE_CHANGE: switch ((msg->Data[0] >> 16) & 0xff) { case 0x01: - device_printf(mpt->dev, - "Port 0x%x: FC LinkEvent: LIP(%02X,%02X) (Loop Initialization)\n", + mpt_prt(mpt, + "Port 0x%x: FC LinkEvent: LIP(%02x,%02x) (Loop Initialization)\n", (msg->Data[1] >> 8) & 0xff, (msg->Data[0] >> 8) & 0xff, (msg->Data[0] ) & 0xff); @@ -706,7 +698,7 @@ mpt_event_notify_reply(mpt_softc_t *mpt, MSG_EVENT_NOTIFY_REPLY *msg) if ((msg->Data[0] & 0xff) == 0xF7) { printf("Device needs AL_PA\n"); } else { - printf("Device %02X doesn't like FC performance\n", + printf("Device %02x doesn't like FC performance\n", msg->Data[0] & 0xFF); } break; @@ -714,33 +706,33 @@ mpt_event_notify_reply(mpt_softc_t *mpt, MSG_EVENT_NOTIFY_REPLY *msg) if ((msg->Data[0] & 0xff) == 0xF7) { printf("Device had loop failure at its receiver prior to acquiring AL_PA\n"); } else { - printf("Device %02X detected loop failure at its receiver\n", + printf("Device %02x detected loop failure at its receiver\n", msg->Data[0] & 0xFF); } break; default: - printf("Device %02X requests that device %02X reset itself\n", + printf("Device %02x requests that device %02x reset itself\n", msg->Data[0] & 0xFF, (msg->Data[0] >> 8) & 0xFF); break; } break; case 0x02: - device_printf(mpt->dev, "Port 0x%x: FC LinkEvent: LPE(%02X,%02X) (Loop Port Enable)\n", + mpt_prt(mpt, "Port 0x%x: FC LinkEvent: LPE(%02x,%02x) (Loop Port Enable)", (msg->Data[1] >> 8) & 0xff, /* Port */ (msg->Data[0] >> 8) & 0xff, /* Character 3 */ (msg->Data[0] ) & 0xff /* Character 4 */ ); break; case 0x03: - device_printf(mpt->dev, "Port 0x%x: FC LinkEvent: LPB(%02X,%02X) (Loop Port Bypass)\n", + mpt_prt(mpt, "Port 0x%x: FC LinkEvent: LPB(%02x,%02x) (Loop Port Bypass)", (msg->Data[1] >> 8) & 0xff, /* Port */ (msg->Data[0] >> 8) & 0xff, /* Character 3 */ (msg->Data[0] ) & 0xff /* Character 4 */ ); break; default: - device_printf(mpt->dev, "Port 0x%x: FC LinkEvent: Unknown FC event (%02X %02X %02X)\n", + mpt_prt(mpt, "Port 0x%x: FC LinkEvent: Unknown FC event (%02x %02x %02x)", (msg->Data[1] >> 8) & 0xff, /* Port */ (msg->Data[0] >> 16) & 0xff, /* Event */ (msg->Data[0] >> 8) & 0xff, /* Character 3 */ @@ -750,16 +742,15 @@ mpt_event_notify_reply(mpt_softc_t *mpt, MSG_EVENT_NOTIFY_REPLY *msg) break; case MPI_EVENT_LOGOUT: - device_printf(mpt->dev, "FC Logout Port: %d N_PortID: %02X\n", - (msg->Data[1] >> 8) & 0xff, - msg->Data[0]); + mpt_prt(mpt, "FC Logout Port: %d N_PortID: %02x", + (msg->Data[1] >> 8) & 0xff, msg->Data[0]); break; case MPI_EVENT_EVENT_CHANGE: /* This is just an acknowledgement of our mpt_send_event_request */ break; default: - device_printf(mpt->dev, "Unknown event %X\n", msg->Event); + mpt_prt(mpt, "Unknown event 0x%x\n", msg->Event); } if (msg->AckRequired) { MSG_EVENT_ACK *ackp; @@ -777,6 +768,7 @@ mpt_event_notify_reply(mpt_softc_t *mpt, MSG_EVENT_NOTIFY_REPLY *msg) mpt_send_cmd(mpt, req); } } + void mpt_done(mpt_softc_t *mpt, u_int32_t reply) { @@ -801,13 +793,13 @@ mpt_done(mpt_softc_t *mpt, u_int32_t reply) mpt_reply = MPT_REPLY_PTOV(mpt, reply); if (mpt->verbose > 1) { pReply = (unsigned *) mpt_reply; - device_printf(mpt->dev, "Address Reply (index %u)\n", + mpt_prt(mpt, "Address Reply (index %u)", mpt_reply->MsgContext & 0xffff); - device_printf(mpt->dev, "%08X %08X %08X %08X\n", + printf("%08x %08x %08x %08x\n", pReply[0], pReply[1], pReply[2], pReply[3]); - device_printf(mpt->dev, "%08X %08X %08X %08X\n", + printf("%08x %08x %08x %08x\n", pReply[4], pReply[5], pReply[6], pReply[7]); - device_printf(mpt->dev, "%08X %08X %08X %08X\n\n", + printf("%08x %08x %08x %08x\n\n", pReply[8], pReply[9], pReply[10], pReply[11]); } index = mpt_reply->MsgContext; @@ -822,15 +814,14 @@ mpt_done(mpt_softc_t *mpt, u_int32_t reply) if (mpt_reply != NULL) { mpt_ctlop(mpt, mpt_reply, reply); } else { - device_printf(mpt->dev, - "mpt_done: index 0x%x, NULL reply\n", index); + mpt_prt(mpt, "mpt_done: index 0x%x, NULL reply", index); } return; } /* Did we end up with a valid index into the table? */ if (index < 0 || index >= MPT_MAX_REQUESTS(mpt)) { - printf("mpt_done: invalid index (%x) in reply\n", index); + mpt_prt(mpt, "mpt_done: invalid index (%x) in reply", index); return; } @@ -846,7 +837,7 @@ mpt_done(mpt_softc_t *mpt, u_int32_t reply) mpt_req = req->req_vbuf; if (mpt_req->Function == MPI_FUNCTION_SCSI_TASK_MGMT) { if (mpt->verbose > 1) { - device_printf(mpt->dev, "mpt_done: TASK MGMT\n"); + mpt_prt(mpt, "mpt_done: TASK MGMT"); } goto done; } @@ -868,7 +859,7 @@ mpt_done(mpt_softc_t *mpt, u_int32_t reply) /* Can't have had a SCSI command with out a CAM control block */ if (ccb == NULL || (ccb->ccb_h.status & CAM_SIM_QUEUED) == 0) { - device_printf(mpt->dev, + mpt_prt(mpt, "mpt_done: corrupted ccb, index = 0x%02x seq = 0x%08x", req->index, req->sequence); printf(" request state %s\nmpt_request:\n", @@ -908,7 +899,7 @@ mpt_done(mpt_softc_t *mpt, u_int32_t reply) ccb->ccb_h.status |= CAM_RELEASE_SIMQ; mpt->outofbeer = 0; if (mpt->verbose > 1) { - device_printf(mpt->dev, "THAWQ\n"); + mpt_prt(mpt, "THAWQ"); } } MPTLOCK_2_CAMLOCK(mpt); @@ -937,10 +928,6 @@ mpt_done(mpt_softc_t *mpt, u_int32_t reply) ccb->ccb_h.status = CAM_DATA_RUN_ERR; break; } -#if 0 -device_printf(mpt->dev, "underrun, scsi status is %x\n", ccb->csio.scsi_status); - ccb->csio.scsi_status = SCSI_STATUS_QUEUE_FULL; -#endif /* Fall through */ case MPI_IOCSTATUS_SUCCESS: case MPI_IOCSTATUS_SCSI_RECOVERED_ERROR: @@ -1021,7 +1008,7 @@ device_printf(mpt->dev, "underrun, scsi status is %x\n", ccb->csio.scsi_status); ccb->ccb_h.status |= CAM_RELEASE_SIMQ; mpt->outofbeer = 0; if (mpt->verbose > 1) { - device_printf(mpt->dev, "THAWQ\n"); + mpt_prt(mpt, "THAWQ"); } } MPTLOCK_2_CAMLOCK(mpt); @@ -1054,7 +1041,7 @@ mpt_action(struct cam_sim *sim, union ccb *ccb) switch (ccb->ccb_h.func_code) { case XPT_RESET_BUS: if (mpt->verbose > 1) - device_printf(mpt->dev, "XPT_RESET_BUS\n"); + mpt_prt(mpt, "XPT_RESET_BUS"); CAMLOCK_2_MPTLOCK(mpt); error = mpt_bus_reset(ccb); switch (error) { @@ -1066,7 +1053,7 @@ mpt_action(struct cam_sim *sim, union ccb *ccb) mpt->outofbeer = 1; xpt_freeze_simq(sim, 1); if (mpt->verbose > 1) { - device_printf(mpt->dev, "FREEZEQ\n"); + mpt_prt(mpt, "FREEZEQ"); } } ccb->ccb_h.status = CAM_REQUEUE_REQ; @@ -1081,7 +1068,7 @@ mpt_action(struct cam_sim *sim, union ccb *ccb) ccb->ccb_h.status |= CAM_RELEASE_SIMQ; mpt->outofbeer = 0; if (mpt->verbose > 1) { - device_printf(mpt->dev, "THAWQ\n"); + mpt_prt(mpt, "THAWQ"); } } MPTLOCK_2_CAMLOCK(mpt); @@ -1245,8 +1232,8 @@ mpt_action(struct cam_sim *sim, union ccb *ccb) } MPTLOCK_2_CAMLOCK(mpt); if (mpt->verbose > 1) { - device_printf(mpt->dev, - "SET tgt %d flags %x period %x off %x\n", + mpt_prt(mpt, + "SET tgt %d flags %x period %x off %x", tgt, dval, period, offset); } } @@ -1308,12 +1295,12 @@ mpt_action(struct cam_sim *sim, union ccb *ccb) tmp = mpt->mpt_dev_page0[tgt]; CAMLOCK_2_MPTLOCK(mpt); if (mpt_read_cfg_page(mpt, tgt, &tmp.Header)) { - device_printf(mpt->dev, - "cannot get target %d DP0\n", tgt); + mpt_prt(mpt, + "cannot get target %d DP0", tgt); } else { if (mpt->verbose > 1) { - device_printf(mpt->dev, - "SPI Tgt %d Page 0: NParms %x Information %x\n", + mpt_prt(mpt, + "SPI Tgt %d Page 0: NParms %x Information %x", tgt, tmp.NegotiatedParameters, tmp.Information); @@ -1399,8 +1386,8 @@ mpt_action(struct cam_sim *sim, union ccb *ccb) } #endif if (mpt->verbose > 1) { - device_printf(mpt->dev, - "GET %s tgt %d flags %x period %x off %x\n", + mpt_prt(mpt, + "GET %s tgt %d flags %x period %x off %x", IS_CURRENT_SETTINGS(cts)? "ACTIVE" : "NVRAM", tgt, dval, pval, oval); } @@ -1492,8 +1479,8 @@ mpt_setwidth(mpt_softc_t *mpt, int tgt, int onoff) } mpt->mpt_dev_page1[tgt] = tmp; if (mpt->verbose > 1) { - device_printf(mpt->dev, - "SPI Target %d Page 1: RequestedParameters %x Config %x\n", + mpt_prt(mpt, + "SPI Target %d Page 1: RequestedParameters %x Config %x", tgt, mpt->mpt_dev_page1[tgt].RequestedParameters, mpt->mpt_dev_page1[tgt].Configuration); } @@ -1520,17 +1507,8 @@ mpt_setsync(mpt_softc_t *mpt, int tgt, int period, int offset) */ if (period && offset) { int factor, offset, np; - factor = - (mpt->mpt_port_page0.Capabilities >> 8) & 0xff; - offset = - (mpt->mpt_port_page0.Capabilities >> 16) & 0xff; -#if 0 - if ((mpt->mpt_port_page0.PhysicalInterface & - MPI_SCSIPORTPAGE0_PHY_SIGNAL_TYPE_MASK) != - MPI_SCSIPORTPAGE0_PHY_SIGNAL_LVD && factor < 0xa) { - factor = 0xa; - } -#endif + factor = (mpt->mpt_port_page0.Capabilities >> 8) & 0xff; + offset = (mpt->mpt_port_page0.Capabilities >> 16) & 0xff; np = 0; if (factor < 0x9) { np |= MPI_SCSIDEVPAGE1_RP_QAS; @@ -1550,8 +1528,8 @@ mpt_setsync(mpt_softc_t *mpt, int tgt, int period, int offset) } mpt->mpt_dev_page1[tgt] = tmp; if (mpt->verbose > 1) { - device_printf(mpt->dev, - "SPI Target %d Page 1: RParams %x Config %x\n", + mpt_prt(mpt, + "SPI Target %d Page 1: RParams %x Config %x", tgt, mpt->mpt_dev_page1[tgt].RequestedParameters, mpt->mpt_dev_page1[tgt].Configuration); } diff --git a/sys/dev/mpt/mpt_freebsd.h b/sys/dev/mpt/mpt_freebsd.h index 4afcfe8..d62066f 100644 --- a/sys/dev/mpt/mpt_freebsd.h +++ b/sys/dev/mpt/mpt_freebsd.h @@ -327,6 +327,7 @@ mpt_read(mpt_softc_t *mpt, int offset) void mpt_cam_attach(mpt_softc_t *); void mpt_cam_detach(mpt_softc_t *); void mpt_done(mpt_softc_t *, u_int32_t); +void mpt_prt(mpt_softc_t *, const char *, ...); void mpt_set_config_regs(mpt_softc_t *); #ifdef RELENG_4 diff --git a/sys/dev/mpt/mpt_pci.c b/sys/dev/mpt/mpt_pci.c index 499dc85..9a0a5ba 100644 --- a/sys/dev/mpt/mpt_pci.c +++ b/sys/dev/mpt/mpt_pci.c @@ -126,8 +126,7 @@ mpt_intr(void *dummy) mpt_print_reply(MPT_REPLY_PTOV(mpt, reply)); } else { /* Context reply ; all went well */ - device_printf(mpt->dev, - "context %u reply OK\n", reply); + mpt_prt(mpt, "context %u reply OK", reply); } } mpt_done(mpt, reply); @@ -235,7 +234,7 @@ mpt_link_peer(mpt_softc_t *mpt) mpt->mpt2 = mpt2; mpt2->mpt2 = mpt; if (mpt->verbose) { - device_printf(mpt->dev, "linking with peer (mpt%d)\n", + mpt_prt(mpt, "linking with peer (mpt%d)", device_get_unit(mpt2->dev)); } } @@ -418,7 +417,7 @@ mpt_detach(device_t dev) mpt_softc_t *mpt; mpt = (mpt_softc_t*) device_get_softc(dev); - device_printf(mpt->dev,"mpt_detach!\n"); + mpt_prt(mpt, "mpt_detach"); if (mpt) { mpt_disable_ints(mpt); @@ -671,7 +670,7 @@ mpt_set_config_regs(mpt_softc_t *mpt) #define MPT_CHECK(reg, offset, size) \ val = pci_read_config(mpt->dev, offset, size); \ if (mpt->pci_cfg.reg != val) { \ - device_printf(mpt->dev, \ + mpt_prt(mpt, \ "Restoring " #reg " to 0x%X from 0x%X\n", \ mpt->pci_cfg.reg, val); \ } |