Lines Matching refs:skmsg

455 			    struct skd_fitmsg_context *skmsg);
481 struct skd_fitmsg_context *skmsg, const char *event);
573 struct skd_fitmsg_context *skmsg = NULL; in skd_request_fn() local
661 if (skmsg == NULL) { in skd_request_fn()
686 if (skmsg == NULL) { in skd_request_fn()
688 skmsg = skdev->skmsg_free_list; in skd_request_fn()
689 if (skmsg == NULL) { in skd_request_fn()
695 SKD_ASSERT(skmsg->state == SKD_MSG_STATE_IDLE); in skd_request_fn()
696 SKD_ASSERT((skmsg->id & SKD_ID_INCR) == 0); in skd_request_fn()
698 skdev->skmsg_free_list = skmsg->next; in skd_request_fn()
700 skmsg->state = SKD_MSG_STATE_BUSY; in skd_request_fn()
701 skmsg->id += SKD_ID_INCR; in skd_request_fn()
704 fmh = (struct fit_msg_hdr *)skmsg->msg_buf; in skd_request_fn()
707 skmsg->length = sizeof(*fmh); in skd_request_fn()
710 skreq->fitmsg_id = skmsg->id; in skd_request_fn()
721 cmd_ptr = &skmsg->msg_buf[skmsg->length]; in skd_request_fn()
790 skmsg->length += sizeof(struct skd_scsi_request); in skd_request_fn()
808 if (skmsg->length >= SKD_N_FITMSG_BYTES || in skd_request_fn()
810 skd_send_fitmsg(skdev, skmsg); in skd_request_fn()
811 skmsg = NULL; in skd_request_fn()
822 if (skmsg != NULL) { in skd_request_fn()
824 if (skmsg->length > sizeof(struct fit_msg_hdr)) { in skd_request_fn()
827 skmsg, skmsg->length); in skd_request_fn()
828 skd_send_fitmsg(skdev, skmsg); in skd_request_fn()
834 skmsg->state = SKD_MSG_STATE_IDLE; in skd_request_fn()
835 skmsg->id += SKD_ID_INCR; in skd_request_fn()
836 skmsg->next = skdev->skmsg_free_list; in skd_request_fn()
837 skdev->skmsg_free_list = skmsg; in skd_request_fn()
839 skmsg = NULL; in skd_request_fn()
2170 struct skd_fitmsg_context *skmsg) in skd_send_fitmsg() argument
2177 skmsg->mb_dma_address, skdev->in_flight); in skd_send_fitmsg()
2180 skmsg->msg_buf, skmsg->offset); in skd_send_fitmsg()
2182 qcmd = skmsg->mb_dma_address; in skd_send_fitmsg()
2185 fmh = (struct fit_msg_hdr *)skmsg->msg_buf; in skd_send_fitmsg()
2186 skmsg->outstanding = fmh->num_protocol_cmds_coalesced; in skd_send_fitmsg()
2189 u8 *bp = (u8 *)skmsg->msg_buf; in skd_send_fitmsg()
2191 for (i = 0; i < skmsg->length; i += 8) { in skd_send_fitmsg()
2203 if (skmsg->length > 256) in skd_send_fitmsg()
2205 else if (skmsg->length > 128) in skd_send_fitmsg()
2207 else if (skmsg->length > 64) in skd_send_fitmsg()
2423 struct skd_fitmsg_context *skmsg; in skd_release_skreq() local
2447 skmsg = &skdev->skmsg_table[msg_slot]; in skd_release_skreq()
2448 if (skmsg->id == skreq->fitmsg_id) { in skd_release_skreq()
2449 SKD_ASSERT(skmsg->state == SKD_MSG_STATE_BUSY); in skd_release_skreq()
2450 SKD_ASSERT(skmsg->outstanding > 0); in skd_release_skreq()
2451 skmsg->outstanding--; in skd_release_skreq()
2452 if (skmsg->outstanding == 0) { in skd_release_skreq()
2453 skmsg->state = SKD_MSG_STATE_IDLE; in skd_release_skreq()
2454 skmsg->id += SKD_ID_INCR; in skd_release_skreq()
2455 skmsg->next = skdev->skmsg_free_list; in skd_release_skreq()
2456 skdev->skmsg_free_list = skmsg; in skd_release_skreq()
3262 struct skd_fitmsg_context *skmsg = &skdev->skmsg_table[i]; in skd_recover_requests() local
3264 if (skmsg->state == SKD_MSG_STATE_BUSY) { in skd_recover_requests()
3265 skd_log_skmsg(skdev, skmsg, "salvaged"); in skd_recover_requests()
3266 SKD_ASSERT((skmsg->id & SKD_ID_INCR) != 0); in skd_recover_requests()
3267 skmsg->state = SKD_MSG_STATE_IDLE; in skd_recover_requests()
3268 skmsg->id += SKD_ID_INCR; in skd_recover_requests()
3271 skmsg[-1].next = skmsg; in skd_recover_requests()
3272 skmsg->next = NULL; in skd_recover_requests()
4151 struct skd_fitmsg_context *skmsg; in skd_cons_skmsg() local
4153 skmsg = &skdev->skmsg_table[i]; in skd_cons_skmsg()
4155 skmsg->id = i + SKD_ID_FIT_MSG; in skd_cons_skmsg()
4157 skmsg->state = SKD_MSG_STATE_IDLE; in skd_cons_skmsg()
4158 skmsg->msg_buf = pci_alloc_consistent(skdev->pdev, in skd_cons_skmsg()
4160 &skmsg->mb_dma_address); in skd_cons_skmsg()
4162 if (skmsg->msg_buf == NULL) { in skd_cons_skmsg()
4167 skmsg->offset = (u32)((u64)skmsg->msg_buf & in skd_cons_skmsg()
4169 skmsg->msg_buf += ~FIT_QCMD_BASE_ADDRESS_MASK; in skd_cons_skmsg()
4170 skmsg->msg_buf = (u8 *)((u64)skmsg->msg_buf & in skd_cons_skmsg()
4172 skmsg->mb_dma_address += ~FIT_QCMD_BASE_ADDRESS_MASK; in skd_cons_skmsg()
4173 skmsg->mb_dma_address &= FIT_QCMD_BASE_ADDRESS_MASK; in skd_cons_skmsg()
4174 memset(skmsg->msg_buf, 0, SKD_N_FITMSG_BYTES); in skd_cons_skmsg()
4176 skmsg->next = &skmsg[1]; in skd_cons_skmsg()
4550 struct skd_fitmsg_context *skmsg; in skd_free_skmsg() local
4552 skmsg = &skdev->skmsg_table[i]; in skd_free_skmsg()
4554 if (skmsg->msg_buf != NULL) { in skd_free_skmsg()
4555 skmsg->msg_buf += skmsg->offset; in skd_free_skmsg()
4556 skmsg->mb_dma_address += skmsg->offset; in skd_free_skmsg()
4558 skmsg->msg_buf, in skd_free_skmsg()
4559 skmsg->mb_dma_address); in skd_free_skmsg()
4561 skmsg->msg_buf = NULL; in skd_free_skmsg()
4562 skmsg->mb_dma_address = 0; in skd_free_skmsg()
5301 struct skd_fitmsg_context *skmsg, const char *event) in skd_log_skmsg() argument
5304 skdev->name, __func__, __LINE__, skdev->name, skmsg, event); in skd_log_skmsg()
5307 skd_skmsg_state_to_str(skmsg->state), skmsg->state, in skd_log_skmsg()
5308 skmsg->id, skmsg->length); in skd_log_skmsg()