p_vf 53 drivers/net/ethernet/qlogic/qed/qed_sriov.c static u8 qed_vf_calculate_legacy(struct qed_vf_info *p_vf) p_vf 57 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (p_vf->acquire.vfdev_info.eth_fp_hsi_minor == p_vf 61 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!(p_vf->acquire.vfdev_info.capabilities & p_vf 69 drivers/net/ethernet/qlogic/qed/qed_sriov.c static int qed_sp_vf_start(struct qed_hwfn *p_hwfn, struct qed_vf_info *p_vf) p_vf 80 drivers/net/ethernet/qlogic/qed/qed_sriov.c init_data.opaque_fid = p_vf->opaque_fid; p_vf 91 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_ramrod->vf_id = GET_FIELD(p_vf->concrete_fid, PXP_CONCRETE_FID_VFID); p_vf 92 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_ramrod->opaque_fid = cpu_to_le16(p_vf->opaque_fid); p_vf 108 drivers/net/ethernet/qlogic/qed/qed_sriov.c fp_minor = p_vf->acquire.vfdev_info.eth_fp_hsi_minor; p_vf 114 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id, p_vf 125 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id, ETH_HSI_VER_MAJOR, fp_minor); p_vf 222 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf, p_vf 235 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_qcid = &p_vf->vf_queues[qid].cids[i]; p_vf 251 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf, p_vf 255 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (rx_qid >= p_vf->num_rxqs) { p_vf 259 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id, rx_qid, p_vf->num_rxqs); p_vf 263 drivers/net/ethernet/qlogic/qed/qed_sriov.c return qed_iov_validate_queue_mode(p_hwfn, p_vf, rx_qid, mode, false); p_vf 267 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf, p_vf 271 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (tx_qid >= p_vf->num_txqs) { p_vf 275 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id, tx_qid, p_vf->num_txqs); p_vf 279 drivers/net/ethernet/qlogic/qed/qed_sriov.c return qed_iov_validate_queue_mode(p_hwfn, p_vf, tx_qid, mode, true); p_vf 283 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf, u16 sb_idx) p_vf 287 drivers/net/ethernet/qlogic/qed/qed_sriov.c for (i = 0; i < p_vf->num_sbs; i++) p_vf 288 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (p_vf->igu_sbs[i] == sb_idx) p_vf 294 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id, sb_idx, p_vf->num_sbs); p_vf 300 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf) p_vf 304 drivers/net/ethernet/qlogic/qed/qed_sriov.c for (i = 0; i < p_vf->num_rxqs; i++) p_vf 305 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (qed_iov_validate_queue_mode(p_hwfn, p_vf, i, p_vf 314 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf) p_vf 318 drivers/net/ethernet/qlogic/qed/qed_sriov.c for (i = 0; i < p_vf->num_txqs; i++) p_vf 319 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (qed_iov_validate_queue_mode(p_hwfn, p_vf, i, p_vf 333 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf; p_vf 335 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf = qed_iov_get_vf_info(p_hwfn, (u16) vfid, true); p_vf 336 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf) p_vf 339 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf->vf_bulletin) p_vf 342 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_bulletin = p_vf->bulletin.p_virt; p_vf 347 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->bulletin.size - crc_size); p_vf 351 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_bulletin->version, p_vf->relative_vf_id, p_bulletin->crc); p_vf 356 drivers/net/ethernet/qlogic/qed/qed_sriov.c params.dst_vfid = p_vf->abs_vf_id; p_vf 357 drivers/net/ethernet/qlogic/qed/qed_sriov.c return qed_dmae_host2host(p_hwfn, p_ptt, p_vf->bulletin.phys, p_vf 358 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->vf_bulletin, p_vf->bulletin.size / 4, p_vf 785 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf; p_vf 787 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf = qed_iov_get_vf_info(p_hwfn, (u16)i, true); p_vf 788 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf) p_vf 791 drivers/net/ethernet/qlogic/qed/qed_sriov.c current_max = max_t(u8, current_max, p_vf->num_sbs); p_vf 962 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf = qed_iov_get_vf_info(p_hwfn, p_vf 967 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf) p_vf 970 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_bulletin = p_vf->bulletin.p_virt; p_vf 1215 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf, p_vf 1218 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &p_vf->vf_mbx; p_vf 1226 drivers/net/ethernet/qlogic/qed/qed_sriov.c eng_vf_id = p_vf->abs_vf_id; p_vf 1277 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf, p_vf 1308 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->relative_vf_id, p_vf 1367 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf) p_vf 1371 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->vf_bulletin = 0; p_vf 1372 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->vport_instance = 0; p_vf 1373 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->configured_features = 0; p_vf 1376 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->num_rxqs = p_vf->num_sbs; p_vf 1377 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->num_txqs = p_vf->num_sbs; p_vf 1379 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->num_active_rxqs = 0; p_vf 1382 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_queue *p_queue = &p_vf->vf_queues[i]; p_vf 1394 drivers/net/ethernet/qlogic/qed/qed_sriov.c memset(&p_vf->shadow_config, 0, sizeof(p_vf->shadow_config)); p_vf 1395 drivers/net/ethernet/qlogic/qed/qed_sriov.c memset(&p_vf->acquire, 0, sizeof(p_vf->acquire)); p_vf 1396 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_clean_vf(p_hwfn, p_vf->relative_vf_id); p_vf 1413 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf, p_vf 1428 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!(p_vf->acquire.vfdev_info.capabilities & p_vf 1436 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (p_vf->acquire.vfdev_info.capabilities & p_vf 1455 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf, p_vf 1462 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_resp->num_rxqs = p_vf->num_rxqs; p_vf 1463 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_resp->num_txqs = p_vf->num_txqs; p_vf 1464 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_resp->num_sbs = p_vf->num_sbs; p_vf 1467 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_resp->hw_sbs[i].hw_sb_id = p_vf->igu_sbs[i]; p_vf 1475 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_fw_l2_queue(p_hwfn, p_vf->vf_queues[i].fw_rx_qid, p_vf 1481 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_resp->num_mac_filters = min_t(u8, p_vf->num_mac_filters, p_vf 1483 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_resp->num_vlan_filters = min_t(u8, p_vf->num_vlan_filters, p_vf 1486 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vf_mbx_acquire_resc_cids(p_hwfn, p_ptt, p_vf, p_req, p_resp); p_vf 1504 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id, p_vf 1522 drivers/net/ethernet/qlogic/qed/qed_sriov.c if ((p_vf->acquire.vfdev_info.eth_fp_hsi_minor == p_vf 1524 drivers/net/ethernet/qlogic/qed/qed_sriov.c (p_vf->acquire.vfdev_info.os_type == p_vf 1705 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf, bool val) p_vf 1710 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (val == p_vf->spoof_chk) { p_vf 1717 drivers/net/ethernet/qlogic/qed/qed_sriov.c params.opaque_fid = p_vf->opaque_fid; p_vf 1718 drivers/net/ethernet/qlogic/qed/qed_sriov.c params.vport_id = p_vf->vport_id; p_vf 1724 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->spoof_chk = val; p_vf 1725 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->req_spoofchk_val = p_vf->spoof_chk; p_vf 1731 drivers/net/ethernet/qlogic/qed/qed_sriov.c val, p_vf->relative_vf_id); p_vf 1738 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf) p_vf 1747 drivers/net/ethernet/qlogic/qed/qed_sriov.c filter.vport_to_add_to = p_vf->vport_id; p_vf 1752 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf->shadow_config.vlans[i].used) p_vf 1756 drivers/net/ethernet/qlogic/qed/qed_sriov.c filter.vlan = p_vf->shadow_config.vlans[i].vid; p_vf 1759 drivers/net/ethernet/qlogic/qed/qed_sriov.c filter.vlan, p_vf->relative_vf_id); p_vf 1760 drivers/net/ethernet/qlogic/qed/qed_sriov.c rc = qed_sp_eth_filter_ucast(p_hwfn, p_vf->opaque_fid, p_vf 1765 drivers/net/ethernet/qlogic/qed/qed_sriov.c filter.vlan, p_vf->relative_vf_id); p_vf 1775 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf, u64 events) p_vf 1780 drivers/net/ethernet/qlogic/qed/qed_sriov.c !(p_vf->configured_features & (1 << VLAN_ADDR_FORCED))) p_vf 1781 drivers/net/ethernet/qlogic/qed/qed_sriov.c rc = qed_iov_reconfigure_unicast_vlan(p_hwfn, p_vf); p_vf 1787 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf, u64 events) p_vf 1792 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf->vport_instance) p_vf 1796 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->p_vf_info.is_trusted_configured) { p_vf 1805 drivers/net/ethernet/qlogic/qed/qed_sriov.c filter.vport_to_add_to = p_vf->vport_id; p_vf 1806 drivers/net/ethernet/qlogic/qed/qed_sriov.c ether_addr_copy(filter.mac, p_vf->bulletin.p_virt->mac); p_vf 1808 drivers/net/ethernet/qlogic/qed/qed_sriov.c rc = qed_sp_eth_filter_ucast(p_hwfn, p_vf->opaque_fid, p_vf 1815 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (p_vf->p_vf_info.is_trusted_configured) p_vf 1816 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->configured_features |= p_vf 1819 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->configured_features |= p_vf 1832 drivers/net/ethernet/qlogic/qed/qed_sriov.c filter.vport_to_add_to = p_vf->vport_id; p_vf 1833 drivers/net/ethernet/qlogic/qed/qed_sriov.c filter.vlan = p_vf->bulletin.p_virt->pvid; p_vf 1838 drivers/net/ethernet/qlogic/qed/qed_sriov.c rc = qed_sp_eth_filter_ucast(p_hwfn, p_vf->opaque_fid, p_vf 1848 drivers/net/ethernet/qlogic/qed/qed_sriov.c vport_update.opaque_fid = p_vf->opaque_fid; p_vf 1849 drivers/net/ethernet/qlogic/qed/qed_sriov.c vport_update.vport_id = p_vf->vport_id; p_vf 1857 drivers/net/ethernet/qlogic/qed/qed_sriov.c : p_vf->shadow_config.inner_vlan_removal; p_vf 1871 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_queue *p_queue = &p_vf->vf_queues[i]; p_vf 1893 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->configured_features |= 1 << VLAN_ADDR_FORCED; p_vf 1895 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->configured_features &= ~BIT(VLAN_ADDR_FORCED); p_vf 1902 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_reconfigure_unicast_shadow(p_hwfn, p_vf, events); p_vf 2069 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf, bool b_is_tx) p_vf 2071 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *p_mbx = &p_vf->vf_mbx; p_vf 2075 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!(p_vf->acquire.vfdev_info.capabilities & p_vf 2089 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->relative_vf_id); p_vf 2097 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->relative_vf_id, p_qid_tlv->qid); p_vf 2318 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf) p_vf 2321 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &p_vf->vf_mbx; p_vf 2397 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_send_response(p_hwfn, p_ptt, p_vf, sizeof(*p_resp), status); p_vf 2402 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf, p_vf 2405 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &p_vf->vf_mbx; p_vf 2416 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (p_vf->acquire.vfdev_info.eth_fp_hsi_minor == p_vf 2434 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_send_response(p_hwfn, p_ptt, p_vf, length, status); p_vf 2782 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf, p_vf 2793 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->shadow_config.inner_vlan_removal = p_vlan_tlv->remove_vlan; p_vf 2796 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!(p_vf->configured_features & BIT(VLAN_ADDR_FORCED))) { p_vf 3115 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf, p_vf 3123 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (p_vf->shadow_config.vlans[i].used && p_vf 3124 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->shadow_config.vlans[i].vid == p_vf 3126 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->shadow_config.vlans[i].used = false; p_vf 3133 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->relative_vf_id); p_vf 3139 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->shadow_config.vlans[i].used = false; p_vf 3145 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (p_vf->bulletin.p_virt->valid_bitmap & BIT(VLAN_ADDR_FORCED)) p_vf 3151 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (p_vf->shadow_config.vlans[i].used) p_vf 3154 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->shadow_config.vlans[i].used = true; p_vf 3155 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->shadow_config.vlans[i].vid = p_params->vlan; p_vf 3163 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->relative_vf_id, p_vf 3173 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf, p_vf 3179 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (p_vf->bulletin.p_virt->valid_bitmap & BIT(MAC_ADDR_FORCED)) p_vf 3183 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (p_vf->p_vf_info.is_trusted_configured) p_vf 3189 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (ether_addr_equal(p_vf->shadow_config.macs[i], p_vf 3191 drivers/net/ethernet/qlogic/qed/qed_sriov.c eth_zero_addr(p_vf->shadow_config.macs[i]); p_vf 3204 drivers/net/ethernet/qlogic/qed/qed_sriov.c eth_zero_addr(p_vf->shadow_config.macs[i]); p_vf 3213 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (is_zero_ether_addr(p_vf->shadow_config.macs[i])) { p_vf 3214 drivers/net/ethernet/qlogic/qed/qed_sriov.c ether_addr_copy(p_vf->shadow_config.macs[i], p_vf 3232 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf, p_vf 3238 drivers/net/ethernet/qlogic/qed/qed_sriov.c rc = qed_iov_vf_update_mac_shadow(p_hwfn, p_vf, p_params); p_vf 3244 drivers/net/ethernet/qlogic/qed/qed_sriov.c rc = qed_iov_vf_update_vlan_shadow(p_hwfn, p_vf, p_params); p_vf 3398 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf) p_vf 3404 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vf_cleanup(p_hwfn, p_vf); p_vf 3406 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (p_vf->state != VF_STOPPED && p_vf->state != VF_FREE) { p_vf 3408 drivers/net/ethernet/qlogic/qed/qed_sriov.c rc = qed_sp_vf_stop(p_hwfn, p_vf->concrete_fid, p_vf 3409 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->opaque_fid); p_vf 3417 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->state = VF_STOPPED; p_vf 3420 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_prepare_resp(p_hwfn, p_ptt, p_vf, CHANNEL_TLV_RELEASE, p_vf 3426 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf) p_vf 3428 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &p_vf->vf_mbx; p_vf 3445 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!qed_iov_validate_rxq(p_hwfn, p_vf, qid, p_vf 3449 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id, qid); p_vf 3453 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_cid = qed_iov_get_vf_rx_queue_cid(&p_vf->vf_queues[qid]); p_vf 3458 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!qed_iov_validate_txq(p_hwfn, p_vf, qid, p_vf 3462 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id, qid); p_vf 3466 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_queue = &p_vf->vf_queues[qid]; p_vf 3490 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_send_response(p_hwfn, p_ptt, p_vf, sizeof(*p_resp), status); p_vf 3577 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf, struct qed_ptt *p_ptt) p_vf 3582 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_fid_pretend(p_hwfn, p_ptt, (u16) p_vf->concrete_fid); p_vf 3595 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id, val); p_vf 3604 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf, struct qed_ptt *p_ptt) p_vf 3643 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id, i); p_vf 3651 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf, struct qed_ptt *p_ptt) p_vf 3655 drivers/net/ethernet/qlogic/qed/qed_sriov.c rc = qed_iov_vf_flr_poll_dorq(p_hwfn, p_vf, p_ptt); p_vf 3659 drivers/net/ethernet/qlogic/qed/qed_sriov.c rc = qed_iov_vf_flr_poll_pbf(p_hwfn, p_vf, p_ptt); p_vf 3671 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf; p_vf 3674 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf = qed_iov_get_vf_info(p_hwfn, rel_vf_id, false); p_vf 3675 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf) p_vf 3680 drivers/net/ethernet/qlogic/qed/qed_sriov.c u16 vfid = p_vf->abs_vf_id; p_vf 3685 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vf_cleanup(p_hwfn, p_vf); p_vf 3688 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf->b_init) p_vf 3691 drivers/net/ethernet/qlogic/qed/qed_sriov.c rc = qed_iov_vf_flr_poll(p_hwfn, p_vf, p_ptt); p_vf 3711 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->state = VF_STOPPED; p_vf 3713 drivers/net/ethernet/qlogic/qed/qed_sriov.c rc = qed_iov_enable_vf_access(p_hwfn, p_ptt, p_vf); p_vf 3721 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (p_vf->state == VF_RESET) p_vf 3722 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->state = VF_STOPPED; p_vf 3726 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->vf_mbx.b_pending_msg = false; p_vf 3772 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf; p_vf 3775 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf = qed_iov_get_vf_info(p_hwfn, i, false); p_vf 3776 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf) p_vf 3779 drivers/net/ethernet/qlogic/qed/qed_sriov.c vfid = p_vf->abs_vf_id; p_vf 3782 drivers/net/ethernet/qlogic/qed/qed_sriov.c u16 rel_vf_id = p_vf->relative_vf_id; p_vf 3788 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->state = VF_RESET; p_vf 3809 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf = qed_iov_get_vf_info(p_hwfn, p_vf 3814 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf) p_vf 3817 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_bulletin = p_vf->bulletin.p_virt; p_vf 3830 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf) p_vf 3832 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_bulletin_content *p_bulletin = p_vf->bulletin.p_virt; p_vf 3833 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &p_vf->vf_mbx; p_vf 3838 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf->p_vf_info.is_trusted_configured) { p_vf 3842 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id); p_vf 3852 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id, p_req->mac); p_vf 3855 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_prepare_resp(p_hwfn, p_ptt, p_vf, p_vf 3865 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf; p_vf 3867 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf = qed_iov_get_vf_info(p_hwfn, (u16) vfid, true); p_vf 3868 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf) p_vf 3871 drivers/net/ethernet/qlogic/qed/qed_sriov.c mbx = &p_vf->vf_mbx; p_vf 3877 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id); p_vf 3886 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id, mbx->first_tlv.tl.type); p_vf 3890 drivers/net/ethernet/qlogic/qed/qed_sriov.c !p_vf->b_malicious) { p_vf 3893 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vf_mbx_acquire(p_hwfn, p_ptt, p_vf); p_vf 3896 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vf_mbx_start_vport(p_hwfn, p_ptt, p_vf); p_vf 3899 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vf_mbx_stop_vport(p_hwfn, p_ptt, p_vf); p_vf 3902 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vf_mbx_start_rxq(p_hwfn, p_ptt, p_vf); p_vf 3905 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vf_mbx_start_txq(p_hwfn, p_ptt, p_vf); p_vf 3908 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vf_mbx_stop_rxqs(p_hwfn, p_ptt, p_vf); p_vf 3911 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vf_mbx_stop_txqs(p_hwfn, p_ptt, p_vf); p_vf 3914 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vf_mbx_update_rxqs(p_hwfn, p_ptt, p_vf); p_vf 3917 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vf_mbx_vport_update(p_hwfn, p_ptt, p_vf); p_vf 3920 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vf_mbx_ucast_filter(p_hwfn, p_ptt, p_vf); p_vf 3923 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vf_mbx_close(p_hwfn, p_ptt, p_vf); p_vf 3926 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vf_mbx_int_cleanup(p_hwfn, p_ptt, p_vf); p_vf 3929 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vf_mbx_release(p_hwfn, p_ptt, p_vf); p_vf 3932 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vf_mbx_update_tunn_param(p_hwfn, p_ptt, p_vf); p_vf 3935 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vf_pf_set_coalesce(p_hwfn, p_ptt, p_vf); p_vf 3938 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vf_pf_get_coalesce(p_hwfn, p_ptt, p_vf); p_vf 3941 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vf_pf_bulletin_update_mac(p_hwfn, p_ptt, p_vf); p_vf 3947 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id, mbx->first_tlv.tl.type); p_vf 3949 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_prepare_resp(p_hwfn, p_ptt, p_vf, p_vf 3962 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id, p_vf 3970 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (p_vf->acquire.first_tlv.reply_address && p_vf 3972 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->acquire.first_tlv.reply_address)) { p_vf 3973 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_prepare_resp(p_hwfn, p_ptt, p_vf, p_vf 3981 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id); p_vf 3993 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf; p_vf 3995 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf = &p_hwfn->pf_iov_info->vfs_array[i]; p_vf 3996 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (p_vf->vf_mbx.b_pending_msg) p_vf 4020 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf = qed_sriov_get_vf_from_absid(p_hwfn, p_vf 4023 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf) p_vf 4029 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->vf_mbx.pending_req = (((u64)vf_msg->hi) << 32) | vf_msg->lo; p_vf 4032 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->vf_mbx.b_pending_msg = true; p_vf 4041 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf; p_vf 4043 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf = qed_sriov_get_vf_from_absid(p_hwfn, p_data->vf_id); p_vf 4045 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf) p_vf 4048 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf->b_malicious) { p_vf 4051 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id, p_data->err_id); p_vf 4053 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->b_malicious = true; p_vf 4057 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id, p_data->err_id); p_vf 4311 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf; p_vf 4313 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf = qed_iov_get_vf_info(p_hwfn, rel_vf_id, true); p_vf 4314 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf || !p_vf->bulletin.p_virt) p_vf 4317 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!(p_vf->bulletin.p_virt->valid_bitmap & p_vf 4321 drivers/net/ethernet/qlogic/qed/qed_sriov.c return p_vf->bulletin.p_virt->mac; p_vf 4327 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf; p_vf 4329 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf = qed_iov_get_vf_info(p_hwfn, rel_vf_id, true); p_vf 4330 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf || !p_vf->bulletin.p_virt) p_vf 4333 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!(p_vf->bulletin.p_virt->valid_bitmap & BIT(MAC_ADDR_FORCED))) p_vf 4336 drivers/net/ethernet/qlogic/qed/qed_sriov.c return p_vf->bulletin.p_virt->mac; p_vf 4342 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_vf_info *p_vf; p_vf 4344 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf = qed_iov_get_vf_info(p_hwfn, rel_vf_id, true); p_vf 4345 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf || !p_vf->bulletin.p_virt) p_vf 4348 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!(p_vf->bulletin.p_virt->valid_bitmap & BIT(VLAN_ADDR_FORCED))) p_vf 4351 drivers/net/ethernet/qlogic/qed/qed_sriov.c return p_vf->bulletin.p_virt->pvid; p_vf 212 drivers/net/ethernet/qlogic/qed/qed_sriov.h #define QED_VF_ABS_ID(p_hwfn, p_vf) (QED_PATH_ID(p_hwfn) ? \ p_vf 213 drivers/net/ethernet/qlogic/qed/qed_sriov.h (p_vf)->abs_vf_id + MAX_NUM_VFS_BB : \ p_vf 214 drivers/net/ethernet/qlogic/qed/qed_sriov.h (p_vf)->abs_vf_id) p_vf 1609 drivers/net/ethernet/qlogic/qed/qed_vf.c struct qed_vf_iov *p_vf; p_vf 1611 drivers/net/ethernet/qlogic/qed/qed_vf.c p_vf = p_hwfn->vf_iov_info; p_vf 1612 drivers/net/ethernet/qlogic/qed/qed_vf.c *num_vlan_filters = p_vf->acquire_resp.resc.num_vlan_filters; p_vf 1617 drivers/net/ethernet/qlogic/qed/qed_vf.c struct qed_vf_iov *p_vf = p_hwfn->vf_iov_info; p_vf 1619 drivers/net/ethernet/qlogic/qed/qed_vf.c *num_mac_filters = p_vf->acquire_resp.resc.num_mac_filters;