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()
160 struct myrs_cmdblk *cmd_blk = &cs->dcmd_blk; in myrs_get_ctlr_info() local
161 union myrs_cmd_mbox *mbox = &cmd_blk->mbox; in myrs_get_ctlr_info()
178 myrs_reset_cmd(cmd_blk); in myrs_get_ctlr_info()
190 myrs_exec_cmd(cs, cmd_blk); in myrs_get_ctlr_info()
191 status = cmd_blk->status; in myrs_get_ctlr_info()
222 struct myrs_cmdblk *cmd_blk = &cs->dcmd_blk; in myrs_get_ldev_info() local
223 union myrs_cmd_mbox *mbox = &cmd_blk->mbox; in myrs_get_ldev_info()
237 myrs_reset_cmd(cmd_blk); in myrs_get_ldev_info()
250 myrs_exec_cmd(cs, cmd_blk); in myrs_get_ldev_info()
251 status = cmd_blk->status; in myrs_get_ldev_info()
310 struct myrs_cmdblk *cmd_blk = &cs->dcmd_blk; in myrs_get_pdev_info() local
311 union myrs_cmd_mbox *mbox = &cmd_blk->mbox; in myrs_get_pdev_info()
323 myrs_reset_cmd(cmd_blk); in myrs_get_pdev_info()
339 myrs_exec_cmd(cs, cmd_blk); in myrs_get_pdev_info()
340 status = cmd_blk->status; in myrs_get_pdev_info()
353 struct myrs_cmdblk *cmd_blk = &cs->dcmd_blk; in myrs_dev_op() local
354 union myrs_cmd_mbox *mbox = &cmd_blk->mbox; in myrs_dev_op()
358 myrs_reset_cmd(cmd_blk); in myrs_dev_op()
365 myrs_exec_cmd(cs, cmd_blk); in myrs_dev_op()
366 status = cmd_blk->status; in myrs_dev_op()
381 struct myrs_cmdblk *cmd_blk; in myrs_translate_pdev() local
394 cmd_blk = &cs->dcmd_blk; in myrs_translate_pdev()
395 mbox = &cmd_blk->mbox; in myrs_translate_pdev()
408 myrs_exec_cmd(cs, cmd_blk); in myrs_translate_pdev()
409 status = cmd_blk->status; in myrs_translate_pdev()
424 struct myrs_cmdblk *cmd_blk = &cs->mcmd_blk; in myrs_get_event() local
425 union myrs_cmd_mbox *mbox = &cmd_blk->mbox; in myrs_get_event()
443 myrs_exec_cmd(cs, cmd_blk); in myrs_get_event()
444 status = cmd_blk->status; in myrs_get_event()
456 struct myrs_cmdblk *cmd_blk = &cs->mcmd_blk; in myrs_get_fwstatus() local
457 union myrs_cmd_mbox *mbox = &cmd_blk->mbox; in myrs_get_fwstatus()
459 unsigned char status = cmd_blk->status; in myrs_get_fwstatus()
461 myrs_reset_cmd(cmd_blk); in myrs_get_fwstatus()
472 myrs_exec_cmd(cs, cmd_blk); in myrs_get_fwstatus()
473 status = cmd_blk->status; in myrs_get_fwstatus()
974 struct myrs_cmdblk *cmd_blk; in raid_state_store() local
1018 cmd_blk = &cs->dcmd_blk; in raid_state_store()
1019 myrs_reset_cmd(cmd_blk); in raid_state_store()
1020 mbox = &cmd_blk->mbox; in raid_state_store()
1028 myrs_exec_cmd(cs, cmd_blk); in raid_state_store()
1029 status = cmd_blk->status; in raid_state_store()
1114 struct myrs_cmdblk *cmd_blk; in rebuild_store() local
1152 cmd_blk = &cs->dcmd_blk; in rebuild_store()
1153 myrs_reset_cmd(cmd_blk); in rebuild_store()
1154 mbox = &cmd_blk->mbox; in rebuild_store()
1166 myrs_exec_cmd(cs, cmd_blk); in rebuild_store()
1167 status = cmd_blk->status; in rebuild_store()
1214 struct myrs_cmdblk *cmd_blk; in consistency_check_store() local
1253 cmd_blk = &cs->dcmd_blk; in consistency_check_store()
1254 myrs_reset_cmd(cmd_blk); in consistency_check_store()
1255 mbox = &cmd_blk->mbox; in consistency_check_store()
1269 myrs_exec_cmd(cs, cmd_blk); in consistency_check_store()
1270 status = cmd_blk->status; in consistency_check_store()
1433 struct myrs_cmdblk *cmd_blk; in discovery_store() local
1438 cmd_blk = &cs->dcmd_blk; in discovery_store()
1439 myrs_reset_cmd(cmd_blk); in discovery_store()
1440 mbox = &cmd_blk->mbox; in discovery_store()
1446 myrs_exec_cmd(cs, cmd_blk); in discovery_store()
1447 status = cmd_blk->status; in discovery_store()
1589 struct myrs_cmdblk *cmd_blk = scsi_cmd_priv(scmd); in myrs_queuecommand() local
1590 union myrs_cmd_mbox *mbox = &cmd_blk->mbox; in myrs_queuecommand()
1627 myrs_reset_cmd(cmd_blk); in myrs_queuecommand()
1628 cmd_blk->sense = dma_pool_alloc(cs->sense_pool, GFP_ATOMIC, in myrs_queuecommand()
1630 if (!cmd_blk->sense) in myrs_queuecommand()
1632 cmd_blk->sense_addr = sense_addr; in myrs_queuecommand()
1656 mbox->SCSI_10.sense_addr = cmd_blk->sense_addr; in myrs_queuecommand()
1668 cmd_blk->dcdb = NULL; in myrs_queuecommand()
1672 cmd_blk->dcdb = dma_pool_alloc(cs->dcdb_pool, GFP_ATOMIC, in myrs_queuecommand()
1674 if (!cmd_blk->dcdb) { in myrs_queuecommand()
1675 dma_pool_free(cs->sense_pool, cmd_blk->sense, in myrs_queuecommand()
1676 cmd_blk->sense_addr); in myrs_queuecommand()
1677 cmd_blk->sense = NULL; in myrs_queuecommand()
1678 cmd_blk->sense_addr = 0; in myrs_queuecommand()
1681 cmd_blk->dcdb_dma = dcdb_dma; in myrs_queuecommand()
1702 mbox->SCSI_255.sense_addr = cmd_blk->sense_addr; in myrs_queuecommand()
1705 mbox->SCSI_255.cdb_addr = cmd_blk->dcdb_dma; in myrs_queuecommand()
1713 memcpy(cmd_blk->dcdb, scmd->cmnd, scmd->cmd_len); in myrs_queuecommand()
1732 if (cmd_blk->dcdb) { in myrs_queuecommand()
1734 cmd_blk->dcdb, in myrs_queuecommand()
1735 cmd_blk->dcdb_dma); in myrs_queuecommand()
1736 cmd_blk->dcdb = NULL; in myrs_queuecommand()
1737 cmd_blk->dcdb_dma = 0; in myrs_queuecommand()
1740 cmd_blk->sense, in myrs_queuecommand()
1741 cmd_blk->sense_addr); in myrs_queuecommand()
1742 cmd_blk->sense = NULL; in myrs_queuecommand()
1743 cmd_blk->sense_addr = 0; in myrs_queuecommand()
1746 cmd_blk->sgl = hw_sgl; in myrs_queuecommand()
1747 cmd_blk->sgl_addr = hw_sgl_addr; in myrs_queuecommand()
1753 hw_sge->ext.sge0_addr = cmd_blk->sgl_addr; in myrs_queuecommand()
1771 myrs_qcmd(cs, cmd_blk); in myrs_queuecommand()
2046 static void myrs_handle_scsi(struct myrs_hba *cs, struct myrs_cmdblk *cmd_blk, in myrs_handle_scsi() argument
2051 if (!cmd_blk) in myrs_handle_scsi()
2055 status = cmd_blk->status; in myrs_handle_scsi()
2056 if (cmd_blk->sense) { in myrs_handle_scsi()
2057 if (status == MYRS_STATUS_FAILED && cmd_blk->sense_len) { in myrs_handle_scsi()
2060 if (sense_len > cmd_blk->sense_len) in myrs_handle_scsi()
2061 sense_len = cmd_blk->sense_len; in myrs_handle_scsi()
2062 memcpy(scmd->sense_buffer, cmd_blk->sense, sense_len); in myrs_handle_scsi()
2064 dma_pool_free(cs->sense_pool, cmd_blk->sense, in myrs_handle_scsi()
2065 cmd_blk->sense_addr); in myrs_handle_scsi()
2066 cmd_blk->sense = NULL; in myrs_handle_scsi()
2067 cmd_blk->sense_addr = 0; in myrs_handle_scsi()
2069 if (cmd_blk->dcdb) { in myrs_handle_scsi()
2070 dma_pool_free(cs->dcdb_pool, cmd_blk->dcdb, in myrs_handle_scsi()
2071 cmd_blk->dcdb_dma); in myrs_handle_scsi()
2072 cmd_blk->dcdb = NULL; in myrs_handle_scsi()
2073 cmd_blk->dcdb_dma = 0; in myrs_handle_scsi()
2075 if (cmd_blk->sgl) { in myrs_handle_scsi()
2076 dma_pool_free(cs->sg_pool, cmd_blk->sgl, in myrs_handle_scsi()
2077 cmd_blk->sgl_addr); in myrs_handle_scsi()
2078 cmd_blk->sgl = NULL; in myrs_handle_scsi()
2079 cmd_blk->sgl_addr = 0; in myrs_handle_scsi()
2081 if (cmd_blk->residual) in myrs_handle_scsi()
2082 scsi_set_resid(scmd, cmd_blk->residual); in myrs_handle_scsi()
2091 static void myrs_handle_cmdblk(struct myrs_hba *cs, struct myrs_cmdblk *cmd_blk) in myrs_handle_cmdblk() argument
2093 if (!cmd_blk) in myrs_handle_cmdblk()
2096 if (cmd_blk->complete) { in myrs_handle_cmdblk()
2097 complete(cmd_blk->complete); in myrs_handle_cmdblk()
2098 cmd_blk->complete = NULL; in myrs_handle_cmdblk()
2586 struct myrs_cmdblk *cmd_blk = NULL; in DAC960_GEM_intr_handler() local
2589 cmd_blk = &cs->dcmd_blk; in DAC960_GEM_intr_handler()
2591 cmd_blk = &cs->mcmd_blk; in DAC960_GEM_intr_handler()
2595 cmd_blk = scsi_cmd_priv(scmd); in DAC960_GEM_intr_handler()
2597 if (cmd_blk) { in DAC960_GEM_intr_handler()
2598 cmd_blk->status = next_stat_mbox->status; in DAC960_GEM_intr_handler()
2599 cmd_blk->sense_len = next_stat_mbox->sense_len; in DAC960_GEM_intr_handler()
2600 cmd_blk->residual = next_stat_mbox->residual; in DAC960_GEM_intr_handler()
2609 if (cmd_blk) { in DAC960_GEM_intr_handler()
2611 myrs_handle_cmdblk(cs, cmd_blk); in DAC960_GEM_intr_handler()
2613 myrs_handle_scsi(cs, cmd_blk, scmd); in DAC960_GEM_intr_handler()
2805 struct myrs_cmdblk *cmd_blk = NULL; in DAC960_BA_intr_handler() local
2808 cmd_blk = &cs->dcmd_blk; in DAC960_BA_intr_handler()
2810 cmd_blk = &cs->mcmd_blk; in DAC960_BA_intr_handler()
2814 cmd_blk = scsi_cmd_priv(scmd); in DAC960_BA_intr_handler()
2816 if (cmd_blk) { in DAC960_BA_intr_handler()
2817 cmd_blk->status = next_stat_mbox->status; in DAC960_BA_intr_handler()
2818 cmd_blk->sense_len = next_stat_mbox->sense_len; in DAC960_BA_intr_handler()
2819 cmd_blk->residual = next_stat_mbox->residual; in DAC960_BA_intr_handler()
2828 if (cmd_blk) { in DAC960_BA_intr_handler()
2830 myrs_handle_cmdblk(cs, cmd_blk); in DAC960_BA_intr_handler()
2832 myrs_handle_scsi(cs, cmd_blk, scmd); in DAC960_BA_intr_handler()
3024 struct myrs_cmdblk *cmd_blk = NULL; in DAC960_LP_intr_handler() local
3027 cmd_blk = &cs->dcmd_blk; in DAC960_LP_intr_handler()
3029 cmd_blk = &cs->mcmd_blk; in DAC960_LP_intr_handler()
3033 cmd_blk = scsi_cmd_priv(scmd); in DAC960_LP_intr_handler()
3035 if (cmd_blk) { in DAC960_LP_intr_handler()
3036 cmd_blk->status = next_stat_mbox->status; in DAC960_LP_intr_handler()
3037 cmd_blk->sense_len = next_stat_mbox->sense_len; in DAC960_LP_intr_handler()
3038 cmd_blk->residual = next_stat_mbox->residual; in DAC960_LP_intr_handler()
3047 if (cmd_blk) { in DAC960_LP_intr_handler()
3049 myrs_handle_cmdblk(cs, cmd_blk); in DAC960_LP_intr_handler()
3051 myrs_handle_scsi(cs, cmd_blk, scmd); in DAC960_LP_intr_handler()