Lines Matching refs:crq
207 struct ibmvmc_crq_msg *crq; in crq_queue_next_crq() local
211 crq = &queue->msgs[queue->cur]; in crq_queue_next_crq()
212 if (crq->valid & 0x80) { in crq_queue_next_crq()
221 crq = NULL; in crq_queue_next_crq()
226 return crq; in crq_queue_next_crq()
1426 struct ibmvmc_crq_msg *crq) in ibmvmc_add_buffer() argument
1435 if (!crq) in ibmvmc_add_buffer()
1438 hmc_session = crq->hmc_session; in ibmvmc_add_buffer()
1439 hmc_index = crq->hmc_index; in ibmvmc_add_buffer()
1440 buffer_id = be16_to_cpu(crq->var2.buffer_id); in ibmvmc_add_buffer()
1482 buffer->dma_addr_remote = be32_to_cpu(crq->var3.lioba); in ibmvmc_add_buffer()
1484 buffer->owner = crq->var1.owner; in ibmvmc_add_buffer()
1543 struct ibmvmc_crq_msg *crq) in ibmvmc_rem_buffer() argument
1552 if (!crq) in ibmvmc_rem_buffer()
1555 hmc_session = crq->hmc_session; in ibmvmc_rem_buffer()
1556 hmc_index = crq->hmc_index; in ibmvmc_rem_buffer()
1596 struct ibmvmc_crq_msg *crq) in ibmvmc_recv_msg() argument
1607 if (!crq) in ibmvmc_recv_msg()
1612 be64_to_cpu(*((unsigned long *)crq)), in ibmvmc_recv_msg()
1613 be64_to_cpu(*(((unsigned long *)crq) + 1))); in ibmvmc_recv_msg()
1615 hmc_session = crq->hmc_session; in ibmvmc_recv_msg()
1616 hmc_index = crq->hmc_index; in ibmvmc_recv_msg()
1617 buffer_id = be16_to_cpu(crq->var2.buffer_id); in ibmvmc_recv_msg()
1618 msg_len = be32_to_cpu(crq->var3.msg_len); in ibmvmc_recv_msg()
1703 struct ibmvmc_admin_crq_msg *crq = (struct ibmvmc_admin_crq_msg *)crqp; in ibmvmc_process_capabilities() local
1705 if ((be16_to_cpu(crq->version) >> 8) != in ibmvmc_process_capabilities()
1708 be16_to_cpu(crq->version), in ibmvmc_process_capabilities()
1714 ibmvmc.max_mtu = min_t(u32, ibmvmc_max_mtu, be32_to_cpu(crq->max_mtu)); in ibmvmc_process_capabilities()
1716 be16_to_cpu(crq->pool_size)); in ibmvmc_process_capabilities()
1717 ibmvmc.max_hmc_index = min_t(u8, ibmvmc_max_hmcs, crq->max_hmc) - 1; in ibmvmc_process_capabilities()
1736 struct ibmvmc_crq_msg *crq) in ibmvmc_validate_hmc_session() argument
1740 hmc_index = crq->hmc_index; in ibmvmc_validate_hmc_session()
1742 if (crq->hmc_session == 0) in ibmvmc_validate_hmc_session()
1748 if (hmcs[hmc_index].session != crq->hmc_session) { in ibmvmc_validate_hmc_session()
1750 hmcs[hmc_index].session, crq->hmc_session); in ibmvmc_validate_hmc_session()
1856 static void ibmvmc_process_open_resp(struct ibmvmc_crq_msg *crq, in ibmvmc_process_open_resp() argument
1862 hmc_index = crq->hmc_index; in ibmvmc_process_open_resp()
1869 if (crq->status) { in ibmvmc_process_open_resp()
1871 crq->status); in ibmvmc_process_open_resp()
1877 buffer_id = be16_to_cpu(crq->var2.buffer_id); in ibmvmc_process_open_resp()
1906 static void ibmvmc_process_close_resp(struct ibmvmc_crq_msg *crq, in ibmvmc_process_close_resp() argument
1911 hmc_index = crq->hmc_index; in ibmvmc_process_close_resp()
1917 if (crq->status) { in ibmvmc_process_close_resp()
1919 crq->status); in ibmvmc_process_close_resp()
1937 struct ibmvmc_crq_msg *crq) in ibmvmc_crq_process() argument
1939 switch (crq->type) { in ibmvmc_crq_process()
1942 crq->type); in ibmvmc_crq_process()
1944 ibmvmc_process_capabilities(adapter, crq); in ibmvmc_crq_process()
1951 crq->type); in ibmvmc_crq_process()
1952 if (ibmvmc_validate_hmc_session(adapter, crq) == 0) in ibmvmc_crq_process()
1953 ibmvmc_process_open_resp(crq, adapter); in ibmvmc_crq_process()
1957 crq->type); in ibmvmc_crq_process()
1958 if (ibmvmc_validate_hmc_session(adapter, crq) == 0) in ibmvmc_crq_process()
1959 ibmvmc_add_buffer(adapter, crq); in ibmvmc_crq_process()
1963 crq->type); in ibmvmc_crq_process()
1964 if (ibmvmc_validate_hmc_session(adapter, crq) == 0) in ibmvmc_crq_process()
1965 ibmvmc_rem_buffer(adapter, crq); in ibmvmc_crq_process()
1969 crq->type); in ibmvmc_crq_process()
1970 if (ibmvmc_validate_hmc_session(adapter, crq) == 0) in ibmvmc_crq_process()
1971 ibmvmc_recv_msg(adapter, crq); in ibmvmc_crq_process()
1975 crq->type); in ibmvmc_crq_process()
1976 if (ibmvmc_validate_hmc_session(adapter, crq) == 0) in ibmvmc_crq_process()
1977 ibmvmc_process_close_resp(crq, adapter); in ibmvmc_crq_process()
1985 crq->type); in ibmvmc_crq_process()
1989 crq->type); in ibmvmc_crq_process()
2004 static void ibmvmc_handle_crq_init(struct ibmvmc_crq_msg *crq, in ibmvmc_handle_crq_init() argument
2007 switch (crq->type) { in ibmvmc_handle_crq_init()
2032 (unsigned long)crq->type); in ibmvmc_handle_crq_init()
2046 static void ibmvmc_handle_crq(struct ibmvmc_crq_msg *crq, in ibmvmc_handle_crq() argument
2049 switch (crq->valid) { in ibmvmc_handle_crq()
2051 ibmvmc_handle_crq_init(crq, adapter); in ibmvmc_handle_crq()
2058 ibmvmc_crq_process(adapter, crq); in ibmvmc_handle_crq()
2062 crq->valid); in ibmvmc_handle_crq()
2072 struct ibmvmc_crq_msg *crq; in ibmvmc_task() local
2077 while ((crq = crq_queue_next_crq(&adapter->queue)) != NULL) { in ibmvmc_task()
2078 ibmvmc_handle_crq(crq, adapter); in ibmvmc_task()
2079 crq->valid = 0x00; in ibmvmc_task()
2088 crq = crq_queue_next_crq(&adapter->queue); in ibmvmc_task()
2089 if (crq) { in ibmvmc_task()
2091 ibmvmc_handle_crq(crq, adapter); in ibmvmc_task()
2092 crq->valid = 0x00; in ibmvmc_task()