- Staticize functions as appropriate and comment out unused ones.
- Sprinkle some const where appropriate. - Consistently use target_id_t for the target parameter of mpt_map_physdisk() and mpt_is_raid_volume(). - Fix some whitespace bugs. Approved by: re (kib)
This commit is contained in:
parent
76e54f993c
commit
87e255ac52
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=224493
@ -301,66 +301,75 @@ mpt_modevent(module_t mod, int type, void *data)
|
||||
return (error);
|
||||
}
|
||||
|
||||
int
|
||||
static int
|
||||
mpt_stdload(struct mpt_personality *pers)
|
||||
{
|
||||
|
||||
/* Load is always successful. */
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
static int
|
||||
mpt_stdprobe(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
/* Probe is always successful. */
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
static int
|
||||
mpt_stdattach(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
/* Attach is always successful. */
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
static int
|
||||
mpt_stdenable(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
/* Enable is always successful. */
|
||||
return (0);
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
mpt_stdready(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
static int
|
||||
mpt_stdevent(struct mpt_softc *mpt, request_t *req, MSG_EVENT_NOTIFY_REPLY *msg)
|
||||
{
|
||||
|
||||
mpt_lprt(mpt, MPT_PRT_DEBUG, "mpt_stdevent: 0x%x\n", msg->Event & 0xFF);
|
||||
/* Event was not for us. */
|
||||
return (0);
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
mpt_stdreset(struct mpt_softc *mpt, int type)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
mpt_stdshutdown(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
mpt_stddetach(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
int
|
||||
static int
|
||||
mpt_stdunload(struct mpt_personality *pers)
|
||||
{
|
||||
|
||||
/* Unload is always successful. */
|
||||
return (0);
|
||||
}
|
||||
@ -383,7 +392,6 @@ mpt_postattach(void *unused)
|
||||
}
|
||||
SYSINIT(mptdev, SI_SUB_CONFIGURE, SI_ORDER_MIDDLE, mpt_postattach, NULL);
|
||||
|
||||
|
||||
/******************************* Bus DMA Support ******************************/
|
||||
void
|
||||
mpt_map_rquest(void *arg, bus_dma_segment_t *segs, int nseg, int error)
|
||||
@ -478,6 +486,7 @@ static int
|
||||
mpt_default_reply_handler(struct mpt_softc *mpt, request_t *req,
|
||||
uint32_t reply_desc, MSG_DEFAULT_REPLY *reply_frame)
|
||||
{
|
||||
|
||||
mpt_prt(mpt,
|
||||
"Default Handler Called: req=%p:%u reply_descriptor=%x frame=%p\n",
|
||||
req, req->serno, reply_desc, reply_frame);
|
||||
@ -494,8 +503,8 @@ static int
|
||||
mpt_config_reply_handler(struct mpt_softc *mpt, request_t *req,
|
||||
uint32_t reply_desc, MSG_DEFAULT_REPLY *reply_frame)
|
||||
{
|
||||
if (req != NULL) {
|
||||
|
||||
if (req != NULL) {
|
||||
if (reply_frame != NULL) {
|
||||
MSG_CONFIG *cfgp;
|
||||
MSG_CONFIG_REPLY *reply;
|
||||
@ -528,6 +537,7 @@ static int
|
||||
mpt_handshake_reply_handler(struct mpt_softc *mpt, request_t *req,
|
||||
uint32_t reply_desc, MSG_DEFAULT_REPLY *reply_frame)
|
||||
{
|
||||
|
||||
/* Nothing to be done. */
|
||||
return (TRUE);
|
||||
}
|
||||
@ -650,6 +660,7 @@ static int
|
||||
mpt_core_event(struct mpt_softc *mpt, request_t *req,
|
||||
MSG_EVENT_NOTIFY_REPLY *msg)
|
||||
{
|
||||
|
||||
mpt_lprt(mpt, MPT_PRT_DEBUG, "mpt_core_event: 0x%x\n",
|
||||
msg->Event & 0xFF);
|
||||
switch(msg->Event & 0xFF) {
|
||||
@ -870,6 +881,7 @@ mpt_complete_request_chain(struct mpt_softc *mpt, struct req_queue *chain,
|
||||
void
|
||||
mpt_dump_reply_frame(struct mpt_softc *mpt, MSG_DEFAULT_REPLY *reply_frame)
|
||||
{
|
||||
|
||||
mpt_prt(mpt, "Address Reply:\n");
|
||||
mpt_print_reply(reply_frame);
|
||||
}
|
||||
@ -881,12 +893,14 @@ static __inline uint32_t mpt_rd_intr(struct mpt_softc *mpt);
|
||||
static __inline uint32_t
|
||||
mpt_rd_db(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
return mpt_read(mpt, MPT_OFFSET_DOORBELL);
|
||||
}
|
||||
|
||||
static __inline uint32_t
|
||||
mpt_rd_intr(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
return mpt_read(mpt, MPT_OFFSET_INTR_STATUS);
|
||||
}
|
||||
|
||||
@ -895,6 +909,7 @@ static int
|
||||
mpt_wait_db_ack(struct mpt_softc *mpt)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i=0; i < MPT_MAX_WAIT; i++) {
|
||||
if (!MPT_DB_IS_BUSY(mpt_rd_intr(mpt))) {
|
||||
maxwait_ack = i > maxwait_ack ? i : maxwait_ack;
|
||||
@ -910,6 +925,7 @@ static int
|
||||
mpt_wait_db_int(struct mpt_softc *mpt)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < MPT_MAX_WAIT; i++) {
|
||||
if (MPT_DB_INTR(mpt_rd_intr(mpt))) {
|
||||
maxwait_int = i > maxwait_int ? i : maxwait_int;
|
||||
@ -925,6 +941,7 @@ void
|
||||
mpt_check_doorbell(struct mpt_softc *mpt)
|
||||
{
|
||||
uint32_t db = mpt_rd_db(mpt);
|
||||
|
||||
if (MPT_STATE(db) != MPT_DB_STATE_RUNNING) {
|
||||
mpt_prt(mpt, "Device not running\n");
|
||||
mpt_print_db(db);
|
||||
@ -956,6 +973,7 @@ static int mpt_download_fw(struct mpt_softc *mpt);
|
||||
static int
|
||||
mpt_soft_reset(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
mpt_lprt(mpt, MPT_PRT_DEBUG, "soft reset\n");
|
||||
|
||||
/* Have to use hard reset if we are not in Running state */
|
||||
@ -1019,6 +1037,7 @@ mpt_enable_diag_mode(struct mpt_softc *mpt)
|
||||
static void
|
||||
mpt_disable_diag_mode(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
mpt_write(mpt, MPT_OFFSET_SEQUENCE, 0xFFFFFFFF);
|
||||
}
|
||||
|
||||
@ -1094,6 +1113,7 @@ mpt_hard_reset(struct mpt_softc *mpt)
|
||||
static void
|
||||
mpt_core_ioc_reset(struct mpt_softc *mpt, int type)
|
||||
{
|
||||
|
||||
/*
|
||||
* Complete all pending requests with a status
|
||||
* appropriate for an IOC reset.
|
||||
@ -1102,7 +1122,6 @@ mpt_core_ioc_reset(struct mpt_softc *mpt, int type)
|
||||
MPI_IOCSTATUS_INVALID_STATE);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Reset the IOC when needed. Try software command first then if needed
|
||||
* poke at the magic diagnostic reset. Note that a hard reset resets
|
||||
@ -1263,6 +1282,7 @@ mpt_get_request(struct mpt_softc *mpt, int sleep_ok)
|
||||
void
|
||||
mpt_send_cmd(struct mpt_softc *mpt, request_t *req)
|
||||
{
|
||||
|
||||
if (mpt->verbose > MPT_PRT_DEBUG2) {
|
||||
mpt_dump_request(mpt, req);
|
||||
}
|
||||
@ -2110,6 +2130,7 @@ mpt_send_event_request(struct mpt_softc *mpt, int onoff)
|
||||
void
|
||||
mpt_enable_ints(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
/* Unmask every thing except door bell int */
|
||||
mpt_write(mpt, MPT_OFFSET_INTR_MASK, MPT_INTR_DB_MASK);
|
||||
}
|
||||
@ -2120,6 +2141,7 @@ mpt_enable_ints(struct mpt_softc *mpt)
|
||||
void
|
||||
mpt_disable_ints(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
/* Mask all interrupts */
|
||||
mpt_write(mpt, MPT_OFFSET_INTR_MASK,
|
||||
MPT_INTR_REPLY_MASK | MPT_INTR_DB_MASK);
|
||||
@ -2219,7 +2241,7 @@ mpt_detach(struct mpt_softc *mpt)
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
static int
|
||||
mpt_core_load(struct mpt_personality *pers)
|
||||
{
|
||||
int i;
|
||||
@ -2245,7 +2267,7 @@ mpt_core_load(struct mpt_personality *pers)
|
||||
* Initialize per-instance driver data and perform
|
||||
* initial controller configuration.
|
||||
*/
|
||||
int
|
||||
static int
|
||||
mpt_core_attach(struct mpt_softc *mpt)
|
||||
{
|
||||
int val, error;
|
||||
@ -2276,9 +2298,10 @@ mpt_core_attach(struct mpt_softc *mpt)
|
||||
return (error);
|
||||
}
|
||||
|
||||
int
|
||||
static int
|
||||
mpt_core_enable(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
/*
|
||||
* We enter with the IOC enabled, but async events
|
||||
* not enabled, ports not enabled and interrupts
|
||||
@ -2326,13 +2349,14 @@ mpt_core_enable(struct mpt_softc *mpt)
|
||||
return (0);
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
mpt_core_shutdown(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
mpt_disable_ints(mpt);
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
mpt_core_detach(struct mpt_softc *mpt)
|
||||
{
|
||||
int val;
|
||||
@ -2351,9 +2375,10 @@ mpt_core_detach(struct mpt_softc *mpt)
|
||||
mpt_dma_buf_free(mpt);
|
||||
}
|
||||
|
||||
int
|
||||
static int
|
||||
mpt_core_unload(struct mpt_personality *pers)
|
||||
{
|
||||
|
||||
/* Unload is always successful. */
|
||||
return (0);
|
||||
}
|
||||
@ -2575,6 +2600,7 @@ static void
|
||||
mpt_dma_buf_free(struct mpt_softc *mpt)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (mpt->request_dmat == 0) {
|
||||
mpt_lprt(mpt, MPT_PRT_DEBUG, "already released dma memory\n");
|
||||
return;
|
||||
|
@ -1075,16 +1075,6 @@ mpt_complete_request_chain(struct mpt_softc *, struct req_queue *, u_int);
|
||||
int mpt_reset(struct mpt_softc *, int /*reinit*/);
|
||||
|
||||
/****************************** Debugging ************************************/
|
||||
typedef struct mpt_decode_entry {
|
||||
char *name;
|
||||
u_int value;
|
||||
u_int mask;
|
||||
} mpt_decode_entry_t;
|
||||
|
||||
int mpt_decode_value(mpt_decode_entry_t *table, u_int num_entries,
|
||||
const char *name, u_int value, u_int *cur_column,
|
||||
u_int wrap_point);
|
||||
|
||||
void mpt_dump_data(struct mpt_softc *, const char *, void *, int);
|
||||
void mpt_dump_request(struct mpt_softc *, request_t *);
|
||||
|
||||
@ -1110,17 +1100,21 @@ do { \
|
||||
mpt_prt(mpt, __VA_ARGS__); \
|
||||
} while (0)
|
||||
|
||||
#if 0
|
||||
#define mpt_lprtc(mpt, level, ...) \
|
||||
do { \
|
||||
if (level <= (mpt)->verbose) \
|
||||
mpt_prtc(mpt, __VA_ARGS__); \
|
||||
} while (0)
|
||||
#endif
|
||||
#else
|
||||
void mpt_lprt(struct mpt_softc *, int, const char *, ...)
|
||||
__printflike(3, 4);
|
||||
#if 0
|
||||
void mpt_lprtc(struct mpt_softc *, int, const char *, ...)
|
||||
__printflike(3, 4);
|
||||
#endif
|
||||
#endif
|
||||
void mpt_prt(struct mpt_softc *, const char *, ...)
|
||||
__printflike(2, 3);
|
||||
void mpt_prtc(struct mpt_softc *, const char *, ...)
|
||||
@ -1277,7 +1271,6 @@ void mpt_check_doorbell(struct mpt_softc *mpt);
|
||||
void mpt_dump_reply_frame(struct mpt_softc *mpt,
|
||||
MSG_DEFAULT_REPLY *reply_frame);
|
||||
|
||||
void mpt_set_config_regs(struct mpt_softc *);
|
||||
int mpt_issue_cfg_req(struct mpt_softc */*mpt*/, request_t */*req*/,
|
||||
cfgparms_t *params,
|
||||
bus_addr_t /*addr*/, bus_size_t/*len*/,
|
||||
@ -1331,6 +1324,5 @@ char *mpt_ioc_diag(uint32_t diag);
|
||||
void mpt_req_state(mpt_req_state_t state);
|
||||
void mpt_print_config_request(void *vmsg);
|
||||
void mpt_print_request(void *vmsg);
|
||||
void mpt_print_scsi_io_request(MSG_SCSI_IO_REQUEST *msg);
|
||||
void mpt_dump_sgl(SGE_IO_UNION *se, int offset);
|
||||
#endif /* _MPT_H_ */
|
||||
|
@ -193,7 +193,7 @@ MODULE_DEPEND(mpt_cam, cam, 1, 1, 1);
|
||||
int mpt_enable_sata_wc = -1;
|
||||
TUNABLE_INT("hw.mpt.enable_sata_wc", &mpt_enable_sata_wc);
|
||||
|
||||
int
|
||||
static int
|
||||
mpt_cam_probe(struct mpt_softc *mpt)
|
||||
{
|
||||
int role;
|
||||
@ -215,7 +215,7 @@ mpt_cam_probe(struct mpt_softc *mpt)
|
||||
return (ENODEV);
|
||||
}
|
||||
|
||||
int
|
||||
static int
|
||||
mpt_cam_attach(struct mpt_softc *mpt)
|
||||
{
|
||||
struct cam_devq *devq;
|
||||
@ -509,7 +509,6 @@ mpt_read_config_info_fc(struct mpt_softc *mpt)
|
||||
static int
|
||||
mpt_set_initial_config_fc(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
CONFIG_PAGE_FC_PORT_1 fc;
|
||||
U32 fl;
|
||||
int r, doit = 0;
|
||||
@ -881,8 +880,8 @@ static int
|
||||
mpt_sata_pass_reply_handler(struct mpt_softc *mpt, request_t *req,
|
||||
uint32_t reply_desc, MSG_DEFAULT_REPLY *reply_frame)
|
||||
{
|
||||
if (req != NULL) {
|
||||
|
||||
if (req != NULL) {
|
||||
if (reply_frame != NULL) {
|
||||
req->IOCStatus = le16toh(reply_frame->IOCStatus);
|
||||
}
|
||||
@ -1114,7 +1113,7 @@ mpt_set_initial_config_spi(struct mpt_softc *mpt)
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
static int
|
||||
mpt_cam_enable(struct mpt_softc *mpt)
|
||||
{
|
||||
int error;
|
||||
@ -1151,9 +1150,10 @@ mpt_cam_enable(struct mpt_softc *mpt)
|
||||
return (error);
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
mpt_cam_ready(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
/*
|
||||
* If we're in target mode, hang out resources now
|
||||
* so we don't cause the world to hang talking to us.
|
||||
@ -1171,7 +1171,7 @@ mpt_cam_ready(struct mpt_softc *mpt)
|
||||
mpt->ready = 1;
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
mpt_cam_detach(struct mpt_softc *mpt)
|
||||
{
|
||||
mpt_handler_t handler;
|
||||
@ -1842,8 +1842,6 @@ mpt_execute_req(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error)
|
||||
memset(se, 0,sizeof (*se));
|
||||
se->Address = htole32(dm_segs->ds_addr);
|
||||
|
||||
|
||||
|
||||
MPI_pSGE_SET_LENGTH(se, dm_segs->ds_len);
|
||||
tf = flags;
|
||||
if (seg == first_lim - 1) {
|
||||
@ -1958,9 +1956,6 @@ mpt_execute_req(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error)
|
||||
memset(se, 0, sizeof (*se));
|
||||
se->Address = htole32(dm_segs->ds_addr);
|
||||
|
||||
|
||||
|
||||
|
||||
MPI_pSGE_SET_LENGTH(se, dm_segs->ds_len);
|
||||
tf = flags;
|
||||
if (seg == this_seg_lim - 1) {
|
||||
@ -3045,6 +3040,7 @@ mpt_fc_els_reply_handler(struct mpt_softc *mpt, request_t *req,
|
||||
static void
|
||||
mpt_cam_ioc_reset(struct mpt_softc *mpt, int type)
|
||||
{
|
||||
|
||||
/*
|
||||
* The pending list is already run down by
|
||||
* the generic handler. Perform the same
|
||||
@ -3974,6 +3970,7 @@ mpt_spawn_recovery_thread(struct mpt_softc *mpt)
|
||||
static void
|
||||
mpt_terminate_recovery_thread(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
if (mpt->recovery_thread == NULL) {
|
||||
return;
|
||||
}
|
||||
@ -4377,6 +4374,7 @@ mpt_add_target_commands(struct mpt_softc *mpt)
|
||||
static int
|
||||
mpt_enable_lun(struct mpt_softc *mpt, target_id_t tgt, lun_id_t lun)
|
||||
{
|
||||
|
||||
if (tgt == CAM_TARGET_WILDCARD && lun == CAM_LUN_WILDCARD) {
|
||||
mpt->twildcard = 1;
|
||||
} else if (lun >= MPT_MAX_LUNS) {
|
||||
@ -4402,6 +4400,7 @@ static int
|
||||
mpt_disable_lun(struct mpt_softc *mpt, target_id_t tgt, lun_id_t lun)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (tgt == CAM_TARGET_WILDCARD && lun == CAM_LUN_WILDCARD) {
|
||||
mpt->twildcard = 0;
|
||||
} else if (lun >= MPT_MAX_LUNS) {
|
||||
@ -5286,6 +5285,7 @@ mpt_tgt_dump_tgt_state(struct mpt_softc *mpt, request_t *req)
|
||||
static void
|
||||
mpt_tgt_dump_req_state(struct mpt_softc *mpt, request_t *req)
|
||||
{
|
||||
|
||||
mpt_prt(mpt, "req %p:%u index %u (%x) state %x\n", req, req->serno,
|
||||
req->index, req->index, req->state);
|
||||
mpt_tgt_dump_tgt_state(mpt, req);
|
||||
|
@ -285,6 +285,7 @@ mpt_scsi_state(int code)
|
||||
}
|
||||
return buf;
|
||||
}
|
||||
|
||||
static char *
|
||||
mpt_scsi_status(int code)
|
||||
{
|
||||
@ -298,10 +299,11 @@ mpt_scsi_status(int code)
|
||||
snprintf(buf, sizeof buf, "Unknown (0x%08x)", code);
|
||||
return buf;
|
||||
}
|
||||
static char *
|
||||
|
||||
static const char *
|
||||
mpt_who(int who_init)
|
||||
{
|
||||
char *who;
|
||||
const char *who;
|
||||
|
||||
switch (who_init) {
|
||||
case MPT_DB_INIT_NOONE: who = "No One"; break;
|
||||
@ -315,10 +317,10 @@ mpt_who(int who_init)
|
||||
return who;
|
||||
}
|
||||
|
||||
static char *
|
||||
static const char *
|
||||
mpt_state(u_int32_t mb)
|
||||
{
|
||||
char *text;
|
||||
const char *text;
|
||||
|
||||
switch (MPT_STATE(mb)) {
|
||||
case MPT_DB_STATE_RESET: text = "Reset"; break;
|
||||
@ -347,6 +349,7 @@ mpt_scsi_tm_type(int code)
|
||||
void
|
||||
mpt_print_db(u_int32_t mb)
|
||||
{
|
||||
|
||||
printf("mpt mailbox: (0x%x) State %s WhoInit %s\n",
|
||||
mb, mpt_state(mb), mpt_who(MPT_WHO(mb)));
|
||||
}
|
||||
@ -357,6 +360,7 @@ mpt_print_db(u_int32_t mb)
|
||||
static void
|
||||
mpt_print_reply_hdr(MSG_DEFAULT_REPLY *msg)
|
||||
{
|
||||
|
||||
printf("%s Reply @ %p\n", mpt_ioc_function(msg->Function), msg);
|
||||
printf("\tIOC Status %s\n", mpt_ioc_status(msg->IOCStatus));
|
||||
printf("\tIOCLogInfo 0x%08x\n", msg->IOCLogInfo);
|
||||
@ -368,6 +372,7 @@ mpt_print_reply_hdr(MSG_DEFAULT_REPLY *msg)
|
||||
static void
|
||||
mpt_print_init_reply(MSG_IOC_INIT_REPLY *msg)
|
||||
{
|
||||
|
||||
mpt_print_reply_hdr((MSG_DEFAULT_REPLY *)msg);
|
||||
printf("\tWhoInit %s\n", mpt_who(msg->WhoInit));
|
||||
printf("\tMaxDevices 0x%02x\n", msg->MaxDevices);
|
||||
@ -377,6 +382,7 @@ mpt_print_init_reply(MSG_IOC_INIT_REPLY *msg)
|
||||
static void
|
||||
mpt_print_ioc_facts(MSG_IOC_FACTS_REPLY *msg)
|
||||
{
|
||||
|
||||
mpt_print_reply_hdr((MSG_DEFAULT_REPLY *)msg);
|
||||
printf("\tIOCNumber %d\n", msg->IOCNumber);
|
||||
printf("\tMaxChainDepth %d\n", msg->MaxChainDepth);
|
||||
@ -402,6 +408,7 @@ mpt_print_ioc_facts(MSG_IOC_FACTS_REPLY *msg)
|
||||
static void
|
||||
mpt_print_enable_reply(MSG_PORT_ENABLE_REPLY *msg)
|
||||
{
|
||||
|
||||
mpt_print_reply_hdr((MSG_DEFAULT_REPLY *)msg);
|
||||
printf("\tPort: %d\n", msg->PortNumber);
|
||||
}
|
||||
@ -409,6 +416,7 @@ mpt_print_enable_reply(MSG_PORT_ENABLE_REPLY *msg)
|
||||
static void
|
||||
mpt_print_scsi_io_reply(MSG_SCSI_IO_REPLY *msg)
|
||||
{
|
||||
|
||||
mpt_print_reply_hdr((MSG_DEFAULT_REPLY *)msg);
|
||||
printf("\tBus: %d\n", msg->Bus);
|
||||
printf("\tTargetID %d\n", msg->TargetID);
|
||||
@ -420,11 +428,10 @@ mpt_print_scsi_io_reply(MSG_SCSI_IO_REPLY *msg)
|
||||
printf("\tResponseInfo 0x%08x\n", msg->ResponseInfo);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
mpt_print_event_notice(MSG_EVENT_NOTIFY_REPLY *msg)
|
||||
{
|
||||
|
||||
mpt_print_reply_hdr((MSG_DEFAULT_REPLY *)msg);
|
||||
printf("\tEvent: %s\n", mpt_ioc_event(msg->Event));
|
||||
printf("\tEventContext 0x%04x\n", msg->EventContext);
|
||||
@ -517,7 +524,7 @@ mpt_print_request_hdr(MSG_REQUEST_HEADER *req)
|
||||
printf("\tMsgContext 0x%08x\n", req->MsgContext);
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
mpt_print_scsi_io_request(MSG_SCSI_IO_REQUEST *orig_msg)
|
||||
{
|
||||
MSG_SCSI_IO_REQUEST local, *msg = &local;
|
||||
@ -575,6 +582,7 @@ mpt_print_scsi_io_request(MSG_SCSI_IO_REQUEST *orig_msg)
|
||||
static void
|
||||
mpt_print_scsi_tmf_request(MSG_SCSI_TASK_MGMT *msg)
|
||||
{
|
||||
|
||||
mpt_print_request_hdr((MSG_REQUEST_HEADER *)msg);
|
||||
printf("\tLun 0x%02x\n", msg->LUN[1]);
|
||||
printf("\tTaskType %s\n", mpt_scsi_tm_type(msg->TaskType));
|
||||
@ -585,6 +593,7 @@ mpt_print_scsi_tmf_request(MSG_SCSI_TASK_MGMT *msg)
|
||||
static void
|
||||
mpt_print_scsi_target_assist_request(PTR_MSG_TARGET_ASSIST_REQUEST msg)
|
||||
{
|
||||
|
||||
mpt_print_request_hdr((MSG_REQUEST_HEADER *)msg);
|
||||
printf("\tStatusCode 0x%02x\n", msg->StatusCode);
|
||||
printf("\tTargetAssist 0x%02x\n", msg->TargetAssistFlags);
|
||||
@ -600,6 +609,7 @@ static void
|
||||
mpt_print_scsi_target_status_send_request(MSG_TARGET_STATUS_SEND_REQUEST *msg)
|
||||
{
|
||||
SGE_IO_UNION x;
|
||||
|
||||
mpt_print_request_hdr((MSG_REQUEST_HEADER *)msg);
|
||||
printf("\tStatusCode 0x%02x\n", msg->StatusCode);
|
||||
printf("\tStatusFlags 0x%02x\n", msg->StatusFlags);
|
||||
@ -637,7 +647,14 @@ mpt_print_request(void *vreq)
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
#if 0
|
||||
typedef struct mpt_decode_entry {
|
||||
char *name;
|
||||
u_int value;
|
||||
u_int mask;
|
||||
} mpt_decode_entry_t;
|
||||
|
||||
static int
|
||||
mpt_decode_value(mpt_decode_entry_t *table, u_int num_entries,
|
||||
const char *name, u_int value, u_int *cur_column,
|
||||
u_int wrap_point)
|
||||
@ -689,7 +706,7 @@ mpt_decode_value(mpt_decode_entry_t *table, u_int num_entries,
|
||||
return (printed);
|
||||
}
|
||||
|
||||
static mpt_decode_entry_t req_state_parse_table[] = {
|
||||
static const mpt_decode_entry_t req_state_parse_table[] = {
|
||||
{ "REQ_FREE", 0x00, 0xff },
|
||||
{ "REQ_ALLOCATED", 0x01, 0x01 },
|
||||
{ "REQ_QUEUED", 0x02, 0x02 },
|
||||
@ -698,13 +715,15 @@ static mpt_decode_entry_t req_state_parse_table[] = {
|
||||
{ "REQ_NEED_WAKEUP", 0x10, 0x10 }
|
||||
};
|
||||
|
||||
void
|
||||
static void
|
||||
mpt_req_state(mpt_req_state_t state)
|
||||
{
|
||||
|
||||
mpt_decode_value(req_state_parse_table,
|
||||
NUM_ELEMENTS(req_state_parse_table),
|
||||
"REQ_STATE", state, NULL, 80);
|
||||
}
|
||||
#endif
|
||||
|
||||
#define LAST_SGE ( \
|
||||
MPI_SGE_FLAGS_END_OF_LIST | \
|
||||
@ -805,6 +824,7 @@ mpt_dump_data(struct mpt_softc *mpt, const char *msg, void *addr, int len)
|
||||
{
|
||||
int offset;
|
||||
uint8_t *cp = addr;
|
||||
|
||||
mpt_prt(mpt, "%s:", msg);
|
||||
for (offset = 0; offset < len; offset++) {
|
||||
if ((offset & 0xf) == 0) {
|
||||
@ -820,6 +840,7 @@ mpt_dump_request(struct mpt_softc *mpt, request_t *req)
|
||||
{
|
||||
uint32_t *pReq = req->req_vbuf;
|
||||
int o;
|
||||
|
||||
#if __FreeBSD_version >= 500000
|
||||
mpt_prt(mpt, "Send Request %d (%jx):",
|
||||
req->index, (uintmax_t) req->req_pbuf);
|
||||
@ -850,6 +871,7 @@ mpt_lprt(struct mpt_softc *mpt, int level, const char *fmt, ...)
|
||||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
void
|
||||
mpt_lprtc(struct mpt_softc *mpt, int level, const char *fmt, ...)
|
||||
{
|
||||
@ -861,6 +883,7 @@ mpt_lprtc(struct mpt_softc *mpt, int level, const char *fmt, ...)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
void
|
||||
mpt_prt(struct mpt_softc *mpt, const char *fmt, ...)
|
||||
|
@ -201,6 +201,9 @@ static int mpt_pci_shutdown(device_t);
|
||||
static int mpt_dma_mem_alloc(struct mpt_softc *mpt);
|
||||
static void mpt_dma_mem_free(struct mpt_softc *mpt);
|
||||
static void mpt_read_config_regs(struct mpt_softc *mpt);
|
||||
#if 0
|
||||
static void mpt_set_config_regs(struct mpt_softc *mpt);
|
||||
#endif
|
||||
static void mpt_pci_intr(void *);
|
||||
|
||||
static device_method_t mpt_methods[] = {
|
||||
@ -404,6 +407,7 @@ mpt_link_peer(struct mpt_softc *mpt)
|
||||
static void
|
||||
mpt_unlink_peer(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
if (mpt->mpt2) {
|
||||
mpt->mpt2->mpt2 = NULL;
|
||||
}
|
||||
@ -654,6 +658,7 @@ mpt_pci_attach(device_t dev)
|
||||
static void
|
||||
mpt_free_bus_resources(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
if (mpt->ih) {
|
||||
bus_teardown_intr(mpt->dev, mpt->pci_irq, mpt->ih);
|
||||
mpt->ih = NULL;
|
||||
@ -827,6 +832,7 @@ mpt_dma_mem_free(struct mpt_softc *mpt)
|
||||
static void
|
||||
mpt_read_config_regs(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
mpt->pci_cfg.Command = pci_read_config(mpt->dev, PCIR_COMMAND, 2);
|
||||
mpt->pci_cfg.LatencyTimer_LineSize =
|
||||
pci_read_config(mpt->dev, PCIR_CACHELNSZ, 2);
|
||||
@ -840,8 +846,9 @@ mpt_read_config_regs(struct mpt_softc *mpt)
|
||||
mpt->pci_cfg.PMCSR = pci_read_config(mpt->dev, 0x44, 4);
|
||||
}
|
||||
|
||||
#if 0
|
||||
/* Sets modifiable config registers */
|
||||
void
|
||||
static void
|
||||
mpt_set_config_regs(struct mpt_softc *mpt)
|
||||
{
|
||||
uint32_t val;
|
||||
@ -880,6 +887,7 @@ mpt_set_config_regs(struct mpt_softc *mpt)
|
||||
pci_write_config(mpt->dev, PCIR_INTLINE, mpt->pci_cfg.IntLine, 1);
|
||||
pci_write_config(mpt->dev, 0x44, mpt->pci_cfg.PMCSR, 4);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
mpt_pci_intr(void *arg)
|
||||
|
@ -81,7 +81,6 @@ struct mpt_raid_action_result
|
||||
|
||||
#define REQ_IOCSTATUS(req) ((req)->IOCStatus & MPI_IOCSTATUS_MASK)
|
||||
|
||||
|
||||
static mpt_probe_handler_t mpt_raid_probe;
|
||||
static mpt_attach_handler_t mpt_raid_attach;
|
||||
static mpt_enable_handler_t mpt_raid_enable;
|
||||
@ -125,9 +124,25 @@ static void mpt_adjust_queue_depth(struct mpt_softc *, struct mpt_raid_volume *,
|
||||
static void mpt_raid_sysctl_attach(struct mpt_softc *);
|
||||
#endif
|
||||
|
||||
static const char *mpt_vol_type(struct mpt_raid_volume *vol);
|
||||
static const char *mpt_vol_state(struct mpt_raid_volume *vol);
|
||||
static const char *mpt_disk_state(struct mpt_raid_disk *disk);
|
||||
static void mpt_vol_prt(struct mpt_softc *mpt, struct mpt_raid_volume *vol,
|
||||
const char *fmt, ...);
|
||||
static void mpt_disk_prt(struct mpt_softc *mpt, struct mpt_raid_disk *disk,
|
||||
const char *fmt, ...);
|
||||
|
||||
static int mpt_issue_raid_req(struct mpt_softc *mpt,
|
||||
struct mpt_raid_volume *vol, struct mpt_raid_disk *disk, request_t *req,
|
||||
u_int Action, uint32_t ActionDataWord, bus_addr_t addr, bus_size_t len,
|
||||
int write, int wait);
|
||||
|
||||
static int mpt_refresh_raid_data(struct mpt_softc *mpt);
|
||||
static void mpt_schedule_raid_refresh(struct mpt_softc *mpt);
|
||||
|
||||
static uint32_t raid_handler_id = MPT_HANDLER_ID_NONE;
|
||||
|
||||
const char *
|
||||
static const char *
|
||||
mpt_vol_type(struct mpt_raid_volume *vol)
|
||||
{
|
||||
switch (vol->config_page->VolumeType) {
|
||||
@ -142,7 +157,7 @@ mpt_vol_type(struct mpt_raid_volume *vol)
|
||||
}
|
||||
}
|
||||
|
||||
const char *
|
||||
static const char *
|
||||
mpt_vol_state(struct mpt_raid_volume *vol)
|
||||
{
|
||||
switch (vol->config_page->VolumeStatus.State) {
|
||||
@ -157,7 +172,7 @@ mpt_vol_state(struct mpt_raid_volume *vol)
|
||||
}
|
||||
}
|
||||
|
||||
const char *
|
||||
static const char *
|
||||
mpt_disk_state(struct mpt_raid_disk *disk)
|
||||
{
|
||||
switch (disk->config_page.PhysDiskStatus.State) {
|
||||
@ -182,7 +197,7 @@ mpt_disk_state(struct mpt_raid_disk *disk)
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
mpt_vol_prt(struct mpt_softc *mpt, struct mpt_raid_volume *vol,
|
||||
const char *fmt, ...)
|
||||
{
|
||||
@ -196,7 +211,7 @@ mpt_vol_prt(struct mpt_softc *mpt, struct mpt_raid_volume *vol,
|
||||
va_end(ap);
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
mpt_disk_prt(struct mpt_softc *mpt, struct mpt_raid_disk *disk,
|
||||
const char *fmt, ...)
|
||||
{
|
||||
@ -254,16 +269,17 @@ mpt_raid_async(void *callback_arg, u_int32_t code,
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
static int
|
||||
mpt_raid_probe(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
if (mpt->ioc_page2 == NULL || mpt->ioc_page2->MaxPhysDisks == 0) {
|
||||
return (ENODEV);
|
||||
}
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
static int
|
||||
mpt_raid_attach(struct mpt_softc *mpt)
|
||||
{
|
||||
struct ccb_setasync csa;
|
||||
@ -307,13 +323,14 @@ mpt_raid_attach(struct mpt_softc *mpt)
|
||||
return (error);
|
||||
}
|
||||
|
||||
int
|
||||
static int
|
||||
mpt_raid_enable(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
mpt_raid_detach(struct mpt_softc *mpt)
|
||||
{
|
||||
struct ccb_setasync csa;
|
||||
@ -338,6 +355,7 @@ mpt_raid_detach(struct mpt_softc *mpt)
|
||||
static void
|
||||
mpt_raid_ioc_reset(struct mpt_softc *mpt, int type)
|
||||
{
|
||||
|
||||
/* Nothing to do yet. */
|
||||
}
|
||||
|
||||
@ -570,7 +588,7 @@ mpt_raid_reply_frame_handler(struct mpt_softc *mpt, request_t *req,
|
||||
/*
|
||||
* Utiltity routine to perform a RAID action command;
|
||||
*/
|
||||
int
|
||||
static int
|
||||
mpt_issue_raid_req(struct mpt_softc *mpt, struct mpt_raid_volume *vol,
|
||||
struct mpt_raid_disk *disk, request_t *req, u_int Action,
|
||||
uint32_t ActionDataWord, bus_addr_t addr, bus_size_t len,
|
||||
@ -719,6 +737,7 @@ mpt_raid_thread(void *arg)
|
||||
static void
|
||||
mpt_raid_quiesce_timeout(void *arg)
|
||||
{
|
||||
|
||||
/* Complete the CCB with error */
|
||||
/* COWWWW */
|
||||
}
|
||||
@ -776,7 +795,7 @@ mpt_raid_quiesce_disk(struct mpt_softc *mpt, struct mpt_raid_disk *mpt_disk,
|
||||
|
||||
/* XXX Ignores that there may be multiple busses/IOCs involved. */
|
||||
cam_status
|
||||
mpt_map_physdisk(struct mpt_softc *mpt, union ccb *ccb, u_int *tgt)
|
||||
mpt_map_physdisk(struct mpt_softc *mpt, union ccb *ccb, target_id_t *tgt)
|
||||
{
|
||||
struct mpt_raid_disk *mpt_disk;
|
||||
|
||||
@ -793,7 +812,7 @@ mpt_map_physdisk(struct mpt_softc *mpt, union ccb *ccb, u_int *tgt)
|
||||
|
||||
/* XXX Ignores that there may be multiple busses/IOCs involved. */
|
||||
int
|
||||
mpt_is_raid_volume(struct mpt_softc *mpt, int tgt)
|
||||
mpt_is_raid_volume(struct mpt_softc *mpt, target_id_t tgt)
|
||||
{
|
||||
CONFIG_PAGE_IOC_2_RAID_VOL *ioc_vol;
|
||||
CONFIG_PAGE_IOC_2_RAID_VOL *ioc_last_vol;
|
||||
@ -1305,7 +1324,7 @@ mpt_refresh_raid_vol(struct mpt_softc *mpt, struct mpt_raid_volume *mpt_vol,
|
||||
* be updated by our event handler. Interesting changes are displayed
|
||||
* to the console.
|
||||
*/
|
||||
int
|
||||
static int
|
||||
mpt_refresh_raid_data(struct mpt_softc *mpt)
|
||||
{
|
||||
CONFIG_PAGE_IOC_2_RAID_VOL *ioc_vol;
|
||||
@ -1565,9 +1584,10 @@ mpt_raid_timer(void *arg)
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
mpt_schedule_raid_refresh(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
callout_reset(&mpt->raid_timer, MPT_RAID_SYNC_REPORT_INTERVAL,
|
||||
mpt_raid_timer, mpt);
|
||||
}
|
||||
@ -1719,7 +1739,8 @@ mpt_raid_set_vol_mwce(struct mpt_softc *mpt, mpt_raid_mwce_t mwce)
|
||||
MPT_UNLOCK(mpt);
|
||||
return (0);
|
||||
}
|
||||
const char *mpt_vol_mwce_strs[] =
|
||||
|
||||
static const char *mpt_vol_mwce_strs[] =
|
||||
{
|
||||
"On",
|
||||
"Off",
|
||||
|
@ -53,29 +53,13 @@ typedef enum {
|
||||
MPT_RAID_MWCE_NC
|
||||
} mpt_raid_mwce_t;
|
||||
|
||||
const char *mpt_vol_type(struct mpt_raid_volume *);
|
||||
const char *mpt_vol_state(struct mpt_raid_volume *);
|
||||
const char *mpt_disk_state(struct mpt_raid_disk *);
|
||||
void
|
||||
mpt_vol_prt(struct mpt_softc *, struct mpt_raid_volume *, const char *fmt, ...);
|
||||
void
|
||||
mpt_disk_prt(struct mpt_softc *, struct mpt_raid_disk *, const char *, ...);
|
||||
|
||||
int
|
||||
mpt_issue_raid_req(struct mpt_softc *, struct mpt_raid_volume *,
|
||||
struct mpt_raid_disk *, request_t *, u_int, uint32_t, bus_addr_t,
|
||||
bus_size_t, int, int);
|
||||
|
||||
cam_status
|
||||
mpt_map_physdisk(struct mpt_softc *, union ccb *, target_id_t *);
|
||||
int mpt_is_raid_volume(struct mpt_softc *, int);
|
||||
cam_status mpt_map_physdisk(struct mpt_softc *, union ccb *, target_id_t *);
|
||||
int mpt_is_raid_volume(struct mpt_softc *, target_id_t);
|
||||
#if 0
|
||||
cam_status
|
||||
mpt_raid_quiesce_disk(struct mpt_softc *, struct mpt_raid_disk *, request_t *);
|
||||
#endif
|
||||
|
||||
int mpt_refresh_raid_data(struct mpt_softc *);
|
||||
void mpt_schedule_raid_refresh(struct mpt_softc *);
|
||||
void mpt_raid_free_mem(struct mpt_softc *);
|
||||
|
||||
static __inline void
|
||||
|
@ -94,7 +94,7 @@ static MALLOC_DEFINE(M_MPTUSER, "mpt_user", "Buffers for mpt(4) ioctls");
|
||||
|
||||
static uint32_t user_handler_id = MPT_HANDLER_ID_NONE;
|
||||
|
||||
int
|
||||
static int
|
||||
mpt_user_probe(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
@ -102,7 +102,7 @@ mpt_user_probe(struct mpt_softc *mpt)
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
static int
|
||||
mpt_user_attach(struct mpt_softc *mpt)
|
||||
{
|
||||
mpt_handler_t handler;
|
||||
@ -131,19 +131,20 @@ mpt_user_attach(struct mpt_softc *mpt)
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
static int
|
||||
mpt_user_enable(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
mpt_user_ready(struct mpt_softc *mpt)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
int
|
||||
static int
|
||||
mpt_user_event(struct mpt_softc *mpt, request_t *req,
|
||||
MSG_EVENT_NOTIFY_REPLY *msg)
|
||||
{
|
||||
@ -152,12 +153,13 @@ mpt_user_event(struct mpt_softc *mpt, request_t *req,
|
||||
return (0);
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
mpt_user_reset(struct mpt_softc *mpt, int type)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
mpt_user_detach(struct mpt_softc *mpt)
|
||||
{
|
||||
mpt_handler_t handler;
|
||||
|
Loading…
Reference in New Issue
Block a user