Lines Matching refs:crq

179 		if (!adapter->crq.active) {  in ibmvnic_wait_for_completion()
964 union ibmvnic_crq crq; in set_link_state() local
970 memset(&crq, 0, sizeof(crq)); in set_link_state()
971 crq.logical_link_state.first = IBMVNIC_CRQ_CMD; in set_link_state()
972 crq.logical_link_state.cmd = LOGICAL_LINK_STATE; in set_link_state()
973 crq.logical_link_state.link_state = link_state; in set_link_state()
979 rc = ibmvnic_send_crq(adapter, &crq); in set_link_state()
1029 union ibmvnic_crq crq; in ibmvnic_get_vpd() local
1040 crq.get_vpd_size.first = IBMVNIC_CRQ_CMD; in ibmvnic_get_vpd()
1041 crq.get_vpd_size.cmd = GET_VPD_SIZE; in ibmvnic_get_vpd()
1042 rc = ibmvnic_send_crq(adapter, &crq); in ibmvnic_get_vpd()
1085 crq.get_vpd.first = IBMVNIC_CRQ_CMD; in ibmvnic_get_vpd()
1086 crq.get_vpd.cmd = GET_VPD; in ibmvnic_get_vpd()
1087 crq.get_vpd.ioba = cpu_to_be32(adapter->vpd->dma_addr); in ibmvnic_get_vpd()
1088 crq.get_vpd.len = cpu_to_be32((u32)adapter->vpd->len); in ibmvnic_get_vpd()
1089 rc = ibmvnic_send_crq(adapter, &crq); in ibmvnic_get_vpd()
1837 union ibmvnic_crq crq; in ibmvnic_set_multi() local
1839 memset(&crq, 0, sizeof(crq)); in ibmvnic_set_multi()
1840 crq.request_capability.first = IBMVNIC_CRQ_CMD; in ibmvnic_set_multi()
1841 crq.request_capability.cmd = REQUEST_CAPABILITY; in ibmvnic_set_multi()
1849 memset(&crq, 0, sizeof(crq)); in ibmvnic_set_multi()
1850 crq.multicast_ctrl.first = IBMVNIC_CRQ_CMD; in ibmvnic_set_multi()
1851 crq.multicast_ctrl.cmd = MULTICAST_CTRL; in ibmvnic_set_multi()
1852 crq.multicast_ctrl.flags = IBMVNIC_ENABLE_ALL; in ibmvnic_set_multi()
1853 ibmvnic_send_crq(adapter, &crq); in ibmvnic_set_multi()
1856 memset(&crq, 0, sizeof(crq)); in ibmvnic_set_multi()
1857 crq.multicast_ctrl.first = IBMVNIC_CRQ_CMD; in ibmvnic_set_multi()
1858 crq.multicast_ctrl.cmd = MULTICAST_CTRL; in ibmvnic_set_multi()
1859 crq.multicast_ctrl.flags = IBMVNIC_DISABLE_ALL; in ibmvnic_set_multi()
1860 ibmvnic_send_crq(adapter, &crq); in ibmvnic_set_multi()
1864 memset(&crq, 0, sizeof(crq)); in ibmvnic_set_multi()
1865 crq.multicast_ctrl.first = IBMVNIC_CRQ_CMD; in ibmvnic_set_multi()
1866 crq.multicast_ctrl.cmd = MULTICAST_CTRL; in ibmvnic_set_multi()
1867 crq.multicast_ctrl.flags = IBMVNIC_ENABLE_MC; in ibmvnic_set_multi()
1868 ether_addr_copy(&crq.multicast_ctrl.mac_addr[0], in ibmvnic_set_multi()
1870 ibmvnic_send_crq(adapter, &crq); in ibmvnic_set_multi()
1879 union ibmvnic_crq crq; in __ibmvnic_set_mac() local
1887 memset(&crq, 0, sizeof(crq)); in __ibmvnic_set_mac()
1888 crq.change_mac_addr.first = IBMVNIC_CRQ_CMD; in __ibmvnic_set_mac()
1889 crq.change_mac_addr.cmd = CHANGE_MAC_ADDR; in __ibmvnic_set_mac()
1890 ether_addr_copy(&crq.change_mac_addr.mac_addr[0], dev_addr); in __ibmvnic_set_mac()
1896 rc = ibmvnic_send_crq(adapter, &crq); in __ibmvnic_set_mac()
2884 union ibmvnic_crq crq; in ibmvnic_get_ethtool_stats() local
2888 memset(&crq, 0, sizeof(crq)); in ibmvnic_get_ethtool_stats()
2889 crq.request_statistics.first = IBMVNIC_CRQ_CMD; in ibmvnic_get_ethtool_stats()
2890 crq.request_statistics.cmd = REQUEST_STATISTICS; in ibmvnic_get_ethtool_stats()
2891 crq.request_statistics.ioba = cpu_to_be32(adapter->stats_token); in ibmvnic_get_ethtool_stats()
2892 crq.request_statistics.len = in ibmvnic_get_ethtool_stats()
2897 rc = ibmvnic_send_crq(adapter, &crq); in ibmvnic_get_ethtool_stats()
3495 union ibmvnic_crq crq; in send_request_cap() local
3564 memset(&crq, 0, sizeof(crq)); in send_request_cap()
3565 crq.request_capability.first = IBMVNIC_CRQ_CMD; in send_request_cap()
3566 crq.request_capability.cmd = REQUEST_CAPABILITY; in send_request_cap()
3568 crq.request_capability.capability = cpu_to_be16(REQ_TX_QUEUES); in send_request_cap()
3569 crq.request_capability.number = cpu_to_be64(adapter->req_tx_queues); in send_request_cap()
3571 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
3573 crq.request_capability.capability = cpu_to_be16(REQ_RX_QUEUES); in send_request_cap()
3574 crq.request_capability.number = cpu_to_be64(adapter->req_rx_queues); in send_request_cap()
3576 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
3578 crq.request_capability.capability = cpu_to_be16(REQ_RX_ADD_QUEUES); in send_request_cap()
3579 crq.request_capability.number = cpu_to_be64(adapter->req_rx_add_queues); in send_request_cap()
3581 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
3583 crq.request_capability.capability = in send_request_cap()
3585 crq.request_capability.number = in send_request_cap()
3588 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
3590 crq.request_capability.capability = in send_request_cap()
3592 crq.request_capability.number = in send_request_cap()
3595 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
3597 crq.request_capability.capability = cpu_to_be16(REQ_MTU); in send_request_cap()
3598 crq.request_capability.number = cpu_to_be64(adapter->req_mtu); in send_request_cap()
3600 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
3604 crq.request_capability.capability = in send_request_cap()
3606 crq.request_capability.number = cpu_to_be64(1); in send_request_cap()
3608 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
3611 crq.request_capability.capability = in send_request_cap()
3613 crq.request_capability.number = cpu_to_be64(0); in send_request_cap()
3615 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
3661 struct ibmvnic_crq_queue *queue = &adapter->crq; in ibmvnic_next_crq()
3662 union ibmvnic_crq *crq; in ibmvnic_next_crq() local
3664 crq = &queue->msgs[queue->cur]; in ibmvnic_next_crq()
3665 if (crq->generic.first & IBMVNIC_CRQ_CMD_RSP) { in ibmvnic_next_crq()
3669 crq = NULL; in ibmvnic_next_crq()
3672 return crq; in ibmvnic_next_crq()
3714 union ibmvnic_crq *crq) in ibmvnic_send_crq() argument
3718 u64 *u64_crq = (u64 *)crq; in ibmvnic_send_crq()
3725 if (!adapter->crq.active && in ibmvnic_send_crq()
3726 crq->generic.first != IBMVNIC_CRQ_INIT_CMD) { in ibmvnic_send_crq()
3753 union ibmvnic_crq crq; in ibmvnic_send_crq_init() local
3757 memset(&crq, 0, sizeof(crq)); in ibmvnic_send_crq_init()
3758 crq.generic.first = IBMVNIC_CRQ_INIT_CMD; in ibmvnic_send_crq_init()
3759 crq.generic.cmd = IBMVNIC_CRQ_INIT; in ibmvnic_send_crq_init()
3763 rc = ibmvnic_send_crq(adapter, &crq); in ibmvnic_send_crq_init()
3781 union ibmvnic_crq crq; in send_version_xchg() local
3783 memset(&crq, 0, sizeof(crq)); in send_version_xchg()
3784 crq.version_exchange.first = IBMVNIC_CRQ_CMD; in send_version_xchg()
3785 crq.version_exchange.cmd = VERSION_EXCHANGE; in send_version_xchg()
3786 crq.version_exchange.version = cpu_to_be16(ibmvnic_version); in send_version_xchg()
3788 return ibmvnic_send_crq(adapter, &crq); in send_version_xchg()
3849 union ibmvnic_crq crq; in send_login() local
3955 memset(&crq, 0, sizeof(crq)); in send_login()
3956 crq.login.first = IBMVNIC_CRQ_CMD; in send_login()
3957 crq.login.cmd = LOGIN; in send_login()
3958 crq.login.ioba = cpu_to_be32(buffer_token); in send_login()
3959 crq.login.len = cpu_to_be32(buffer_size); in send_login()
3962 rc = ibmvnic_send_crq(adapter, &crq); in send_login()
3986 union ibmvnic_crq crq; in send_request_map() local
3988 memset(&crq, 0, sizeof(crq)); in send_request_map()
3989 crq.request_map.first = IBMVNIC_CRQ_CMD; in send_request_map()
3990 crq.request_map.cmd = REQUEST_MAP; in send_request_map()
3991 crq.request_map.map_id = map_id; in send_request_map()
3992 crq.request_map.ioba = cpu_to_be32(addr); in send_request_map()
3993 crq.request_map.len = cpu_to_be32(len); in send_request_map()
3994 return ibmvnic_send_crq(adapter, &crq); in send_request_map()
3999 union ibmvnic_crq crq; in send_request_unmap() local
4001 memset(&crq, 0, sizeof(crq)); in send_request_unmap()
4002 crq.request_unmap.first = IBMVNIC_CRQ_CMD; in send_request_unmap()
4003 crq.request_unmap.cmd = REQUEST_UNMAP; in send_request_unmap()
4004 crq.request_unmap.map_id = map_id; in send_request_unmap()
4005 return ibmvnic_send_crq(adapter, &crq); in send_request_unmap()
4010 union ibmvnic_crq crq; in send_query_map() local
4012 memset(&crq, 0, sizeof(crq)); in send_query_map()
4013 crq.query_map.first = IBMVNIC_CRQ_CMD; in send_query_map()
4014 crq.query_map.cmd = QUERY_MAP; in send_query_map()
4015 ibmvnic_send_crq(adapter, &crq); in send_query_map()
4021 union ibmvnic_crq crq; in send_query_cap() local
4024 memset(&crq, 0, sizeof(crq)); in send_query_cap()
4025 crq.query_capability.first = IBMVNIC_CRQ_CMD; in send_query_cap()
4026 crq.query_capability.cmd = QUERY_CAPABILITY; in send_query_cap()
4028 crq.query_capability.capability = cpu_to_be16(MIN_TX_QUEUES); in send_query_cap()
4030 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4032 crq.query_capability.capability = cpu_to_be16(MIN_RX_QUEUES); in send_query_cap()
4034 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4036 crq.query_capability.capability = cpu_to_be16(MIN_RX_ADD_QUEUES); in send_query_cap()
4038 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4040 crq.query_capability.capability = cpu_to_be16(MAX_TX_QUEUES); in send_query_cap()
4042 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4044 crq.query_capability.capability = cpu_to_be16(MAX_RX_QUEUES); in send_query_cap()
4046 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4048 crq.query_capability.capability = cpu_to_be16(MAX_RX_ADD_QUEUES); in send_query_cap()
4050 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4052 crq.query_capability.capability = in send_query_cap()
4055 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4057 crq.query_capability.capability = in send_query_cap()
4060 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4062 crq.query_capability.capability = in send_query_cap()
4065 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4067 crq.query_capability.capability = in send_query_cap()
4070 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4072 crq.query_capability.capability = cpu_to_be16(TCP_IP_OFFLOAD); in send_query_cap()
4074 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4076 crq.query_capability.capability = cpu_to_be16(PROMISC_SUPPORTED); in send_query_cap()
4078 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4080 crq.query_capability.capability = cpu_to_be16(MIN_MTU); in send_query_cap()
4082 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4084 crq.query_capability.capability = cpu_to_be16(MAX_MTU); in send_query_cap()
4086 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4088 crq.query_capability.capability = cpu_to_be16(MAX_MULTICAST_FILTERS); in send_query_cap()
4090 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4092 crq.query_capability.capability = cpu_to_be16(VLAN_HEADER_INSERTION); in send_query_cap()
4094 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4096 crq.query_capability.capability = cpu_to_be16(RX_VLAN_HEADER_INSERTION); in send_query_cap()
4098 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4100 crq.query_capability.capability = cpu_to_be16(MAX_TX_SG_ENTRIES); in send_query_cap()
4102 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4104 crq.query_capability.capability = cpu_to_be16(RX_SG_SUPPORTED); in send_query_cap()
4106 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4108 crq.query_capability.capability = cpu_to_be16(OPT_TX_COMP_SUB_QUEUES); in send_query_cap()
4110 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4112 crq.query_capability.capability = cpu_to_be16(OPT_RX_COMP_QUEUES); in send_query_cap()
4114 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4116 crq.query_capability.capability = in send_query_cap()
4119 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4121 crq.query_capability.capability = in send_query_cap()
4124 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4126 crq.query_capability.capability = in send_query_cap()
4129 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4131 crq.query_capability.capability = cpu_to_be16(TX_RX_DESC_REQ); in send_query_cap()
4133 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4140 union ibmvnic_crq crq; in send_query_ip_offload() local
4154 memset(&crq, 0, sizeof(crq)); in send_query_ip_offload()
4155 crq.query_ip_offload.first = IBMVNIC_CRQ_CMD; in send_query_ip_offload()
4156 crq.query_ip_offload.cmd = QUERY_IP_OFFLOAD; in send_query_ip_offload()
4157 crq.query_ip_offload.len = cpu_to_be32(buf_sz); in send_query_ip_offload()
4158 crq.query_ip_offload.ioba = in send_query_ip_offload()
4161 ibmvnic_send_crq(adapter, &crq); in send_query_ip_offload()
4170 union ibmvnic_crq crq; in send_control_ip_offload() local
4234 memset(&crq, 0, sizeof(crq)); in send_control_ip_offload()
4235 crq.control_ip_offload.first = IBMVNIC_CRQ_CMD; in send_control_ip_offload()
4236 crq.control_ip_offload.cmd = CONTROL_IP_OFFLOAD; in send_control_ip_offload()
4237 crq.control_ip_offload.len = in send_control_ip_offload()
4239 crq.control_ip_offload.ioba = cpu_to_be32(adapter->ip_offload_ctrl_tok); in send_control_ip_offload()
4240 ibmvnic_send_crq(adapter, &crq); in send_control_ip_offload()
4243 static void handle_vpd_size_rsp(union ibmvnic_crq *crq, in handle_vpd_size_rsp() argument
4248 if (crq->get_vpd_size_rsp.rc.code) { in handle_vpd_size_rsp()
4250 crq->get_vpd_size_rsp.rc.code); in handle_vpd_size_rsp()
4255 adapter->vpd->len = be64_to_cpu(crq->get_vpd_size_rsp.len); in handle_vpd_size_rsp()
4259 static void handle_vpd_rsp(union ibmvnic_crq *crq, in handle_vpd_rsp() argument
4271 if (crq->get_vpd_rsp.rc.code) { in handle_vpd_rsp()
4273 crq->get_vpd_rsp.rc.code); in handle_vpd_rsp()
4386 static void handle_error_indication(union ibmvnic_crq *crq, in handle_error_indication() argument
4392 cause = be16_to_cpu(crq->error_indication.error_cause); in handle_error_indication()
4396 crq->error_indication.flags in handle_error_indication()
4400 if (crq->error_indication.flags & IBMVNIC_FATAL_ERROR) in handle_error_indication()
4406 static int handle_change_mac_rsp(union ibmvnic_crq *crq, in handle_change_mac_rsp() argument
4413 rc = crq->change_mac_addr_rsp.rc.code; in handle_change_mac_rsp()
4422 &crq->change_mac_addr_rsp.mac_addr[0]); in handle_change_mac_rsp()
4424 &crq->change_mac_addr_rsp.mac_addr[0]); in handle_change_mac_rsp()
4430 static void handle_request_cap_rsp(union ibmvnic_crq *crq, in handle_request_cap_rsp() argument
4438 switch (be16_to_cpu(crq->request_capability_rsp.capability)) { in handle_request_cap_rsp()
4469 crq->request_capability.capability); in handle_request_cap_rsp()
4473 switch (crq->request_capability_rsp.rc.code) { in handle_request_cap_rsp()
4479 (long)be64_to_cpu(crq->request_capability_rsp.number), in handle_request_cap_rsp()
4482 if (be16_to_cpu(crq->request_capability_rsp.capability) == in handle_request_cap_rsp()
4489 be64_to_cpu(crq->request_capability_rsp.number); in handle_request_cap_rsp()
4496 crq->request_capability_rsp.rc.code); in handle_request_cap_rsp()
4592 static void handle_request_unmap_rsp(union ibmvnic_crq *crq, in handle_request_unmap_rsp() argument
4598 rc = crq->request_unmap_rsp.rc.code; in handle_request_unmap_rsp()
4603 static void handle_query_map_rsp(union ibmvnic_crq *crq, in handle_query_map_rsp() argument
4610 rc = crq->query_map_rsp.rc.code; in handle_query_map_rsp()
4616 crq->query_map_rsp.page_size, crq->query_map_rsp.tot_pages, in handle_query_map_rsp()
4617 crq->query_map_rsp.free_pages); in handle_query_map_rsp()
4620 static void handle_query_cap_rsp(union ibmvnic_crq *crq, in handle_query_cap_rsp() argument
4630 rc = crq->query_capability.rc.code; in handle_query_cap_rsp()
4636 switch (be16_to_cpu(crq->query_capability.capability)) { in handle_query_cap_rsp()
4639 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4645 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4651 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4657 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4663 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4669 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4675 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4681 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4687 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4693 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4699 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4705 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4710 adapter->min_mtu = be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4715 adapter->max_mtu = be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4721 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4727 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4735 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4741 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4747 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4753 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4759 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4765 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4771 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4777 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4782 adapter->tx_rx_desc_req = crq->query_capability.number; in handle_query_cap_rsp()
4789 crq->query_capability.capability); in handle_query_cap_rsp()
4801 union ibmvnic_crq crq; in send_query_phys_parms() local
4804 memset(&crq, 0, sizeof(crq)); in send_query_phys_parms()
4805 crq.query_phys_parms.first = IBMVNIC_CRQ_CMD; in send_query_phys_parms()
4806 crq.query_phys_parms.cmd = QUERY_PHYS_PARMS; in send_query_phys_parms()
4812 rc = ibmvnic_send_crq(adapter, &crq); in send_query_phys_parms()
4828 static int handle_query_phys_parms_rsp(union ibmvnic_crq *crq, in handle_query_phys_parms_rsp() argument
4833 __be32 rspeed = cpu_to_be32(crq->query_phys_parms_rsp.speed); in handle_query_phys_parms_rsp()
4835 rc = crq->query_phys_parms_rsp.rc.code; in handle_query_phys_parms_rsp()
4873 if (crq->query_phys_parms_rsp.flags1 & IBMVNIC_FULL_DUPLEX) in handle_query_phys_parms_rsp()
4875 else if (crq->query_phys_parms_rsp.flags1 & IBMVNIC_HALF_DUPLEX) in handle_query_phys_parms_rsp()
4883 static void ibmvnic_handle_crq(union ibmvnic_crq *crq, in ibmvnic_handle_crq() argument
4886 struct ibmvnic_generic_crq *gen_crq = &crq->generic; in ibmvnic_handle_crq()
4889 u64 *u64_crq = (u64 *)crq; in ibmvnic_handle_crq()
4929 adapter->crq.active = true; in ibmvnic_handle_crq()
4938 adapter->crq.active = false; in ibmvnic_handle_crq()
4973 rc = crq->version_exchange_rsp.rc.code; in ibmvnic_handle_crq()
4979 be16_to_cpu(crq->version_exchange_rsp.version); in ibmvnic_handle_crq()
4985 handle_query_cap_rsp(crq, adapter); in ibmvnic_handle_crq()
4988 handle_query_map_rsp(crq, adapter); in ibmvnic_handle_crq()
4991 adapter->fw_done_rc = crq->request_map_rsp.rc.code; in ibmvnic_handle_crq()
4995 handle_request_unmap_rsp(crq, adapter); in ibmvnic_handle_crq()
4998 handle_request_cap_rsp(crq, adapter); in ibmvnic_handle_crq()
5002 handle_login_rsp(crq, adapter); in ibmvnic_handle_crq()
5007 crq->logical_link_state_rsp.link_state, in ibmvnic_handle_crq()
5008 crq->logical_link_state_rsp.rc.code); in ibmvnic_handle_crq()
5010 crq->logical_link_state_rsp.link_state; in ibmvnic_handle_crq()
5011 adapter->init_done_rc = crq->logical_link_state_rsp.rc.code; in ibmvnic_handle_crq()
5017 crq->link_state_indication.phys_link_state; in ibmvnic_handle_crq()
5019 crq->link_state_indication.logical_link_state; in ibmvnic_handle_crq()
5027 adapter->fw_done_rc = handle_change_mac_rsp(crq, adapter); in ibmvnic_handle_crq()
5031 handle_error_indication(crq, adapter); in ibmvnic_handle_crq()
5056 handle_vpd_size_rsp(crq, adapter); in ibmvnic_handle_crq()
5059 handle_vpd_rsp(crq, adapter); in ibmvnic_handle_crq()
5062 adapter->fw_done_rc = handle_query_phys_parms_rsp(crq, adapter); in ibmvnic_handle_crq()
5082 struct ibmvnic_crq_queue *queue = &adapter->crq; in ibmvnic_tasklet()
5083 union ibmvnic_crq *crq; in ibmvnic_tasklet() local
5090 while ((crq = ibmvnic_next_crq(adapter)) != NULL) { in ibmvnic_tasklet()
5097 ibmvnic_handle_crq(crq, adapter); in ibmvnic_tasklet()
5098 crq->generic.first = 0; in ibmvnic_tasklet()
5132 struct ibmvnic_crq_queue *crq = &adapter->crq; in ibmvnic_reset_crq() local
5143 if (!crq->msgs) in ibmvnic_reset_crq()
5146 memset(crq->msgs, 0, PAGE_SIZE); in ibmvnic_reset_crq()
5147 crq->cur = 0; in ibmvnic_reset_crq()
5148 crq->active = false; in ibmvnic_reset_crq()
5152 crq->msg_token, PAGE_SIZE); in ibmvnic_reset_crq()
5165 struct ibmvnic_crq_queue *crq = &adapter->crq; in release_crq_queue() local
5169 if (!crq->msgs) in release_crq_queue()
5179 dma_unmap_single(&vdev->dev, crq->msg_token, PAGE_SIZE, in release_crq_queue()
5181 free_page((unsigned long)crq->msgs); in release_crq_queue()
5182 crq->msgs = NULL; in release_crq_queue()
5183 crq->active = false; in release_crq_queue()
5188 struct ibmvnic_crq_queue *crq = &adapter->crq; in init_crq_queue() local
5193 if (crq->msgs) in init_crq_queue()
5196 crq->msgs = (union ibmvnic_crq *)get_zeroed_page(GFP_KERNEL); in init_crq_queue()
5199 if (!crq->msgs) in init_crq_queue()
5202 crq->size = PAGE_SIZE / sizeof(*crq->msgs); in init_crq_queue()
5203 crq->msg_token = dma_map_single(dev, crq->msgs, PAGE_SIZE, in init_crq_queue()
5205 if (dma_mapping_error(dev, crq->msg_token)) in init_crq_queue()
5209 crq->msg_token, PAGE_SIZE); in init_crq_queue()
5228 snprintf(crq->name, sizeof(crq->name), "ibmvnic-%x", in init_crq_queue()
5230 rc = request_irq(vdev->irq, ibmvnic_interrupt, 0, crq->name, adapter); in init_crq_queue()
5243 crq->cur = 0; in init_crq_queue()
5244 spin_lock_init(&crq->lock); in init_crq_queue()
5254 dma_unmap_single(dev, crq->msg_token, PAGE_SIZE, DMA_BIDIRECTIONAL); in init_crq_queue()
5256 free_page((unsigned long)crq->msgs); in init_crq_queue()
5257 crq->msgs = NULL; in init_crq_queue()