Lines Matching refs:cmd_blk

93 static inline void myrs_reset_cmd(struct myrs_cmdblk *cmd_blk)  in myrs_reset_cmd()  argument
95 union myrs_cmd_mbox *mbox = &cmd_blk->mbox; in myrs_reset_cmd()
98 cmd_blk->status = 0; in myrs_reset_cmd()
104 static void myrs_qcmd(struct myrs_hba *cs, struct myrs_cmdblk *cmd_blk) in myrs_qcmd() argument
107 union myrs_cmd_mbox *mbox = &cmd_blk->mbox; in myrs_qcmd()
129 struct myrs_cmdblk *cmd_blk) in myrs_exec_cmd() argument
134 cmd_blk->complete = &complete; in myrs_exec_cmd()
136 myrs_qcmd(cs, cmd_blk); in myrs_exec_cmd()
161 struct myrs_cmdblk *cmd_blk = &cs->dcmd_blk; in myrs_get_ctlr_info() local
162 union myrs_cmd_mbox *mbox = &cmd_blk->mbox; in myrs_get_ctlr_info()
179 myrs_reset_cmd(cmd_blk); in myrs_get_ctlr_info()
191 myrs_exec_cmd(cs, cmd_blk); in myrs_get_ctlr_info()
192 status = cmd_blk->status; in myrs_get_ctlr_info()
223 struct myrs_cmdblk *cmd_blk = &cs->dcmd_blk; in myrs_get_ldev_info() local
224 union myrs_cmd_mbox *mbox = &cmd_blk->mbox; in myrs_get_ldev_info()
238 myrs_reset_cmd(cmd_blk); in myrs_get_ldev_info()
251 myrs_exec_cmd(cs, cmd_blk); in myrs_get_ldev_info()
252 status = cmd_blk->status; in myrs_get_ldev_info()
311 struct myrs_cmdblk *cmd_blk = &cs->dcmd_blk; in myrs_get_pdev_info() local
312 union myrs_cmd_mbox *mbox = &cmd_blk->mbox; in myrs_get_pdev_info()
324 myrs_reset_cmd(cmd_blk); in myrs_get_pdev_info()
340 myrs_exec_cmd(cs, cmd_blk); in myrs_get_pdev_info()
341 status = cmd_blk->status; in myrs_get_pdev_info()
354 struct myrs_cmdblk *cmd_blk = &cs->dcmd_blk; in myrs_dev_op() local
355 union myrs_cmd_mbox *mbox = &cmd_blk->mbox; in myrs_dev_op()
359 myrs_reset_cmd(cmd_blk); in myrs_dev_op()
366 myrs_exec_cmd(cs, cmd_blk); in myrs_dev_op()
367 status = cmd_blk->status; in myrs_dev_op()
382 struct myrs_cmdblk *cmd_blk; in myrs_translate_pdev() local
395 cmd_blk = &cs->dcmd_blk; in myrs_translate_pdev()
396 mbox = &cmd_blk->mbox; in myrs_translate_pdev()
409 myrs_exec_cmd(cs, cmd_blk); in myrs_translate_pdev()
410 status = cmd_blk->status; in myrs_translate_pdev()
425 struct myrs_cmdblk *cmd_blk = &cs->mcmd_blk; in myrs_get_event() local
426 union myrs_cmd_mbox *mbox = &cmd_blk->mbox; in myrs_get_event()
444 myrs_exec_cmd(cs, cmd_blk); in myrs_get_event()
445 status = cmd_blk->status; in myrs_get_event()
457 struct myrs_cmdblk *cmd_blk = &cs->mcmd_blk; in myrs_get_fwstatus() local
458 union myrs_cmd_mbox *mbox = &cmd_blk->mbox; in myrs_get_fwstatus()
460 unsigned char status = cmd_blk->status; in myrs_get_fwstatus()
462 myrs_reset_cmd(cmd_blk); in myrs_get_fwstatus()
473 myrs_exec_cmd(cs, cmd_blk); in myrs_get_fwstatus()
474 status = cmd_blk->status; in myrs_get_fwstatus()
977 struct myrs_cmdblk *cmd_blk; in raid_state_store() local
1021 cmd_blk = &cs->dcmd_blk; in raid_state_store()
1022 myrs_reset_cmd(cmd_blk); in raid_state_store()
1023 mbox = &cmd_blk->mbox; in raid_state_store()
1031 myrs_exec_cmd(cs, cmd_blk); in raid_state_store()
1032 status = cmd_blk->status; in raid_state_store()
1117 struct myrs_cmdblk *cmd_blk; in rebuild_store() local
1155 cmd_blk = &cs->dcmd_blk; in rebuild_store()
1156 myrs_reset_cmd(cmd_blk); in rebuild_store()
1157 mbox = &cmd_blk->mbox; in rebuild_store()
1169 myrs_exec_cmd(cs, cmd_blk); in rebuild_store()
1170 status = cmd_blk->status; in rebuild_store()
1218 struct myrs_cmdblk *cmd_blk; in consistency_check_store() local
1257 cmd_blk = &cs->dcmd_blk; in consistency_check_store()
1258 myrs_reset_cmd(cmd_blk); in consistency_check_store()
1259 mbox = &cmd_blk->mbox; in consistency_check_store()
1273 myrs_exec_cmd(cs, cmd_blk); in consistency_check_store()
1274 status = cmd_blk->status; in consistency_check_store()
1435 struct myrs_cmdblk *cmd_blk; in discovery_store() local
1440 cmd_blk = &cs->dcmd_blk; in discovery_store()
1441 myrs_reset_cmd(cmd_blk); in discovery_store()
1442 mbox = &cmd_blk->mbox; in discovery_store()
1448 myrs_exec_cmd(cs, cmd_blk); in discovery_store()
1449 status = cmd_blk->status; in discovery_store()
1588 struct myrs_cmdblk *cmd_blk = scsi_cmd_priv(scmd); in myrs_queuecommand() local
1589 union myrs_cmd_mbox *mbox = &cmd_blk->mbox; in myrs_queuecommand()
1631 myrs_reset_cmd(cmd_blk); in myrs_queuecommand()
1632 cmd_blk->sense = dma_pool_alloc(cs->sense_pool, GFP_ATOMIC, in myrs_queuecommand()
1634 if (!cmd_blk->sense) in myrs_queuecommand()
1636 cmd_blk->sense_addr = sense_addr; in myrs_queuecommand()
1660 mbox->SCSI_10.sense_addr = cmd_blk->sense_addr; in myrs_queuecommand()
1672 cmd_blk->dcdb = NULL; in myrs_queuecommand()
1676 cmd_blk->dcdb = dma_pool_alloc(cs->dcdb_pool, GFP_ATOMIC, in myrs_queuecommand()
1678 if (!cmd_blk->dcdb) { in myrs_queuecommand()
1679 dma_pool_free(cs->sense_pool, cmd_blk->sense, in myrs_queuecommand()
1680 cmd_blk->sense_addr); in myrs_queuecommand()
1681 cmd_blk->sense = NULL; in myrs_queuecommand()
1682 cmd_blk->sense_addr = 0; in myrs_queuecommand()
1685 cmd_blk->dcdb_dma = dcdb_dma; in myrs_queuecommand()
1706 mbox->SCSI_255.sense_addr = cmd_blk->sense_addr; in myrs_queuecommand()
1709 mbox->SCSI_255.cdb_addr = cmd_blk->dcdb_dma; in myrs_queuecommand()
1717 memcpy(cmd_blk->dcdb, scmd->cmnd, scmd->cmd_len); in myrs_queuecommand()
1736 if (cmd_blk->dcdb) { in myrs_queuecommand()
1738 cmd_blk->dcdb, in myrs_queuecommand()
1739 cmd_blk->dcdb_dma); in myrs_queuecommand()
1740 cmd_blk->dcdb = NULL; in myrs_queuecommand()
1741 cmd_blk->dcdb_dma = 0; in myrs_queuecommand()
1744 cmd_blk->sense, in myrs_queuecommand()
1745 cmd_blk->sense_addr); in myrs_queuecommand()
1746 cmd_blk->sense = NULL; in myrs_queuecommand()
1747 cmd_blk->sense_addr = 0; in myrs_queuecommand()
1750 cmd_blk->sgl = hw_sgl; in myrs_queuecommand()
1751 cmd_blk->sgl_addr = hw_sgl_addr; in myrs_queuecommand()
1757 hw_sge->ext.sge0_addr = cmd_blk->sgl_addr; in myrs_queuecommand()
1775 myrs_qcmd(cs, cmd_blk); in myrs_queuecommand()
2051 static void myrs_handle_scsi(struct myrs_hba *cs, struct myrs_cmdblk *cmd_blk, in myrs_handle_scsi() argument
2056 if (!cmd_blk) in myrs_handle_scsi()
2060 status = cmd_blk->status; in myrs_handle_scsi()
2061 if (cmd_blk->sense) { in myrs_handle_scsi()
2062 if (status == MYRS_STATUS_FAILED && cmd_blk->sense_len) { in myrs_handle_scsi()
2065 if (sense_len > cmd_blk->sense_len) in myrs_handle_scsi()
2066 sense_len = cmd_blk->sense_len; in myrs_handle_scsi()
2067 memcpy(scmd->sense_buffer, cmd_blk->sense, sense_len); in myrs_handle_scsi()
2069 dma_pool_free(cs->sense_pool, cmd_blk->sense, in myrs_handle_scsi()
2070 cmd_blk->sense_addr); in myrs_handle_scsi()
2071 cmd_blk->sense = NULL; in myrs_handle_scsi()
2072 cmd_blk->sense_addr = 0; in myrs_handle_scsi()
2074 if (cmd_blk->dcdb) { in myrs_handle_scsi()
2075 dma_pool_free(cs->dcdb_pool, cmd_blk->dcdb, in myrs_handle_scsi()
2076 cmd_blk->dcdb_dma); in myrs_handle_scsi()
2077 cmd_blk->dcdb = NULL; in myrs_handle_scsi()
2078 cmd_blk->dcdb_dma = 0; in myrs_handle_scsi()
2080 if (cmd_blk->sgl) { in myrs_handle_scsi()
2081 dma_pool_free(cs->sg_pool, cmd_blk->sgl, in myrs_handle_scsi()
2082 cmd_blk->sgl_addr); in myrs_handle_scsi()
2083 cmd_blk->sgl = NULL; in myrs_handle_scsi()
2084 cmd_blk->sgl_addr = 0; in myrs_handle_scsi()
2086 if (cmd_blk->residual) in myrs_handle_scsi()
2087 scsi_set_resid(scmd, cmd_blk->residual); in myrs_handle_scsi()
2096 static void myrs_handle_cmdblk(struct myrs_hba *cs, struct myrs_cmdblk *cmd_blk) in myrs_handle_cmdblk() argument
2098 if (!cmd_blk) in myrs_handle_cmdblk()
2101 if (cmd_blk->complete) { in myrs_handle_cmdblk()
2102 complete(cmd_blk->complete); in myrs_handle_cmdblk()
2103 cmd_blk->complete = NULL; in myrs_handle_cmdblk()
2627 struct myrs_cmdblk *cmd_blk = NULL; in DAC960_GEM_intr_handler() local
2630 cmd_blk = &cs->dcmd_blk; in DAC960_GEM_intr_handler()
2632 cmd_blk = &cs->mcmd_blk; in DAC960_GEM_intr_handler()
2636 cmd_blk = scsi_cmd_priv(scmd); in DAC960_GEM_intr_handler()
2638 if (cmd_blk) { in DAC960_GEM_intr_handler()
2639 cmd_blk->status = next_stat_mbox->status; in DAC960_GEM_intr_handler()
2640 cmd_blk->sense_len = next_stat_mbox->sense_len; in DAC960_GEM_intr_handler()
2641 cmd_blk->residual = next_stat_mbox->residual; in DAC960_GEM_intr_handler()
2650 if (cmd_blk) { in DAC960_GEM_intr_handler()
2652 myrs_handle_cmdblk(cs, cmd_blk); in DAC960_GEM_intr_handler()
2654 myrs_handle_scsi(cs, cmd_blk, scmd); in DAC960_GEM_intr_handler()
2877 struct myrs_cmdblk *cmd_blk = NULL; in DAC960_BA_intr_handler() local
2880 cmd_blk = &cs->dcmd_blk; in DAC960_BA_intr_handler()
2882 cmd_blk = &cs->mcmd_blk; in DAC960_BA_intr_handler()
2886 cmd_blk = scsi_cmd_priv(scmd); in DAC960_BA_intr_handler()
2888 if (cmd_blk) { in DAC960_BA_intr_handler()
2889 cmd_blk->status = next_stat_mbox->status; in DAC960_BA_intr_handler()
2890 cmd_blk->sense_len = next_stat_mbox->sense_len; in DAC960_BA_intr_handler()
2891 cmd_blk->residual = next_stat_mbox->residual; in DAC960_BA_intr_handler()
2900 if (cmd_blk) { in DAC960_BA_intr_handler()
2902 myrs_handle_cmdblk(cs, cmd_blk); in DAC960_BA_intr_handler()
2904 myrs_handle_scsi(cs, cmd_blk, scmd); in DAC960_BA_intr_handler()
3127 struct myrs_cmdblk *cmd_blk = NULL; in DAC960_LP_intr_handler() local
3130 cmd_blk = &cs->dcmd_blk; in DAC960_LP_intr_handler()
3132 cmd_blk = &cs->mcmd_blk; in DAC960_LP_intr_handler()
3136 cmd_blk = scsi_cmd_priv(scmd); in DAC960_LP_intr_handler()
3138 if (cmd_blk) { in DAC960_LP_intr_handler()
3139 cmd_blk->status = next_stat_mbox->status; in DAC960_LP_intr_handler()
3140 cmd_blk->sense_len = next_stat_mbox->sense_len; in DAC960_LP_intr_handler()
3141 cmd_blk->residual = next_stat_mbox->residual; in DAC960_LP_intr_handler()
3150 if (cmd_blk) { in DAC960_LP_intr_handler()
3152 myrs_handle_cmdblk(cs, cmd_blk); in DAC960_LP_intr_handler()
3154 myrs_handle_scsi(cs, cmd_blk, scmd); in DAC960_LP_intr_handler()