Lines Matching refs:crq

109 static void ibmvscsi_handle_crq(struct viosrp_crq *crq,
116 * ibmvscsi_handle_event: - Interrupt handler for crq events
138 * the crq with the hypervisor.
168 struct viosrp_crq *crq;
172 crq = &queue->msgs[queue->cur];
173 if (crq->valid != VIOSRP_CRQ_FREE) {
182 crq = NULL;
185 return crq;
215 struct viosrp_crq *crq;
220 while ((crq = crq_queue_next_crq(&hostdata->queue)) != NULL) {
221 ibmvscsi_handle_crq(crq, hostdata);
222 crq->valid = VIOSRP_CRQ_FREE;
227 crq = crq_queue_next_crq(&hostdata->queue);
228 if (crq != NULL) {
230 ibmvscsi_handle_crq(crq, hostdata);
231 crq->valid = VIOSRP_CRQ_FREE;
279 * reset_crq_queue: - resets a crq after a failure
311 dev_warn(hostdata->dev, "couldn't register crq--rc 0x%x\n", rc);
322 * the crq with the hypervisor.
407 * 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 +
591 evt_struct->crq.format = format;
592 evt_struct->crq.timeout = cpu_to_be16(timeout);
800 } else if (evt->done && evt->crq.format != VIOSRP_MAD_FORMAT &&
873 __be64 *crq_as_u64 = (__be64 *)&evt_struct->crq;
884 if (evt_struct->crq.format == VIOSRP_SRP_FORMAT) {
1087 cpu_to_be64(be64_to_cpu(evt_struct->crq.IU_data_ptr) +
1761 * @crq: Command/Response queue
1765 static void ibmvscsi_handle_crq(struct viosrp_crq *crq,
1772 (__force struct srp_event_struct *)crq->IU_data_ptr;
1773 switch (crq->valid) {
1775 switch (crq->format) {
1795 dev_err(hostdata->dev, "unknown crq message type: %d\n", crq->format);
1801 if (crq->format == 0x06) {
1810 crq->format);
1818 crq->valid);
1838 if (crq->format == VIOSRP_SRP_FORMAT)
1844 if ((crq->status != VIOSRP_OK && crq->status != VIOSRP_OK2) && evt_struct->cmnd)
2264 dev_err(&vdev->dev, "couldn't initialize crq. rc=%d\n", rc);