Lines Matching defs:phba

43 	struct beiscsi_hba *phba;
54 phba = beiscsi_ep->phba;
56 if (!beiscsi_hba_is_online(phba)) {
57 beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
58 "BS_%d : HBA in error 0x%lx\n", phba->state);
62 beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
64 if (cmds_max > beiscsi_ep->phba->params.wrbs_per_cxn) {
65 beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
69 beiscsi_ep->phba->params.wrbs_per_cxn,
70 beiscsi_ep->phba->params.wrbs_per_cxn);
72 cmds_max = beiscsi_ep->phba->params.wrbs_per_cxn;
75 shost = phba->shost;
86 &phba->pcidev->dev,
133 struct beiscsi_hba *phba;
142 phba = iscsi_host_priv(shost);
144 beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
155 beiscsi_conn->phba = phba;
179 struct beiscsi_hba *phba = iscsi_host_priv(shost);
180 struct hwi_controller *phwi_ctrlr = phba->phwi_ctrlr;
198 if (beiscsi_ep->phba != phba) {
199 beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
200 "BS_%d : beiscsi_ep->hba=%p not equal to phba=%p\n",
201 beiscsi_ep->phba, phba);
206 if (phba->conn_table[cri_index]) {
207 if (beiscsi_conn != phba->conn_table[cri_index] ||
208 beiscsi_ep != phba->conn_table[cri_index]->ep) {
209 __beiscsi_log(phba, KERN_ERR,
214 phba->conn_table[cri_index]);
229 beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
230 "BS_%d : cid %d phba->conn_table[%u]=%p\n",
232 phba->conn_table[cri_index] = beiscsi_conn;
239 static int beiscsi_iface_create_ipv4(struct beiscsi_hba *phba)
241 if (phba->ipv4_iface)
244 phba->ipv4_iface = iscsi_create_iface(phba->shost,
248 if (!phba->ipv4_iface) {
249 beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
258 static int beiscsi_iface_create_ipv6(struct beiscsi_hba *phba)
260 if (phba->ipv6_iface)
263 phba->ipv6_iface = iscsi_create_iface(phba->shost,
267 if (!phba->ipv6_iface) {
268 beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
277 void beiscsi_iface_create_default(struct beiscsi_hba *phba)
281 if (!beiscsi_if_get_info(phba, BEISCSI_IP_TYPE_V4, &if_info)) {
282 beiscsi_iface_create_ipv4(phba);
286 if (!beiscsi_if_get_info(phba, BEISCSI_IP_TYPE_V6, &if_info)) {
287 beiscsi_iface_create_ipv6(phba);
292 void beiscsi_iface_destroy_default(struct beiscsi_hba *phba)
294 if (phba->ipv6_iface) {
295 iscsi_destroy_iface(phba->ipv6_iface);
296 phba->ipv6_iface = NULL;
298 if (phba->ipv4_iface) {
299 iscsi_destroy_iface(phba->ipv4_iface);
300 phba->ipv4_iface = NULL;
320 struct beiscsi_hba *phba = iscsi_host_priv(shost);
327 ret = beiscsi_if_set_vlan(phba, BEISCSI_VLAN_DISABLE);
330 ret = beiscsi_if_set_vlan(phba,
343 struct beiscsi_hba *phba = iscsi_host_priv(shost);
352 ret = beiscsi_iface_create_ipv4(phba);
354 iscsi_destroy_iface(phba->ipv4_iface);
355 phba->ipv4_iface = NULL;
360 ret = beiscsi_if_set_gw(phba, BEISCSI_IP_TYPE_V4, gw);
364 ret = beiscsi_if_en_dhcp(phba, BEISCSI_IP_TYPE_V4);
367 ret = beiscsi_if_en_static(phba, BEISCSI_IP_TYPE_V4,
370 beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
381 ret = beiscsi_if_en_static(phba, BEISCSI_IP_TYPE_V4,
395 ret = beiscsi_if_en_static(phba, BEISCSI_IP_TYPE_V4,
408 struct beiscsi_hba *phba = iscsi_host_priv(shost);
414 ret = beiscsi_iface_create_ipv6(phba);
416 iscsi_destroy_iface(phba->ipv6_iface);
417 phba->ipv6_iface = NULL;
421 ret = beiscsi_if_en_static(phba, BEISCSI_IP_TYPE_V6,
433 struct beiscsi_hba *phba = iscsi_host_priv(shost);
438 if (!beiscsi_hba_is_online(phba)) {
439 beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
440 "BS_%d : HBA in error 0x%lx\n", phba->state);
445 ret = beiscsi_if_get_handle(phba);
447 beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
466 beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
474 beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
501 __beiscsi_log(phba, KERN_ERR,
515 static int __beiscsi_iface_get_param(struct beiscsi_hba *phba,
525 len = beiscsi_if_get_info(phba, ip_type, &if_info);
579 struct beiscsi_hba *phba = iscsi_host_priv(shost);
585 if (!beiscsi_hba_is_online(phba)) {
586 beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
587 "BS_%d : HBA in error 0x%lx\n", phba->state);
599 len = __beiscsi_iface_get_param(phba, iface, param, buf);
604 phba->ipv4_iface ? "enable" : "disable");
607 phba->ipv6_iface ? "enable" : "disable");
611 len = beiscsi_if_get_gw(phba, BEISCSI_IP_TYPE_V4, &gateway);
634 beiscsi_log(beiscsi_ep->phba, KERN_INFO,
660 struct beiscsi_hba *phba = NULL;
663 phba = ((struct beiscsi_conn *)conn->dd_data)->phba;
664 beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
706 struct beiscsi_hba *phba = iscsi_host_priv(shost);
709 ihost->port_state = test_bit(BEISCSI_HBA_LINK_UP, &phba->state) ?
720 struct beiscsi_hba *phba = iscsi_host_priv(shost);
723 switch (phba->port_speed) {
757 struct beiscsi_hba *phba = iscsi_host_priv(shost);
760 if (!beiscsi_hba_is_online(phba)) {
761 beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
762 "BS_%d : HBA in error 0x%lx\n", phba->state);
765 beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
770 status = beiscsi_get_macaddr(buf, phba);
772 beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
779 status = beiscsi_get_initiator_name(phba, buf, true);
781 status = beiscsi_get_initiator_name(phba, buf, false);
783 beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
803 int beiscsi_get_macaddr(char *buf, struct beiscsi_hba *phba)
808 if (phba->mac_addr_set)
809 return sysfs_format_mac(buf, phba->mac_address, ETH_ALEN);
812 rc = mgmt_get_nic_conf(phba, &resp);
816 phba->mac_addr_set = true;
817 memcpy(phba->mac_address, resp.mac_address, ETH_ALEN);
818 return sysfs_format_mac(buf, phba->mac_address, ETH_ALEN);
832 struct beiscsi_hba *phba = NULL;
834 phba = ((struct beiscsi_conn *)conn->dd_data)->phba;
835 beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
908 struct beiscsi_hba *phba;
910 phba = ((struct beiscsi_conn *)conn->dd_data)->phba;
912 if (!beiscsi_hba_is_online(phba)) {
913 beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
914 "BS_%d : HBA in error 0x%lx\n", phba->state);
917 beiscsi_log(beiscsi_conn->phba, KERN_INFO, BEISCSI_LOG_CONFIG,
923 beiscsi_log(beiscsi_conn->phba, KERN_ERR,
936 * @phba: The phba instance
938 static int beiscsi_get_cid(struct beiscsi_hba *phba)
945 cid_avlbl_ulp0 = (phba->cid_array_info[BEISCSI_ULP0]) ?
946 BEISCSI_ULP0_AVLBL_CID(phba) : 0;
947 cid_avlbl_ulp1 = (phba->cid_array_info[BEISCSI_ULP1]) ?
948 BEISCSI_ULP1_AVLBL_CID(phba) : 0;
956 if (!test_bit(cid_from_ulp, (void *)&phba->fw_config.ulp_supported))
959 cid_info = phba->cid_array_info[cid_from_ulp];
962 __beiscsi_log(phba, KERN_ERR,
969 if (cid_info->cid_alloc == BEISCSI_GET_CID_COUNT(phba, cid_from_ulp))
977 * @phba: The phba for which the cid is being freed
980 static void beiscsi_put_cid(struct beiscsi_hba *phba, unsigned short cid)
988 phwi_ctrlr = phba->phwi_ctrlr;
992 cid_info = phba->cid_array_info[cid_post_ulp];
995 __beiscsi_log(phba, KERN_ERR,
1001 if (cid_info->cid_free == BEISCSI_GET_CID_COUNT(phba, cid_post_ulp))
1012 struct beiscsi_hba *phba = beiscsi_ep->phba;
1015 beiscsi_put_cid(phba, beiscsi_ep->ep_cid);
1016 beiscsi_ep->phba = NULL;
1018 phba->ep_array[BE_GET_CRI_FROM_CID(beiscsi_ep->ep_cid)] = NULL;
1055 struct beiscsi_hba *phba = beiscsi_ep->phba;
1061 beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
1064 beiscsi_ep->ep_cid = beiscsi_get_cid(phba);
1066 beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
1071 beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
1075 phba->ep_array[BE_GET_CRI_FROM_CID
1080 if (is_chip_be2_be3r(phba))
1085 nonemb_cmd.va = dma_alloc_coherent(&phba->ctrl.pdev->dev,
1090 beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
1099 tag = mgmt_open_connection(phba, dst_addr, beiscsi_ep, &nonemb_cmd);
1101 beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
1105 dma_free_coherent(&phba->ctrl.pdev->dev, nonemb_cmd.size,
1111 ret = beiscsi_mccq_compl_wait(phba, tag, NULL, &nonemb_cmd);
1113 beiscsi_log(phba, KERN_ERR,
1118 dma_free_coherent(&phba->ctrl.pdev->dev,
1130 beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
1133 dma_free_coherent(&phba->ctrl.pdev->dev, nonemb_cmd.size,
1150 struct beiscsi_hba *phba;
1161 phba = iscsi_host_priv(shost);
1162 if (!beiscsi_hba_is_online(phba)) {
1164 beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
1165 "BS_%d : HBA in error 0x%lx\n", phba->state);
1168 if (!test_bit(BEISCSI_HBA_LINK_UP, &phba->state)) {
1170 beiscsi_log(phba, KERN_WARNING, BEISCSI_LOG_CONFIG,
1182 beiscsi_ep->phba = phba;
1186 beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
1209 beiscsi_log(beiscsi_ep->phba, KERN_INFO, BEISCSI_LOG_CONFIG,
1220 * @phba: ptr device priv structure.
1225 static void beiscsi_flush_cq(struct beiscsi_hba *phba)
1232 phwi_ctrlr = phba->phwi_ctrlr;
1235 for (i = 0; i < phba->num_cpus; i++) {
1251 struct beiscsi_hba *phba = beiscsi_ep->phba;
1261 tag = beiscsi_invalidate_cxn(phba, beiscsi_ep);
1263 ret = beiscsi_mccq_compl_wait(phba, tag, NULL, NULL);
1266 beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
1275 beiscsi_flush_cq(phba);
1282 tag = beiscsi_upload_cxn(phba, beiscsi_ep);
1284 ret = beiscsi_mccq_compl_wait(phba, tag, NULL, NULL);
1287 beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
1307 struct beiscsi_hba *phba;
1311 phba = beiscsi_ep->phba;
1312 beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
1317 if (!phba->ep_array[cri_index]) {
1318 __beiscsi_log(phba, KERN_ERR,
1325 if (!beiscsi_hba_is_online(phba)) {
1326 beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
1327 "BS_%d : HBA in error 0x%lx\n", phba->state);
1334 __beiscsi_log(phba, KERN_ERR,
1340 if (!phba->conn_table[cri_index])
1341 __beiscsi_log(phba, KERN_ERR,
1344 phba->conn_table[cri_index] = NULL;