Lines Matching refs:hw

115 csio_ln_lookup_by_portid(struct csio_hw *hw, uint8_t portid)  in csio_ln_lookup_by_portid()  argument
117 struct csio_lnode *ln = hw->rln; in csio_ln_lookup_by_portid()
121 list_for_each(tmp, &hw->sln_head) { in csio_ln_lookup_by_portid()
138 csio_ln_lookup_by_vnpi(struct csio_hw *hw, uint32_t vnp_id) in csio_ln_lookup_by_vnpi() argument
143 if (list_empty(&hw->sln_head)) { in csio_ln_lookup_by_vnpi()
144 CSIO_INC_STATS(hw, n_lnlkup_miss); in csio_ln_lookup_by_vnpi()
148 list_for_each(tmp1, &hw->sln_head) { in csio_ln_lookup_by_vnpi()
166 CSIO_INC_STATS(hw, n_lnlkup_miss); in csio_ln_lookup_by_vnpi()
178 csio_lnode_lookup_by_wwpn(struct csio_hw *hw, uint8_t *wwpn) in csio_lnode_lookup_by_wwpn() argument
183 if (list_empty(&hw->sln_head)) { in csio_lnode_lookup_by_wwpn()
184 CSIO_INC_STATS(hw, n_lnlkup_miss); in csio_lnode_lookup_by_wwpn()
188 list_for_each(tmp1, &hw->sln_head) { in csio_lnode_lookup_by_wwpn()
258 csio_ln_fdmi_done(struct csio_hw *hw, struct csio_ioreq *fdmi_req) in csio_ln_fdmi_done() argument
282 csio_ln_fdmi_rhba_cbfn(struct csio_hw *hw, struct csio_ioreq *fdmi_req) in csio_ln_fdmi_rhba_cbfn() argument
342 if (hw->pport[ln->portid].link_speed == FW_PORT_CAP_SPEED_1G) in csio_ln_fdmi_rhba_cbfn()
344 else if (hw->pport[ln->portid].link_speed == FW_PORT_CAP_SPEED_10G) in csio_ln_fdmi_rhba_cbfn()
372 spin_lock_irq(&hw->lock); in csio_ln_fdmi_rhba_cbfn()
378 spin_unlock_irq(&hw->lock); in csio_ln_fdmi_rhba_cbfn()
387 csio_ln_fdmi_dprt_cbfn(struct csio_hw *hw, struct csio_ioreq *fdmi_req) in csio_ln_fdmi_dprt_cbfn() argument
450 hw->vpd.sn, (uint16_t)sizeof(hw->vpd.sn)); in csio_ln_fdmi_dprt_cbfn()
452 csio_append_attrib(&pld, FC_FDMI_HBA_ATTR_MODEL, hw->vpd.id, in csio_ln_fdmi_dprt_cbfn()
453 (uint16_t)sizeof(hw->vpd.id)); in csio_ln_fdmi_dprt_cbfn()
456 hw->model_desc, (uint16_t)strlen(hw->model_desc)); in csio_ln_fdmi_dprt_cbfn()
459 hw->hw_ver, (uint16_t)sizeof(hw->hw_ver)); in csio_ln_fdmi_dprt_cbfn()
462 hw->fwrev_str, (uint16_t)strlen(hw->fwrev_str)); in csio_ln_fdmi_dprt_cbfn()
479 spin_lock_irq(&hw->lock); in csio_ln_fdmi_dprt_cbfn()
485 spin_unlock_irq(&hw->lock); in csio_ln_fdmi_dprt_cbfn()
494 csio_ln_fdmi_dhba_cbfn(struct csio_hw *hw, struct csio_ioreq *fdmi_req) in csio_ln_fdmi_dhba_cbfn() argument
530 spin_lock_irq(&hw->lock); in csio_ln_fdmi_dhba_cbfn()
536 spin_unlock_irq(&hw->lock); in csio_ln_fdmi_dhba_cbfn()
597 csio_ln_vnp_read_cbfn(struct csio_hw *hw, struct csio_mb *mbp) in csio_ln_vnp_read_cbfn() argument
608 csio_err(hw, "FCOE VNP read cmd returned error:0x%x\n", retval); in csio_ln_vnp_read_cbfn()
609 mempool_free(mbp, hw->mb_mempool); in csio_ln_vnp_read_cbfn()
613 spin_lock_irq(&hw->lock); in csio_ln_vnp_read_cbfn()
646 spin_unlock_irq(&hw->lock); in csio_ln_vnp_read_cbfn()
648 mempool_free(mbp, hw->mb_mempool); in csio_ln_vnp_read_cbfn()
665 struct csio_hw *hw = ln->hwp; in csio_ln_vnp_read() local
669 mbp = mempool_alloc(hw->mb_mempool, GFP_ATOMIC); in csio_ln_vnp_read()
671 CSIO_INC_STATS(hw, n_err_nomem); in csio_ln_vnp_read()
683 if (csio_mb_issue(hw, mbp)) { in csio_ln_vnp_read()
684 csio_err(hw, "Failed to issue mbox FCoE VNP command\n"); in csio_ln_vnp_read()
685 mempool_free(mbp, hw->mb_mempool); in csio_ln_vnp_read()
702 struct csio_hw *hw = ln->hwp; in csio_fcoe_enable_link() local
710 mbp = mempool_alloc(hw->mb_mempool, GFP_ATOMIC); in csio_fcoe_enable_link()
712 CSIO_INC_STATS(hw, n_err_nomem); in csio_fcoe_enable_link()
719 csio_dbg(hw, "bringing FCOE LINK %s on Port:%d\n", in csio_fcoe_enable_link()
725 if (csio_mb_issue(hw, mbp)) { in csio_fcoe_enable_link()
726 csio_err(hw, "failed to issue FCOE LINK cmd on port[%d]\n", in csio_fcoe_enable_link()
728 mempool_free(mbp, hw->mb_mempool); in csio_fcoe_enable_link()
734 csio_err(hw, in csio_fcoe_enable_link()
737 mempool_free(mbp, hw->mb_mempool); in csio_fcoe_enable_link()
750 if (hw->pport[i].portid == portid) in csio_fcoe_enable_link()
751 memcpy(hw->pport[i].mac, lcmd->phy_mac, 6); in csio_fcoe_enable_link()
754 mempool_free(mbp, hw->mb_mempool); in csio_fcoe_enable_link()
765 csio_ln_read_fcf_cbfn(struct csio_hw *hw, struct csio_mb *mbp) in csio_ln_read_fcf_cbfn() argument
777 mempool_free(mbp, hw->mb_mempool); in csio_ln_read_fcf_cbfn()
781 spin_lock_irq(&hw->lock); in csio_ln_read_fcf_cbfn()
800 spin_unlock_irq(&hw->lock); in csio_ln_read_fcf_cbfn()
802 mempool_free(mbp, hw->mb_mempool); in csio_ln_read_fcf_cbfn()
816 struct csio_hw *hw = ln->hwp; in csio_ln_read_fcf_entry() local
819 mbp = mempool_alloc(hw->mb_mempool, GFP_ATOMIC); in csio_ln_read_fcf_entry()
821 CSIO_INC_STATS(hw, n_err_nomem); in csio_ln_read_fcf_entry()
829 if (csio_mb_issue(hw, mbp)) { in csio_ln_read_fcf_entry()
830 csio_err(hw, "failed to issue FCOE FCF cmd\n"); in csio_ln_read_fcf_entry()
831 mempool_free(mbp, hw->mb_mempool); in csio_ln_read_fcf_entry()
855 csio_handle_link_up(struct csio_hw *hw, uint8_t portid, uint32_t fcfi, in csio_handle_link_up() argument
861 ln = csio_ln_lookup_by_vnpi(hw, vnpi); in csio_handle_link_up()
864 ln = csio_ln_lookup_by_portid(hw, portid); in csio_handle_link_up()
866 csio_err(hw, "failed to lookup fcoe lnode on port:%d\n", in csio_handle_link_up()
875 spin_unlock_irq(&hw->lock); in csio_handle_link_up()
876 csio_lnode_alloc(hw); in csio_handle_link_up()
877 spin_lock_irq(&hw->lock); in csio_handle_link_up()
879 csio_err(hw, in csio_handle_link_up()
896 csio_info(hw, "Port:%d - FCOE LINK UP\n", portid); in csio_handle_link_up()
1017 csio_handle_link_down(struct csio_hw *hw, uint8_t portid, uint32_t fcfi, in csio_handle_link_down() argument
1024 ln = csio_ln_lookup_by_vnpi(hw, vnpi); in csio_handle_link_down()
1057 csio_info(hw, "Port:%d - FCOE LINK DOWN\n", portid); in csio_handle_link_down()
1064 csio_warn(hw, in csio_handle_link_down()
1067 CSIO_INC_STATS(hw, n_evt_drop); in csio_handle_link_down()
1098 struct csio_hw *hw = csio_lnode_to_hw(ln); in csio_lns_uninit() local
1099 struct csio_lnode *rln = hw->rln; in csio_lns_uninit()
1151 struct csio_hw *hw = csio_lnode_to_hw(ln); in csio_lns_online() local
1165 spin_unlock_irq(&hw->lock); in csio_lns_online()
1167 spin_lock_irq(&hw->lock); in csio_lns_online()
1203 struct csio_hw *hw = csio_lnode_to_hw(ln); in csio_lns_ready() local
1218 spin_unlock_irq(&hw->lock); in csio_lns_ready()
1220 spin_lock_irq(&hw->lock); in csio_lns_ready()
1235 spin_unlock_irq(&hw->lock); in csio_lns_ready()
1237 spin_lock_irq(&hw->lock); in csio_lns_ready()
1277 struct csio_hw *hw = csio_lnode_to_hw(ln); in csio_lns_offline() local
1278 struct csio_lnode *rln = hw->rln; in csio_lns_offline()
1369 csio_get_phy_port_stats(struct csio_hw *hw, uint8_t portid, in csio_get_phy_port_stats() argument
1377 mbp = mempool_alloc(hw->mb_mempool, GFP_ATOMIC); in csio_get_phy_port_stats()
1379 csio_err(hw, "FCoE FCF PARAMS command out of memory!\n"); in csio_get_phy_port_stats()
1389 csio_fcoe_read_portparams_init_mb(hw, mbp, CSIO_MB_DEFAULT_TMO, in csio_get_phy_port_stats()
1391 if (csio_mb_issue(hw, mbp)) { in csio_get_phy_port_stats()
1392 csio_err(hw, "Issue of FCoE port params failed!\n"); in csio_get_phy_port_stats()
1393 mempool_free(mbp, hw->mb_mempool); in csio_get_phy_port_stats()
1396 csio_mb_process_portparams_rsp(hw, mbp, &retval, in csio_get_phy_port_stats()
1400 mempool_free(mbp, hw->mb_mempool); in csio_get_phy_port_stats()
1415 csio_ln_mgmt_wr_handler(struct csio_hw *hw, void *wr, uint32_t len) in csio_ln_mgmt_wr_handler() argument
1417 struct csio_mgmtm *mgmtm = csio_hw_to_mgmtm(hw); in csio_ln_mgmt_wr_handler()
1425 csio_err(mgmtm->hw, in csio_ln_mgmt_wr_handler()
1435 spin_lock_irq(&hw->lock); in csio_ln_mgmt_wr_handler()
1437 csio_err(mgmtm->hw, in csio_ln_mgmt_wr_handler()
1441 spin_unlock_irq(&hw->lock); in csio_ln_mgmt_wr_handler()
1445 mgmtm = csio_hw_to_mgmtm(hw); in csio_ln_mgmt_wr_handler()
1450 spin_unlock_irq(&hw->lock); in csio_ln_mgmt_wr_handler()
1454 io_req->io_cbfn(hw, io_req); in csio_ln_mgmt_wr_handler()
1466 csio_fcoe_fwevt_handler(struct csio_hw *hw, __u8 cpl_op, __be64 *cmd) in csio_fcoe_fwevt_handler() argument
1490 spin_lock_irq(&hw->lock); in csio_fcoe_fwevt_handler()
1491 csio_handle_link_up(hw, portid, fcfi, vnpi); in csio_fcoe_fwevt_handler()
1492 spin_unlock_irq(&hw->lock); in csio_fcoe_fwevt_handler()
1498 spin_lock_irq(&hw->lock); in csio_fcoe_fwevt_handler()
1499 csio_handle_link_down(hw, portid, fcfi, vnpi); in csio_fcoe_fwevt_handler()
1500 spin_unlock_irq(&hw->lock); in csio_fcoe_fwevt_handler()
1503 csio_warn(hw, "Unexpected FCOE LINK status:0x%x\n", in csio_fcoe_fwevt_handler()
1505 CSIO_INC_STATS(hw, n_cpl_unexp); in csio_fcoe_fwevt_handler()
1519 csio_dbg(hw, in csio_fcoe_fwevt_handler()
1525 csio_err(hw, in csio_fcoe_fwevt_handler()
1530 CSIO_INC_STATS(hw, n_evt_drop); in csio_fcoe_fwevt_handler()
1535 spin_lock_irq(&hw->lock); in csio_fcoe_fwevt_handler()
1536 ln = csio_ln_lookup_by_vnpi(hw, vnpi); in csio_fcoe_fwevt_handler()
1538 csio_err(hw, in csio_fcoe_fwevt_handler()
1541 CSIO_INC_STATS(hw, n_evt_drop); in csio_fcoe_fwevt_handler()
1551 CSIO_INC_STATS(hw, n_evt_drop); in csio_fcoe_fwevt_handler()
1573 spin_unlock_irq(&hw->lock); in csio_fcoe_fwevt_handler()
1576 csio_warn(hw, "unexpected WR op(0x%x) recv\n", in csio_fcoe_fwevt_handler()
1578 CSIO_INC_STATS(hw, n_cpl_unexp); in csio_fcoe_fwevt_handler()
1583 csio_ln_mgmt_wr_handler(hw, wr, in csio_fcoe_fwevt_handler()
1586 csio_warn(hw, "unexpected WR op(0x%x) recv\n", in csio_fcoe_fwevt_handler()
1588 CSIO_INC_STATS(hw, n_cpl_unexp); in csio_fcoe_fwevt_handler()
1591 csio_warn(hw, "unexpected CPL op(0x%x) recv\n", opcode); in csio_fcoe_fwevt_handler()
1592 CSIO_INC_STATS(hw, n_cpl_unexp); in csio_fcoe_fwevt_handler()
1714 struct csio_hw *hw = mgmtm->hw; in csio_ln_mgmt_submit_wr() local
1737 ret = csio_wr_get(hw, mgmtm->eq_idx, wr_size, &wrp); in csio_ln_mgmt_submit_wr()
1739 csio_err(hw, "Failed to get WR for ec_req %p ret:%d\n", in csio_ln_mgmt_submit_wr()
1769 csio_wr_issue(mgmtm->hw, mgmtm->eq_idx, false); in csio_ln_mgmt_submit_wr()
1793 struct csio_hw *hw = csio_lnode_to_hw(io_req->lnode); in csio_ln_mgmt_submit_req() local
1794 struct csio_mgmtm *mgmtm = csio_hw_to_mgmtm(hw); in csio_ln_mgmt_submit_req()
1817 struct csio_hw *hw = csio_lnode_to_hw(ln); in csio_ln_fdmi_init() local
1824 CSIO_INC_STATS(hw, n_err_nomem); in csio_ln_fdmi_init()
1831 dma_buf->vaddr = pci_alloc_consistent(hw->pdev, dma_buf->len, in csio_ln_fdmi_init()
1834 csio_err(hw, "Failed to alloc DMA buffer for FDMI!\n"); in csio_ln_fdmi_init()
1852 struct csio_hw *hw = csio_lnode_to_hw(ln); in csio_ln_fdmi_exit() local
1859 pci_free_consistent(hw->pdev, dma_buf->len, dma_buf->vaddr, in csio_ln_fdmi_exit()
1904 csio_notify_lnodes(struct csio_hw *hw, enum csio_ln_notify note) in csio_notify_lnodes() argument
1909 csio_dbg(hw, "Notifying all nodes of event %d\n", note); in csio_notify_lnodes()
1912 list_for_each(tmp, &hw->sln_head) { in csio_notify_lnodes()
1946 csio_disable_lnodes(struct csio_hw *hw, uint8_t portid, bool disable) in csio_disable_lnodes() argument
1951 csio_dbg(hw, "Notifying event to all nodes of port:%d\n", portid); in csio_disable_lnodes()
1954 list_for_each(tmp, &hw->sln_head) { in csio_disable_lnodes()
1976 struct csio_hw *hw = csio_lnode_to_hw(ln); in csio_ln_init() local
1989 CSIO_INC_STATS(hw, n_err_nomem); in csio_ln_init()
2018 CSIO_INC_STATS(hw, n_err_nomem); in csio_ln_init()
2058 csio_lnode_init(struct csio_lnode *ln, struct csio_hw *hw, in csio_lnode_init() argument
2064 csio_lnode_to_hw(ln) = hw; in csio_lnode_init()
2082 ln->params.log_level = hw->params.log_level; in csio_lnode_init()
2088 spin_lock_irq(&hw->lock); in csio_lnode_init()
2089 list_add_tail(&ln->sm.sm_list, pln ? &pln->cln_head : &hw->sln_head); in csio_lnode_init()
2092 spin_unlock_irq(&hw->lock); in csio_lnode_init()
2094 hw->num_lns++; in csio_lnode_init()
2110 struct csio_hw *hw = csio_lnode_to_hw(ln); in csio_lnode_exit() local
2115 spin_lock_irq(&hw->lock); in csio_lnode_exit()
2126 if (list_empty(&hw->sln_head)) in csio_lnode_exit()
2127 hw->rln = NULL; in csio_lnode_exit()
2129 hw->rln = (struct csio_lnode *)csio_list_next(&hw->sln_head); in csio_lnode_exit()
2131 spin_unlock_irq(&hw->lock); in csio_lnode_exit()
2134 hw->num_lns--; in csio_lnode_exit()