Lines Matching refs:crq

182 		if (!adapter->crq.active) {  in ibmvnic_wait_for_completion()
958 union ibmvnic_crq crq; in set_link_state() local
964 memset(&crq, 0, sizeof(crq)); in set_link_state()
965 crq.logical_link_state.first = IBMVNIC_CRQ_CMD; in set_link_state()
966 crq.logical_link_state.cmd = LOGICAL_LINK_STATE; in set_link_state()
967 crq.logical_link_state.link_state = link_state; in set_link_state()
973 rc = ibmvnic_send_crq(adapter, &crq); in set_link_state()
1023 union ibmvnic_crq crq; in ibmvnic_get_vpd() local
1034 crq.get_vpd_size.first = IBMVNIC_CRQ_CMD; in ibmvnic_get_vpd()
1035 crq.get_vpd_size.cmd = GET_VPD_SIZE; in ibmvnic_get_vpd()
1036 rc = ibmvnic_send_crq(adapter, &crq); in ibmvnic_get_vpd()
1079 crq.get_vpd.first = IBMVNIC_CRQ_CMD; in ibmvnic_get_vpd()
1080 crq.get_vpd.cmd = GET_VPD; in ibmvnic_get_vpd()
1081 crq.get_vpd.ioba = cpu_to_be32(adapter->vpd->dma_addr); in ibmvnic_get_vpd()
1082 crq.get_vpd.len = cpu_to_be32((u32)adapter->vpd->len); in ibmvnic_get_vpd()
1083 rc = ibmvnic_send_crq(adapter, &crq); in ibmvnic_get_vpd()
1756 union ibmvnic_crq crq; in ibmvnic_set_multi() local
1758 memset(&crq, 0, sizeof(crq)); in ibmvnic_set_multi()
1759 crq.request_capability.first = IBMVNIC_CRQ_CMD; in ibmvnic_set_multi()
1760 crq.request_capability.cmd = REQUEST_CAPABILITY; in ibmvnic_set_multi()
1768 memset(&crq, 0, sizeof(crq)); in ibmvnic_set_multi()
1769 crq.multicast_ctrl.first = IBMVNIC_CRQ_CMD; in ibmvnic_set_multi()
1770 crq.multicast_ctrl.cmd = MULTICAST_CTRL; in ibmvnic_set_multi()
1771 crq.multicast_ctrl.flags = IBMVNIC_ENABLE_ALL; in ibmvnic_set_multi()
1772 ibmvnic_send_crq(adapter, &crq); in ibmvnic_set_multi()
1775 memset(&crq, 0, sizeof(crq)); in ibmvnic_set_multi()
1776 crq.multicast_ctrl.first = IBMVNIC_CRQ_CMD; in ibmvnic_set_multi()
1777 crq.multicast_ctrl.cmd = MULTICAST_CTRL; in ibmvnic_set_multi()
1778 crq.multicast_ctrl.flags = IBMVNIC_DISABLE_ALL; in ibmvnic_set_multi()
1779 ibmvnic_send_crq(adapter, &crq); in ibmvnic_set_multi()
1783 memset(&crq, 0, sizeof(crq)); in ibmvnic_set_multi()
1784 crq.multicast_ctrl.first = IBMVNIC_CRQ_CMD; in ibmvnic_set_multi()
1785 crq.multicast_ctrl.cmd = MULTICAST_CTRL; in ibmvnic_set_multi()
1786 crq.multicast_ctrl.flags = IBMVNIC_ENABLE_MC; in ibmvnic_set_multi()
1787 ether_addr_copy(&crq.multicast_ctrl.mac_addr[0], in ibmvnic_set_multi()
1789 ibmvnic_send_crq(adapter, &crq); in ibmvnic_set_multi()
1798 union ibmvnic_crq crq; in __ibmvnic_set_mac() local
1806 memset(&crq, 0, sizeof(crq)); in __ibmvnic_set_mac()
1807 crq.change_mac_addr.first = IBMVNIC_CRQ_CMD; in __ibmvnic_set_mac()
1808 crq.change_mac_addr.cmd = CHANGE_MAC_ADDR; in __ibmvnic_set_mac()
1809 ether_addr_copy(&crq.change_mac_addr.mac_addr[0], dev_addr); in __ibmvnic_set_mac()
1815 rc = ibmvnic_send_crq(adapter, &crq); in __ibmvnic_set_mac()
2778 union ibmvnic_crq crq; in ibmvnic_get_ethtool_stats() local
2782 memset(&crq, 0, sizeof(crq)); in ibmvnic_get_ethtool_stats()
2783 crq.request_statistics.first = IBMVNIC_CRQ_CMD; in ibmvnic_get_ethtool_stats()
2784 crq.request_statistics.cmd = REQUEST_STATISTICS; in ibmvnic_get_ethtool_stats()
2785 crq.request_statistics.ioba = cpu_to_be32(adapter->stats_token); in ibmvnic_get_ethtool_stats()
2786 crq.request_statistics.len = in ibmvnic_get_ethtool_stats()
2791 rc = ibmvnic_send_crq(adapter, &crq); in ibmvnic_get_ethtool_stats()
3346 union ibmvnic_crq crq; in send_request_cap() local
3430 memset(&crq, 0, sizeof(crq)); in send_request_cap()
3431 crq.request_capability.first = IBMVNIC_CRQ_CMD; in send_request_cap()
3432 crq.request_capability.cmd = REQUEST_CAPABILITY; in send_request_cap()
3434 crq.request_capability.capability = cpu_to_be16(REQ_TX_QUEUES); in send_request_cap()
3435 crq.request_capability.number = cpu_to_be64(adapter->req_tx_queues); in send_request_cap()
3437 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
3439 crq.request_capability.capability = cpu_to_be16(REQ_RX_QUEUES); in send_request_cap()
3440 crq.request_capability.number = cpu_to_be64(adapter->req_rx_queues); in send_request_cap()
3442 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
3444 crq.request_capability.capability = cpu_to_be16(REQ_RX_ADD_QUEUES); in send_request_cap()
3445 crq.request_capability.number = cpu_to_be64(adapter->req_rx_add_queues); in send_request_cap()
3447 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
3449 crq.request_capability.capability = in send_request_cap()
3451 crq.request_capability.number = in send_request_cap()
3454 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
3456 crq.request_capability.capability = in send_request_cap()
3458 crq.request_capability.number = in send_request_cap()
3461 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
3463 crq.request_capability.capability = cpu_to_be16(REQ_MTU); in send_request_cap()
3464 crq.request_capability.number = cpu_to_be64(adapter->req_mtu); in send_request_cap()
3466 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
3470 crq.request_capability.capability = in send_request_cap()
3472 crq.request_capability.number = cpu_to_be64(1); in send_request_cap()
3474 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
3477 crq.request_capability.capability = in send_request_cap()
3479 crq.request_capability.number = cpu_to_be64(0); in send_request_cap()
3481 ibmvnic_send_crq(adapter, &crq); in send_request_cap()
3527 struct ibmvnic_crq_queue *queue = &adapter->crq; in ibmvnic_next_crq()
3528 union ibmvnic_crq *crq; in ibmvnic_next_crq() local
3530 crq = &queue->msgs[queue->cur]; in ibmvnic_next_crq()
3531 if (crq->generic.first & IBMVNIC_CRQ_CMD_RSP) { in ibmvnic_next_crq()
3535 crq = NULL; in ibmvnic_next_crq()
3538 return crq; in ibmvnic_next_crq()
3612 union ibmvnic_crq *crq) in ibmvnic_send_crq() argument
3616 u64 *u64_crq = (u64 *)crq; in ibmvnic_send_crq()
3623 if (!adapter->crq.active && in ibmvnic_send_crq()
3624 crq->generic.first != IBMVNIC_CRQ_INIT_CMD) { in ibmvnic_send_crq()
3651 union ibmvnic_crq crq; in ibmvnic_send_crq_init() local
3655 memset(&crq, 0, sizeof(crq)); in ibmvnic_send_crq_init()
3656 crq.generic.first = IBMVNIC_CRQ_INIT_CMD; in ibmvnic_send_crq_init()
3657 crq.generic.cmd = IBMVNIC_CRQ_INIT; in ibmvnic_send_crq_init()
3661 rc = ibmvnic_send_crq(adapter, &crq); in ibmvnic_send_crq_init()
3679 union ibmvnic_crq crq; in send_version_xchg() local
3681 memset(&crq, 0, sizeof(crq)); in send_version_xchg()
3682 crq.version_exchange.first = IBMVNIC_CRQ_CMD; in send_version_xchg()
3683 crq.version_exchange.cmd = VERSION_EXCHANGE; in send_version_xchg()
3684 crq.version_exchange.version = cpu_to_be16(ibmvnic_version); in send_version_xchg()
3686 return ibmvnic_send_crq(adapter, &crq); in send_version_xchg()
3747 union ibmvnic_crq crq; in send_login() local
3853 memset(&crq, 0, sizeof(crq)); in send_login()
3854 crq.login.first = IBMVNIC_CRQ_CMD; in send_login()
3855 crq.login.cmd = LOGIN; in send_login()
3856 crq.login.ioba = cpu_to_be32(buffer_token); in send_login()
3857 crq.login.len = cpu_to_be32(buffer_size); in send_login()
3860 rc = ibmvnic_send_crq(adapter, &crq); in send_login()
3884 union ibmvnic_crq crq; in send_request_map() local
3886 memset(&crq, 0, sizeof(crq)); in send_request_map()
3887 crq.request_map.first = IBMVNIC_CRQ_CMD; in send_request_map()
3888 crq.request_map.cmd = REQUEST_MAP; in send_request_map()
3889 crq.request_map.map_id = map_id; in send_request_map()
3890 crq.request_map.ioba = cpu_to_be32(addr); in send_request_map()
3891 crq.request_map.len = cpu_to_be32(len); in send_request_map()
3892 return ibmvnic_send_crq(adapter, &crq); in send_request_map()
3897 union ibmvnic_crq crq; in send_request_unmap() local
3899 memset(&crq, 0, sizeof(crq)); in send_request_unmap()
3900 crq.request_unmap.first = IBMVNIC_CRQ_CMD; in send_request_unmap()
3901 crq.request_unmap.cmd = REQUEST_UNMAP; in send_request_unmap()
3902 crq.request_unmap.map_id = map_id; in send_request_unmap()
3903 return ibmvnic_send_crq(adapter, &crq); in send_request_unmap()
3908 union ibmvnic_crq crq; in send_query_map() local
3910 memset(&crq, 0, sizeof(crq)); in send_query_map()
3911 crq.query_map.first = IBMVNIC_CRQ_CMD; in send_query_map()
3912 crq.query_map.cmd = QUERY_MAP; in send_query_map()
3913 ibmvnic_send_crq(adapter, &crq); in send_query_map()
3919 union ibmvnic_crq crq; in send_query_cap() local
3930 memset(&crq, 0, sizeof(crq)); in send_query_cap()
3931 crq.query_capability.first = IBMVNIC_CRQ_CMD; in send_query_cap()
3932 crq.query_capability.cmd = QUERY_CAPABILITY; in send_query_cap()
3934 crq.query_capability.capability = cpu_to_be16(MIN_TX_QUEUES); in send_query_cap()
3935 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
3938 crq.query_capability.capability = cpu_to_be16(MIN_RX_QUEUES); in send_query_cap()
3939 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
3942 crq.query_capability.capability = cpu_to_be16(MIN_RX_ADD_QUEUES); in send_query_cap()
3943 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
3946 crq.query_capability.capability = cpu_to_be16(MAX_TX_QUEUES); in send_query_cap()
3947 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
3950 crq.query_capability.capability = cpu_to_be16(MAX_RX_QUEUES); in send_query_cap()
3951 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
3954 crq.query_capability.capability = cpu_to_be16(MAX_RX_ADD_QUEUES); in send_query_cap()
3955 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
3958 crq.query_capability.capability = in send_query_cap()
3960 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
3963 crq.query_capability.capability = in send_query_cap()
3965 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
3968 crq.query_capability.capability = in send_query_cap()
3970 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
3973 crq.query_capability.capability = in send_query_cap()
3975 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
3978 crq.query_capability.capability = cpu_to_be16(TCP_IP_OFFLOAD); in send_query_cap()
3979 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
3982 crq.query_capability.capability = cpu_to_be16(PROMISC_SUPPORTED); in send_query_cap()
3983 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
3986 crq.query_capability.capability = cpu_to_be16(MIN_MTU); in send_query_cap()
3987 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
3990 crq.query_capability.capability = cpu_to_be16(MAX_MTU); in send_query_cap()
3991 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
3994 crq.query_capability.capability = cpu_to_be16(MAX_MULTICAST_FILTERS); in send_query_cap()
3995 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
3998 crq.query_capability.capability = cpu_to_be16(VLAN_HEADER_INSERTION); in send_query_cap()
3999 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4002 crq.query_capability.capability = cpu_to_be16(RX_VLAN_HEADER_INSERTION); in send_query_cap()
4003 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4006 crq.query_capability.capability = cpu_to_be16(MAX_TX_SG_ENTRIES); in send_query_cap()
4007 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4010 crq.query_capability.capability = cpu_to_be16(RX_SG_SUPPORTED); in send_query_cap()
4011 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4014 crq.query_capability.capability = cpu_to_be16(OPT_TX_COMP_SUB_QUEUES); in send_query_cap()
4015 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4018 crq.query_capability.capability = cpu_to_be16(OPT_RX_COMP_QUEUES); in send_query_cap()
4019 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4022 crq.query_capability.capability = in send_query_cap()
4024 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4027 crq.query_capability.capability = in send_query_cap()
4029 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4032 crq.query_capability.capability = in send_query_cap()
4034 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4037 crq.query_capability.capability = cpu_to_be16(TX_RX_DESC_REQ); in send_query_cap()
4039 ibmvnic_send_crq(adapter, &crq); in send_query_cap()
4052 union ibmvnic_crq crq; in send_query_ip_offload() local
4066 memset(&crq, 0, sizeof(crq)); in send_query_ip_offload()
4067 crq.query_ip_offload.first = IBMVNIC_CRQ_CMD; in send_query_ip_offload()
4068 crq.query_ip_offload.cmd = QUERY_IP_OFFLOAD; in send_query_ip_offload()
4069 crq.query_ip_offload.len = cpu_to_be32(buf_sz); in send_query_ip_offload()
4070 crq.query_ip_offload.ioba = in send_query_ip_offload()
4073 ibmvnic_send_crq(adapter, &crq); in send_query_ip_offload()
4082 union ibmvnic_crq crq; in send_control_ip_offload() local
4146 memset(&crq, 0, sizeof(crq)); in send_control_ip_offload()
4147 crq.control_ip_offload.first = IBMVNIC_CRQ_CMD; in send_control_ip_offload()
4148 crq.control_ip_offload.cmd = CONTROL_IP_OFFLOAD; in send_control_ip_offload()
4149 crq.control_ip_offload.len = in send_control_ip_offload()
4151 crq.control_ip_offload.ioba = cpu_to_be32(adapter->ip_offload_ctrl_tok); in send_control_ip_offload()
4152 ibmvnic_send_crq(adapter, &crq); in send_control_ip_offload()
4155 static void handle_vpd_size_rsp(union ibmvnic_crq *crq, in handle_vpd_size_rsp() argument
4160 if (crq->get_vpd_size_rsp.rc.code) { in handle_vpd_size_rsp()
4162 crq->get_vpd_size_rsp.rc.code); in handle_vpd_size_rsp()
4167 adapter->vpd->len = be64_to_cpu(crq->get_vpd_size_rsp.len); in handle_vpd_size_rsp()
4171 static void handle_vpd_rsp(union ibmvnic_crq *crq, in handle_vpd_rsp() argument
4183 if (crq->get_vpd_rsp.rc.code) { in handle_vpd_rsp()
4185 crq->get_vpd_rsp.rc.code); in handle_vpd_rsp()
4298 static void handle_error_indication(union ibmvnic_crq *crq, in handle_error_indication() argument
4304 cause = be16_to_cpu(crq->error_indication.error_cause); in handle_error_indication()
4308 crq->error_indication.flags in handle_error_indication()
4312 if (crq->error_indication.flags & IBMVNIC_FATAL_ERROR) in handle_error_indication()
4318 static int handle_change_mac_rsp(union ibmvnic_crq *crq, in handle_change_mac_rsp() argument
4325 rc = crq->change_mac_addr_rsp.rc.code; in handle_change_mac_rsp()
4334 &crq->change_mac_addr_rsp.mac_addr[0]); in handle_change_mac_rsp()
4336 &crq->change_mac_addr_rsp.mac_addr[0]); in handle_change_mac_rsp()
4342 static void handle_request_cap_rsp(union ibmvnic_crq *crq, in handle_request_cap_rsp() argument
4352 switch (be16_to_cpu(crq->request_capability_rsp.capability)) { in handle_request_cap_rsp()
4383 crq->request_capability.capability); in handle_request_cap_rsp()
4387 switch (crq->request_capability_rsp.rc.code) { in handle_request_cap_rsp()
4393 (long int)be64_to_cpu(crq->request_capability_rsp. in handle_request_cap_rsp()
4396 if (be16_to_cpu(crq->request_capability_rsp.capability) == in handle_request_cap_rsp()
4403 be64_to_cpu(crq->request_capability_rsp.number); in handle_request_cap_rsp()
4410 crq->request_capability_rsp.rc.code); in handle_request_cap_rsp()
4514 static void handle_request_unmap_rsp(union ibmvnic_crq *crq, in handle_request_unmap_rsp() argument
4520 rc = crq->request_unmap_rsp.rc.code; in handle_request_unmap_rsp()
4525 static void handle_query_map_rsp(union ibmvnic_crq *crq, in handle_query_map_rsp() argument
4532 rc = crq->query_map_rsp.rc.code; in handle_query_map_rsp()
4538 crq->query_map_rsp.page_size, crq->query_map_rsp.tot_pages, in handle_query_map_rsp()
4539 crq->query_map_rsp.free_pages); in handle_query_map_rsp()
4542 static void handle_query_cap_rsp(union ibmvnic_crq *crq, in handle_query_cap_rsp() argument
4552 rc = crq->query_capability.rc.code; in handle_query_cap_rsp()
4558 switch (be16_to_cpu(crq->query_capability.capability)) { in handle_query_cap_rsp()
4561 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4567 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4573 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4579 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4585 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4591 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4597 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4603 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4609 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4615 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4621 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4627 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4632 adapter->min_mtu = be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4637 adapter->max_mtu = be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4643 be64_to_cpu(crq->query_capability.number); in handle_query_cap_rsp()
4649 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()
4704 adapter->tx_rx_desc_req = crq->query_capability.number; in handle_query_cap_rsp()
4711 crq->query_capability.capability); in handle_query_cap_rsp()
4723 union ibmvnic_crq crq; in send_query_phys_parms() local
4726 memset(&crq, 0, sizeof(crq)); in send_query_phys_parms()
4727 crq.query_phys_parms.first = IBMVNIC_CRQ_CMD; in send_query_phys_parms()
4728 crq.query_phys_parms.cmd = QUERY_PHYS_PARMS; in send_query_phys_parms()
4734 rc = ibmvnic_send_crq(adapter, &crq); in send_query_phys_parms()
4750 static int handle_query_phys_parms_rsp(union ibmvnic_crq *crq, in handle_query_phys_parms_rsp() argument
4755 __be32 rspeed = cpu_to_be32(crq->query_phys_parms_rsp.speed); in handle_query_phys_parms_rsp()
4757 rc = crq->query_phys_parms_rsp.rc.code; in handle_query_phys_parms_rsp()
4795 if (crq->query_phys_parms_rsp.flags1 & IBMVNIC_FULL_DUPLEX) in handle_query_phys_parms_rsp()
4797 else if (crq->query_phys_parms_rsp.flags1 & IBMVNIC_HALF_DUPLEX) in handle_query_phys_parms_rsp()
4805 static void ibmvnic_handle_crq(union ibmvnic_crq *crq, in ibmvnic_handle_crq() argument
4808 struct ibmvnic_generic_crq *gen_crq = &crq->generic; in ibmvnic_handle_crq()
4811 u64 *u64_crq = (u64 *)crq; in ibmvnic_handle_crq()
4851 adapter->crq.active = true; in ibmvnic_handle_crq()
4860 adapter->crq.active = false; in ibmvnic_handle_crq()
4902 rc = crq->version_exchange_rsp.rc.code; in ibmvnic_handle_crq()
4908 be16_to_cpu(crq->version_exchange_rsp.version); in ibmvnic_handle_crq()
4914 handle_query_cap_rsp(crq, adapter); in ibmvnic_handle_crq()
4917 handle_query_map_rsp(crq, adapter); in ibmvnic_handle_crq()
4920 adapter->fw_done_rc = crq->request_map_rsp.rc.code; in ibmvnic_handle_crq()
4924 handle_request_unmap_rsp(crq, adapter); in ibmvnic_handle_crq()
4927 handle_request_cap_rsp(crq, adapter); in ibmvnic_handle_crq()
4931 handle_login_rsp(crq, adapter); in ibmvnic_handle_crq()
4936 crq->logical_link_state_rsp.link_state, in ibmvnic_handle_crq()
4937 crq->logical_link_state_rsp.rc.code); in ibmvnic_handle_crq()
4939 crq->logical_link_state_rsp.link_state; in ibmvnic_handle_crq()
4940 adapter->init_done_rc = crq->logical_link_state_rsp.rc.code; in ibmvnic_handle_crq()
4946 crq->link_state_indication.phys_link_state; in ibmvnic_handle_crq()
4948 crq->link_state_indication.logical_link_state; in ibmvnic_handle_crq()
4956 adapter->fw_done_rc = handle_change_mac_rsp(crq, adapter); in ibmvnic_handle_crq()
4960 handle_error_indication(crq, adapter); in ibmvnic_handle_crq()
4985 handle_vpd_size_rsp(crq, adapter); in ibmvnic_handle_crq()
4988 handle_vpd_rsp(crq, adapter); in ibmvnic_handle_crq()
4991 adapter->fw_done_rc = handle_query_phys_parms_rsp(crq, adapter); in ibmvnic_handle_crq()
5011 struct ibmvnic_crq_queue *queue = &adapter->crq; in ibmvnic_tasklet()
5012 union ibmvnic_crq *crq; in ibmvnic_tasklet() local
5019 while ((crq = ibmvnic_next_crq(adapter)) != NULL) { in ibmvnic_tasklet()
5026 ibmvnic_handle_crq(crq, adapter); in ibmvnic_tasklet()
5027 crq->generic.first = 0; in ibmvnic_tasklet()
5055 struct ibmvnic_crq_queue *crq = &adapter->crq; in ibmvnic_reset_crq() local
5066 if (!crq->msgs) in ibmvnic_reset_crq()
5069 memset(crq->msgs, 0, PAGE_SIZE); in ibmvnic_reset_crq()
5070 crq->cur = 0; in ibmvnic_reset_crq()
5071 crq->active = false; in ibmvnic_reset_crq()
5075 crq->msg_token, PAGE_SIZE); in ibmvnic_reset_crq()
5088 struct ibmvnic_crq_queue *crq = &adapter->crq; in release_crq_queue() local
5092 if (!crq->msgs) in release_crq_queue()
5102 dma_unmap_single(&vdev->dev, crq->msg_token, PAGE_SIZE, in release_crq_queue()
5104 free_page((unsigned long)crq->msgs); in release_crq_queue()
5105 crq->msgs = NULL; in release_crq_queue()
5106 crq->active = false; in release_crq_queue()
5111 struct ibmvnic_crq_queue *crq = &adapter->crq; in init_crq_queue() local
5116 if (crq->msgs) in init_crq_queue()
5119 crq->msgs = (union ibmvnic_crq *)get_zeroed_page(GFP_KERNEL); in init_crq_queue()
5122 if (!crq->msgs) in init_crq_queue()
5125 crq->size = PAGE_SIZE / sizeof(*crq->msgs); in init_crq_queue()
5126 crq->msg_token = dma_map_single(dev, crq->msgs, PAGE_SIZE, in init_crq_queue()
5128 if (dma_mapping_error(dev, crq->msg_token)) in init_crq_queue()
5132 crq->msg_token, PAGE_SIZE); in init_crq_queue()
5151 snprintf(crq->name, sizeof(crq->name), "ibmvnic-%x", in init_crq_queue()
5153 rc = request_irq(vdev->irq, ibmvnic_interrupt, 0, crq->name, adapter); in init_crq_queue()
5166 crq->cur = 0; in init_crq_queue()
5167 spin_lock_init(&crq->lock); in init_crq_queue()
5180 dma_unmap_single(dev, crq->msg_token, PAGE_SIZE, DMA_BIDIRECTIONAL); in init_crq_queue()
5182 free_page((unsigned long)crq->msgs); in init_crq_queue()
5183 crq->msgs = NULL; in init_crq_queue()