Lines Matching defs:crq

109 static void ibmvscsi_handle_crq(struct viosrp_crq *crq,
116 * ibmvscsi_handle_event: - Interrupt handler for crq events
139 * the crq with the hypervisor.
169 struct viosrp_crq *crq;
173 crq = &queue->msgs[queue->cur];
174 if (crq->valid != VIOSRP_CRQ_FREE) {
183 crq = NULL;
186 return crq;
216 struct viosrp_crq *crq;
221 while ((crq = crq_queue_next_crq(&hostdata->queue)) != NULL) {
222 ibmvscsi_handle_crq(crq, hostdata);
223 crq->valid = VIOSRP_CRQ_FREE;
228 crq = crq_queue_next_crq(&hostdata->queue);
229 if (crq != NULL) {
231 ibmvscsi_handle_crq(crq, hostdata);
232 crq->valid = VIOSRP_CRQ_FREE;
280 * ibmvscsi_reset_crq_queue() - resets a crq after a failure
311 dev_warn(hostdata->dev, "couldn't register crq--rc 0x%x\n", rc);
323 * the crq with the hypervisor.
408 * ibmvscsi_reenable_crq_queue() - reenables a crq after
465 memset(&evt->crq, 0x00, sizeof(evt->crq));
467 evt->crq.valid = VIOSRP_CRQ_CMD_RSP;
468 evt->crq.IU_length = cpu_to_be16(sizeof(*evt->xfer_iu));
469 evt->crq.IU_data_ptr = cpu_to_be64(pool->iu_token +
590 evt_struct->crq.format = format;
591 evt_struct->crq.timeout = cpu_to_be16(timeout);
801 } else if (evt->done && evt->crq.format != VIOSRP_MAD_FORMAT &&
874 __be64 *crq_as_u64 = (__be64 *)&evt_struct->crq;
885 if (evt_struct->crq.format == VIOSRP_SRP_FORMAT) {
1089 cpu_to_be64(be64_to_cpu(evt_struct->crq.IU_data_ptr) +
1762 * @crq: Command/Response queue
1766 static void ibmvscsi_handle_crq(struct viosrp_crq *crq,
1773 (__force struct srp_event_struct *)crq->IU_data_ptr;
1774 switch (crq->valid) {
1776 switch (crq->format) {
1796 dev_err(hostdata->dev, "unknown crq message type: %d\n", crq->format);
1802 if (crq->format == 0x06) {
1811 crq->format);
1819 crq->valid);
1839 if (crq->format == VIOSRP_SRP_FORMAT)
1845 if ((crq->status != VIOSRP_OK && crq->status != VIOSRP_OK2) && evt_struct->cmnd)
2266 dev_err(&vdev->dev, "couldn't initialize crq. rc=%d\n", rc);