Lines Matching refs:crq

158 	union ibmvnic_crq crq;  in send_crq_init_complete()  local
160 memset(&crq, 0, sizeof(crq)); in send_crq_init_complete()
161 crq.generic.first = IBMVNIC_CRQ_INIT_CMD; in send_crq_init_complete()
162 crq.generic.cmd = IBMVNIC_CRQ_INIT_COMPLETE; in send_crq_init_complete()
164 return ibmvnic_send_crq(adapter, &crq); in send_crq_init_complete()
169 union ibmvnic_crq crq; in send_version_xchg() local
171 memset(&crq, 0, sizeof(crq)); in send_version_xchg()
172 crq.version_exchange.first = IBMVNIC_CRQ_CMD; in send_version_xchg()
173 crq.version_exchange.cmd = VERSION_EXCHANGE; in send_version_xchg()
174 crq.version_exchange.version = cpu_to_be16(ibmvnic_version); in send_version_xchg()
176 return ibmvnic_send_crq(adapter, &crq); in send_version_xchg()
403 if (!adapter->crq.active) { in ibmvnic_wait_for_completion()
1684 union ibmvnic_crq crq; in set_link_state() local
1690 memset(&crq, 0, sizeof(crq)); in set_link_state()
1691 crq.logical_link_state.first = IBMVNIC_CRQ_CMD; in set_link_state()
1692 crq.logical_link_state.cmd = LOGICAL_LINK_STATE; in set_link_state()
1693 crq.logical_link_state.link_state = link_state; in set_link_state()
1699 rc = ibmvnic_send_crq(adapter, &crq); in set_link_state()
1749 union ibmvnic_crq crq; in ibmvnic_get_vpd() local
1760 crq.get_vpd_size.first = IBMVNIC_CRQ_CMD; in ibmvnic_get_vpd()
1761 crq.get_vpd_size.cmd = GET_VPD_SIZE; in ibmvnic_get_vpd()
1762 rc = ibmvnic_send_crq(adapter, &crq); in ibmvnic_get_vpd()
1805 crq.get_vpd.first = IBMVNIC_CRQ_CMD; in ibmvnic_get_vpd()
1806 crq.get_vpd.cmd = GET_VPD; in ibmvnic_get_vpd()
1807 crq.get_vpd.ioba = cpu_to_be32(adapter->vpd->dma_addr); in ibmvnic_get_vpd()
1808 crq.get_vpd.len = cpu_to_be32((u32)adapter->vpd->len); in ibmvnic_get_vpd()
1809 rc = ibmvnic_send_crq(adapter, &crq); in ibmvnic_get_vpd()
2657 union ibmvnic_crq crq; in ibmvnic_set_multi() local
2659 memset(&crq, 0, sizeof(crq)); in ibmvnic_set_multi()
2660 crq.request_capability.first = IBMVNIC_CRQ_CMD; in ibmvnic_set_multi()
2661 crq.request_capability.cmd = REQUEST_CAPABILITY; in ibmvnic_set_multi()
2669 memset(&crq, 0, sizeof(crq)); in ibmvnic_set_multi()
2670 crq.multicast_ctrl.first = IBMVNIC_CRQ_CMD; in ibmvnic_set_multi()
2671 crq.multicast_ctrl.cmd = MULTICAST_CTRL; in ibmvnic_set_multi()
2672 crq.multicast_ctrl.flags = IBMVNIC_ENABLE_ALL; in ibmvnic_set_multi()
2673 ibmvnic_send_crq(adapter, &crq); in ibmvnic_set_multi()
2676 memset(&crq, 0, sizeof(crq)); in ibmvnic_set_multi()
2677 crq.multicast_ctrl.first = IBMVNIC_CRQ_CMD; in ibmvnic_set_multi()
2678 crq.multicast_ctrl.cmd = MULTICAST_CTRL; in ibmvnic_set_multi()
2679 crq.multicast_ctrl.flags = IBMVNIC_DISABLE_ALL; in ibmvnic_set_multi()
2680 ibmvnic_send_crq(adapter, &crq); in ibmvnic_set_multi()
2684 memset(&crq, 0, sizeof(crq)); in ibmvnic_set_multi()
2685 crq.multicast_ctrl.first = IBMVNIC_CRQ_CMD; in ibmvnic_set_multi()
2686 crq.multicast_ctrl.cmd = MULTICAST_CTRL; in ibmvnic_set_multi()
2687 crq.multicast_ctrl.flags = IBMVNIC_ENABLE_MC; in ibmvnic_set_multi()
2688 ether_addr_copy(&crq.multicast_ctrl.mac_addr[0], in ibmvnic_set_multi()
2690 ibmvnic_send_crq(adapter, &crq); in ibmvnic_set_multi()
2699 union ibmvnic_crq crq; in __ibmvnic_set_mac() local
2707 memset(&crq, 0, sizeof(crq)); in __ibmvnic_set_mac()
2708 crq.change_mac_addr.first = IBMVNIC_CRQ_CMD; in __ibmvnic_set_mac()
2709 crq.change_mac_addr.cmd = CHANGE_MAC_ADDR; in __ibmvnic_set_mac()
2710 ether_addr_copy(&crq.change_mac_addr.mac_addr[0], dev_addr); in __ibmvnic_set_mac()
2716 rc = ibmvnic_send_crq(adapter, &crq); in __ibmvnic_set_mac()
3134 adapter->crq.active = true; in do_passive_init()
3851 union ibmvnic_crq crq; in ibmvnic_get_ethtool_stats() local
3855 memset(&crq, 0, sizeof(crq)); in ibmvnic_get_ethtool_stats()
3856 crq.request_statistics.first = IBMVNIC_CRQ_CMD; in ibmvnic_get_ethtool_stats()
3857 crq.request_statistics.cmd = REQUEST_STATISTICS; in ibmvnic_get_ethtool_stats()
3858 crq.request_statistics.ioba = cpu_to_be32(adapter->stats_token); in ibmvnic_get_ethtool_stats()
3859 crq.request_statistics.len = in ibmvnic_get_ethtool_stats()
3864 rc = ibmvnic_send_crq(adapter, &crq); in ibmvnic_get_ethtool_stats()
4480 union ibmvnic_crq crq; in send_request_cap() local
4564 memset(&crq, 0, sizeof(crq)); in send_request_cap()
4565 crq.request_capability.first = IBMVNIC_CRQ_CMD; in send_request_cap()
4566 crq.request_capability.cmd = REQUEST_CAPABILITY; in send_request_cap()
4568 crq.request_capability.capability = cpu_to_be16(REQ_TX_QUEUES); in send_request_cap()
4569 crq.request_capability.number = cpu_to_be64(adapter->req_tx_queues); in send_request_cap()
4571 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
4573 crq.request_capability.capability = cpu_to_be16(REQ_RX_QUEUES); in send_request_cap()
4574 crq.request_capability.number = cpu_to_be64(adapter->req_rx_queues); in send_request_cap()
4576 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
4578 crq.request_capability.capability = cpu_to_be16(REQ_RX_ADD_QUEUES); in send_request_cap()
4579 crq.request_capability.number = cpu_to_be64(adapter->req_rx_add_queues); in send_request_cap()
4581 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
4583 crq.request_capability.capability = in send_request_cap()
4585 crq.request_capability.number = in send_request_cap()
4588 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
4590 crq.request_capability.capability = in send_request_cap()
4592 crq.request_capability.number = in send_request_cap()
4595 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
4597 crq.request_capability.capability = cpu_to_be16(REQ_MTU); in send_request_cap()
4598 crq.request_capability.number = cpu_to_be64(adapter->req_mtu); in send_request_cap()
4600 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
4604 crq.request_capability.capability = in send_request_cap()
4606 crq.request_capability.number = cpu_to_be64(1); in send_request_cap()
4608 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
4611 crq.request_capability.capability = in send_request_cap()
4613 crq.request_capability.number = cpu_to_be64(0); in send_request_cap()
4615 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
4666 struct ibmvnic_crq_queue *queue = &adapter->crq; in ibmvnic_next_crq()
4667 union ibmvnic_crq *crq; in ibmvnic_next_crq() local
4669 crq = &queue->msgs[queue->cur]; in ibmvnic_next_crq()
4670 if (crq->generic.first & IBMVNIC_CRQ_CMD_RSP) { in ibmvnic_next_crq()
4674 crq = NULL; in ibmvnic_next_crq()
4677 return crq; in ibmvnic_next_crq()
4719 union ibmvnic_crq *crq) in ibmvnic_send_crq() argument
4723 u64 *u64_crq = (u64 *)crq; in ibmvnic_send_crq()
4730 if (!adapter->crq.active && in ibmvnic_send_crq()
4731 crq->generic.first != IBMVNIC_CRQ_INIT_CMD) { in ibmvnic_send_crq()
4758 union ibmvnic_crq crq; in ibmvnic_send_crq_init() local
4762 memset(&crq, 0, sizeof(crq)); in ibmvnic_send_crq_init()
4763 crq.generic.first = IBMVNIC_CRQ_INIT_CMD; in ibmvnic_send_crq_init()
4764 crq.generic.cmd = IBMVNIC_CRQ_INIT; in ibmvnic_send_crq_init()
4768 rc = ibmvnic_send_crq(adapter, &crq); in ibmvnic_send_crq_init()
4842 union ibmvnic_crq crq; in send_login() local
4948 memset(&crq, 0, sizeof(crq)); in send_login()
4949 crq.login.first = IBMVNIC_CRQ_CMD; in send_login()
4950 crq.login.cmd = LOGIN; in send_login()
4951 crq.login.ioba = cpu_to_be32(buffer_token); in send_login()
4952 crq.login.len = cpu_to_be32(buffer_size); in send_login()
4955 rc = ibmvnic_send_crq(adapter, &crq); in send_login()
4982 union ibmvnic_crq crq; in send_request_map() local
4984 memset(&crq, 0, sizeof(crq)); in send_request_map()
4985 crq.request_map.first = IBMVNIC_CRQ_CMD; in send_request_map()
4986 crq.request_map.cmd = REQUEST_MAP; in send_request_map()
4987 crq.request_map.map_id = map_id; in send_request_map()
4988 crq.request_map.ioba = cpu_to_be32(addr); in send_request_map()
4989 crq.request_map.len = cpu_to_be32(len); in send_request_map()
4990 return ibmvnic_send_crq(adapter, &crq); in send_request_map()
4995 union ibmvnic_crq crq; in send_request_unmap() local
4997 memset(&crq, 0, sizeof(crq)); in send_request_unmap()
4998 crq.request_unmap.first = IBMVNIC_CRQ_CMD; in send_request_unmap()
4999 crq.request_unmap.cmd = REQUEST_UNMAP; in send_request_unmap()
5000 crq.request_unmap.map_id = map_id; in send_request_unmap()
5001 return ibmvnic_send_crq(adapter, &crq); in send_request_unmap()
5006 union ibmvnic_crq crq; in send_query_map() local
5008 memset(&crq, 0, sizeof(crq)); in send_query_map()
5009 crq.query_map.first = IBMVNIC_CRQ_CMD; in send_query_map()
5010 crq.query_map.cmd = QUERY_MAP; in send_query_map()
5011 ibmvnic_send_crq(adapter, &crq); in send_query_map()
5017 union ibmvnic_crq crq; in send_query_cap() local
5028 memset(&crq, 0, sizeof(crq)); in send_query_cap()
5029 crq.query_capability.first = IBMVNIC_CRQ_CMD; in send_query_cap()
5030 crq.query_capability.cmd = QUERY_CAPABILITY; in send_query_cap()
5032 crq.query_capability.capability = cpu_to_be16(MIN_TX_QUEUES); in send_query_cap()
5033 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5036 crq.query_capability.capability = cpu_to_be16(MIN_RX_QUEUES); in send_query_cap()
5037 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5040 crq.query_capability.capability = cpu_to_be16(MIN_RX_ADD_QUEUES); in send_query_cap()
5041 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5044 crq.query_capability.capability = cpu_to_be16(MAX_TX_QUEUES); in send_query_cap()
5045 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5048 crq.query_capability.capability = cpu_to_be16(MAX_RX_QUEUES); in send_query_cap()
5049 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5052 crq.query_capability.capability = cpu_to_be16(MAX_RX_ADD_QUEUES); in send_query_cap()
5053 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5056 crq.query_capability.capability = in send_query_cap()
5058 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5061 crq.query_capability.capability = in send_query_cap()
5063 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5066 crq.query_capability.capability = in send_query_cap()
5068 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5071 crq.query_capability.capability = in send_query_cap()
5073 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5076 crq.query_capability.capability = cpu_to_be16(TCP_IP_OFFLOAD); in send_query_cap()
5077 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5080 crq.query_capability.capability = cpu_to_be16(PROMISC_SUPPORTED); in send_query_cap()
5081 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5084 crq.query_capability.capability = cpu_to_be16(MIN_MTU); in send_query_cap()
5085 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5088 crq.query_capability.capability = cpu_to_be16(MAX_MTU); in send_query_cap()
5089 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5092 crq.query_capability.capability = cpu_to_be16(MAX_MULTICAST_FILTERS); in send_query_cap()
5093 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5096 crq.query_capability.capability = cpu_to_be16(VLAN_HEADER_INSERTION); in send_query_cap()
5097 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5100 crq.query_capability.capability = cpu_to_be16(RX_VLAN_HEADER_INSERTION); in send_query_cap()
5101 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5104 crq.query_capability.capability = cpu_to_be16(MAX_TX_SG_ENTRIES); in send_query_cap()
5105 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5108 crq.query_capability.capability = cpu_to_be16(RX_SG_SUPPORTED); in send_query_cap()
5109 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5112 crq.query_capability.capability = cpu_to_be16(OPT_TX_COMP_SUB_QUEUES); in send_query_cap()
5113 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5116 crq.query_capability.capability = cpu_to_be16(OPT_RX_COMP_QUEUES); in send_query_cap()
5117 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5120 crq.query_capability.capability = in send_query_cap()
5122 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5125 crq.query_capability.capability = in send_query_cap()
5127 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5130 crq.query_capability.capability = in send_query_cap()
5132 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5135 crq.query_capability.capability = cpu_to_be16(TX_RX_DESC_REQ); in send_query_cap()
5137 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
5150 union ibmvnic_crq crq; in send_query_ip_offload() local
5164 memset(&crq, 0, sizeof(crq)); in send_query_ip_offload()
5165 crq.query_ip_offload.first = IBMVNIC_CRQ_CMD; in send_query_ip_offload()
5166 crq.query_ip_offload.cmd = QUERY_IP_OFFLOAD; in send_query_ip_offload()
5167 crq.query_ip_offload.len = cpu_to_be32(buf_sz); in send_query_ip_offload()
5168 crq.query_ip_offload.ioba = in send_query_ip_offload()
5171 ibmvnic_send_crq(adapter, &crq); in send_query_ip_offload()
5180 union ibmvnic_crq crq; in send_control_ip_offload() local
5244 memset(&crq, 0, sizeof(crq)); in send_control_ip_offload()
5245 crq.control_ip_offload.first = IBMVNIC_CRQ_CMD; in send_control_ip_offload()
5246 crq.control_ip_offload.cmd = CONTROL_IP_OFFLOAD; in send_control_ip_offload()
5247 crq.control_ip_offload.len = in send_control_ip_offload()
5249 crq.control_ip_offload.ioba = cpu_to_be32(adapter->ip_offload_ctrl_tok); in send_control_ip_offload()
5250 ibmvnic_send_crq(adapter, &crq); in send_control_ip_offload()
5253 static void handle_vpd_size_rsp(union ibmvnic_crq *crq, in handle_vpd_size_rsp() argument
5258 if (crq->get_vpd_size_rsp.rc.code) { in handle_vpd_size_rsp()
5260 crq->get_vpd_size_rsp.rc.code); in handle_vpd_size_rsp()
5265 adapter->vpd->len = be64_to_cpu(crq->get_vpd_size_rsp.len); in handle_vpd_size_rsp()
5269 static void handle_vpd_rsp(union ibmvnic_crq *crq, in handle_vpd_rsp() argument
5281 if (crq->get_vpd_rsp.rc.code) { in handle_vpd_rsp()
5283 crq->get_vpd_rsp.rc.code); in handle_vpd_rsp()
5397 static void handle_error_indication(union ibmvnic_crq *crq, in handle_error_indication() argument
5403 cause = be16_to_cpu(crq->error_indication.error_cause); in handle_error_indication()
5407 crq->error_indication.flags in handle_error_indication()
5411 if (crq->error_indication.flags & IBMVNIC_FATAL_ERROR) in handle_error_indication()
5417 static int handle_change_mac_rsp(union ibmvnic_crq *crq, in handle_change_mac_rsp() argument
5424 rc = crq->change_mac_addr_rsp.rc.code; in handle_change_mac_rsp()
5432 eth_hw_addr_set(netdev, &crq->change_mac_addr_rsp.mac_addr[0]); in handle_change_mac_rsp()
5434 &crq->change_mac_addr_rsp.mac_addr[0]); in handle_change_mac_rsp()
5440 static void handle_request_cap_rsp(union ibmvnic_crq *crq, in handle_request_cap_rsp() argument
5450 switch (be16_to_cpu(crq->request_capability_rsp.capability)) { in handle_request_cap_rsp()
5481 crq->request_capability.capability); in handle_request_cap_rsp()
5485 switch (crq->request_capability_rsp.rc.code) { in handle_request_cap_rsp()
5491 (long)be64_to_cpu(crq->request_capability_rsp.number), in handle_request_cap_rsp()
5494 if (be16_to_cpu(crq->request_capability_rsp.capability) == in handle_request_cap_rsp()
5501 be64_to_cpu(crq->request_capability_rsp.number); in handle_request_cap_rsp()
5508 crq->request_capability_rsp.rc.code); in handle_request_cap_rsp()
5623 static void handle_request_unmap_rsp(union ibmvnic_crq *crq, in handle_request_unmap_rsp() argument
5629 rc = crq->request_unmap_rsp.rc.code; in handle_request_unmap_rsp()
5634 static void handle_query_map_rsp(union ibmvnic_crq *crq, in handle_query_map_rsp() argument
5641 rc = crq->query_map_rsp.rc.code; in handle_query_map_rsp()
5647 crq->query_map_rsp.page_size, in handle_query_map_rsp()
5648 __be32_to_cpu(crq->query_map_rsp.tot_pages), in handle_query_map_rsp()
5649 __be32_to_cpu(crq->query_map_rsp.free_pages)); in handle_query_map_rsp()
5652 static void handle_query_cap_rsp(union ibmvnic_crq *crq, in handle_query_cap_rsp() argument
5662 rc = crq->query_capability.rc.code; in handle_query_cap_rsp()
5668 switch (be16_to_cpu(crq->query_capability.capability)) { in handle_query_cap_rsp()
5671 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5677 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5683 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5689 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5695 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5701 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5707 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5713 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5719 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5725 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5731 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5737 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5742 adapter->min_mtu = be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5747 adapter->max_mtu = be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5753 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5759 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5767 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5773 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5779 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5785 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5791 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5797 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5803 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5809 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
5814 adapter->tx_rx_desc_req = crq->query_capability.number; in handle_query_cap_rsp()
5821 crq->query_capability.capability); in handle_query_cap_rsp()
5831 union ibmvnic_crq crq; in send_query_phys_parms() local
5834 memset(&crq, 0, sizeof(crq)); in send_query_phys_parms()
5835 crq.query_phys_parms.first = IBMVNIC_CRQ_CMD; in send_query_phys_parms()
5836 crq.query_phys_parms.cmd = QUERY_PHYS_PARMS; in send_query_phys_parms()
5842 rc = ibmvnic_send_crq(adapter, &crq); in send_query_phys_parms()
5858 static int handle_query_phys_parms_rsp(union ibmvnic_crq *crq, in handle_query_phys_parms_rsp() argument
5863 __be32 rspeed = cpu_to_be32(crq->query_phys_parms_rsp.speed); in handle_query_phys_parms_rsp()
5865 rc = crq->query_phys_parms_rsp.rc.code; in handle_query_phys_parms_rsp()
5903 if (crq->query_phys_parms_rsp.flags1 & IBMVNIC_FULL_DUPLEX) in handle_query_phys_parms_rsp()
5905 else if (crq->query_phys_parms_rsp.flags1 & IBMVNIC_HALF_DUPLEX) in handle_query_phys_parms_rsp()
5913 static void ibmvnic_handle_crq(union ibmvnic_crq *crq, in ibmvnic_handle_crq() argument
5916 struct ibmvnic_generic_crq *gen_crq = &crq->generic; in ibmvnic_handle_crq()
5919 u64 *u64_crq = (u64 *)crq; in ibmvnic_handle_crq()
5966 adapter->crq.active = true; in ibmvnic_handle_crq()
5975 adapter->crq.active = false; in ibmvnic_handle_crq()
6017 rc = crq->version_exchange_rsp.rc.code; in ibmvnic_handle_crq()
6023 be16_to_cpu(crq->version_exchange_rsp.version); in ibmvnic_handle_crq()
6029 handle_query_cap_rsp(crq, adapter); in ibmvnic_handle_crq()
6032 handle_query_map_rsp(crq, adapter); in ibmvnic_handle_crq()
6035 adapter->fw_done_rc = crq->request_map_rsp.rc.code; in ibmvnic_handle_crq()
6039 handle_request_unmap_rsp(crq, adapter); in ibmvnic_handle_crq()
6042 handle_request_cap_rsp(crq, adapter); in ibmvnic_handle_crq()
6046 handle_login_rsp(crq, adapter); in ibmvnic_handle_crq()
6051 crq->logical_link_state_rsp.link_state, in ibmvnic_handle_crq()
6052 crq->logical_link_state_rsp.rc.code); in ibmvnic_handle_crq()
6054 crq->logical_link_state_rsp.link_state; in ibmvnic_handle_crq()
6055 adapter->init_done_rc = crq->logical_link_state_rsp.rc.code; in ibmvnic_handle_crq()
6061 crq->link_state_indication.phys_link_state; in ibmvnic_handle_crq()
6063 crq->link_state_indication.logical_link_state; in ibmvnic_handle_crq()
6071 adapter->fw_done_rc = handle_change_mac_rsp(crq, adapter); in ibmvnic_handle_crq()
6075 handle_error_indication(crq, adapter); in ibmvnic_handle_crq()
6100 handle_vpd_size_rsp(crq, adapter); in ibmvnic_handle_crq()
6103 handle_vpd_rsp(crq, adapter); in ibmvnic_handle_crq()
6106 adapter->fw_done_rc = handle_query_phys_parms_rsp(crq, adapter); in ibmvnic_handle_crq()
6126 struct ibmvnic_crq_queue *queue = &adapter->crq; in ibmvnic_tasklet()
6127 union ibmvnic_crq *crq; in ibmvnic_tasklet() local
6133 while ((crq = ibmvnic_next_crq(adapter)) != NULL) { in ibmvnic_tasklet()
6140 ibmvnic_handle_crq(crq, adapter); in ibmvnic_tasklet()
6141 crq->generic.first = 0; in ibmvnic_tasklet()
6164 struct ibmvnic_crq_queue *crq = &adapter->crq; in ibmvnic_reset_crq() local
6175 if (!crq->msgs) in ibmvnic_reset_crq()
6178 memset(crq->msgs, 0, PAGE_SIZE); in ibmvnic_reset_crq()
6179 crq->cur = 0; in ibmvnic_reset_crq()
6180 crq->active = false; in ibmvnic_reset_crq()
6184 crq->msg_token, PAGE_SIZE); in ibmvnic_reset_crq()
6197 struct ibmvnic_crq_queue *crq = &adapter->crq; in release_crq_queue() local
6201 if (!crq->msgs) in release_crq_queue()
6211 dma_unmap_single(&vdev->dev, crq->msg_token, PAGE_SIZE, in release_crq_queue()
6213 free_page((unsigned long)crq->msgs); in release_crq_queue()
6214 crq->msgs = NULL; in release_crq_queue()
6215 crq->active = false; in release_crq_queue()
6220 struct ibmvnic_crq_queue *crq = &adapter->crq; in init_crq_queue() local
6225 if (crq->msgs) in init_crq_queue()
6228 crq->msgs = (union ibmvnic_crq *)get_zeroed_page(GFP_KERNEL); in init_crq_queue()
6231 if (!crq->msgs) in init_crq_queue()
6234 crq->size = PAGE_SIZE / sizeof(*crq->msgs); in init_crq_queue()
6235 crq->msg_token = dma_map_single(dev, crq->msgs, PAGE_SIZE, in init_crq_queue()
6237 if (dma_mapping_error(dev, crq->msg_token)) in init_crq_queue()
6241 crq->msg_token, PAGE_SIZE); in init_crq_queue()
6260 snprintf(crq->name, sizeof(crq->name), "ibmvnic-%x", in init_crq_queue()
6262 rc = request_irq(vdev->irq, ibmvnic_interrupt, 0, crq->name, adapter); in init_crq_queue()
6275 crq->cur = 0; in init_crq_queue()
6276 spin_lock_init(&crq->lock); in init_crq_queue()
6289 dma_unmap_single(dev, crq->msg_token, PAGE_SIZE, DMA_BIDIRECTIONAL); in init_crq_queue()
6291 free_page((unsigned long)crq->msgs); in init_crq_queue()
6292 crq->msgs = NULL; in init_crq_queue()