Lines Matching refs:bulletin

31 			    struct pf_vf_bulletin_content **bulletin,
1399 /* allocate local bulletin boards */
1453 struct pf_vf_bulletin_content *bulletin;
1459 rc = bnx2x_vf_op_prep(bp, idx, &vf, &bulletin, false);
1466 bulletin->valid_bitmap |= 1 << LINK_VALID;
1468 bulletin->link_speed = state->line_speed;
1469 bulletin->link_flags = 0;
1472 bulletin->link_flags |= VFPF_LINK_REPORT_LINK_DOWN;
1475 bulletin->link_flags |= VFPF_LINK_REPORT_FULL_DUPLEX;
1478 bulletin->link_flags |= VFPF_LINK_REPORT_RX_FC_ON;
1481 bulletin->link_flags |= VFPF_LINK_REPORT_TX_FC_ON;
1483 !(bulletin->link_flags & VFPF_LINK_REPORT_LINK_DOWN)) {
1484 bulletin->valid_bitmap |= 1 << LINK_VALID;
1485 bulletin->link_flags |= VFPF_LINK_REPORT_LINK_DOWN;
1487 (bulletin->link_flags & VFPF_LINK_REPORT_LINK_DOWN)) {
1488 bulletin->valid_bitmap |= 1 << LINK_VALID;
1489 bulletin->link_speed = bnx2x_max_speed_cap(bp);
1490 bulletin->link_flags &= ~VFPF_LINK_REPORT_LINK_DOWN;
1498 vf->link_cfg, bulletin->link_speed, bulletin->link_flags);
1500 /* Post update on VF's bulletin board */
1503 BNX2X_ERR("failed to update VF[%d] bulletin\n", idx);
2137 /* update vf bulletin board */
2538 struct pf_vf_bulletin_content *bulletin;
2542 bulletin = BP_VF_BULLETIN(bp, vfidx);
2543 if (bulletin->valid_bitmap & (1 << VLAN_VALID))
2544 bnx2x_set_vf_vlan(bp->dev, vfidx, bulletin->vlan, 0,
2562 struct pf_vf_bulletin_content **bulletin,
2583 *bulletin = BP_VF_BULLETIN(bp, vfidx);
2596 if (!*bulletin) {
2610 struct pf_vf_bulletin_content *bulletin = NULL;
2616 rc = bnx2x_vf_op_prep(bp, vfidx, &vf, &bulletin, true);
2645 if (bulletin->valid_bitmap & (1 << MAC_ADDR_VALID))
2646 /* mac configured by ndo so its in bulletin board */
2647 memcpy(&ivi->mac, bulletin->mac, ETH_ALEN);
2653 if (bulletin->valid_bitmap & (1 << VLAN_VALID))
2654 /* vlan configured by ndo so its in bulletin board */
2655 memcpy(&ivi->vlan, &bulletin->vlan, VLAN_HLEN);
2667 * 1. VF hasn't been acquired yet - save the mac in local bulletin board and
2670 * bulletin board. mac will be posted on VF bulletin board after VF init. VF
2673 * mac on VF's bulletin board right now. VF will configure this mac when it
2679 * where the VF fails to see the new post on its bulletin board before sending a
2681 * again after consulting its bulletin board.
2688 struct pf_vf_bulletin_content *bulletin = NULL;
2696 rc = bnx2x_vf_op_prep(bp, vfidx, &vf, &bulletin, true);
2702 /* update PF's copy of the VF's bulletin. Will no longer accept mac
2705 bulletin->valid_bitmap |= 1 << MAC_ADDR_VALID;
2706 memcpy(bulletin->mac, mac, ETH_ALEN);
2708 /* Post update on VF's bulletin board */
2715 BNX2X_ERR("failed to update VF[%d] bulletin\n", vfidx);
2753 bnx2x_set_mac_one(bp, (u8 *)&bulletin->mac, mac_obj, true,
2809 struct pf_vf_bulletin_content *bulletin = NULL;
2829 rc = bnx2x_vf_op_prep(bp, vfidx, &vf, &bulletin, true);
2833 /* update PF's copy of the VF's bulletin. No point in posting the vlan
2842 bulletin->valid_bitmap |= 1 << VLAN_VALID;
2844 bulletin->valid_bitmap &= ~(1 << VLAN_VALID);
2845 bulletin->vlan = vlan;
2847 /* Post update on VF's bulletin board */
2850 BNX2X_ERR("failed to update VF[%d] bulletin\n", vfidx);
3021 /* crc is the first field in the bulletin board. Compute the crc over the
3022 * entire bulletin board excluding the crc field itself. Use the length field
3027 u32 bnx2x_crc_vf_bulletin(struct pf_vf_bulletin_content *bulletin)
3030 ((u8 *)bulletin) + sizeof(bulletin->crc),
3031 bulletin->length - sizeof(bulletin->crc));
3034 /* Check for new posts on the bulletin board */
3037 struct pf_vf_bulletin_content *bulletin;
3046 /* sample the bulletin board */
3055 BNX2X_ERR("bad crc on bulletin board. Contained %x computed %x\n",
3060 BNX2X_ERR("pf to vf bulletin board crc was wrong %d consecutive times. Aborting\n",
3064 bulletin = &bp->shadow_bulletin.content;
3066 /* bulletin board hasn't changed since last sample */
3067 if (bp->old_bulletin.version == bulletin->version)
3070 /* the mac address in bulletin board is valid and is new */
3071 if (bulletin->valid_bitmap & 1 << MAC_ADDR_VALID &&
3072 !ether_addr_equal(bulletin->mac, bp->old_bulletin.mac)) {
3074 eth_hw_addr_set(bp->dev, bulletin->mac);
3077 if (bulletin->valid_bitmap & (1 << LINK_VALID)) {
3079 bulletin->link_speed, bulletin->link_flags);
3081 bp->vf_link_vars.line_speed = bulletin->link_speed;
3084 if (bulletin->link_flags & VFPF_LINK_REPORT_LINK_DOWN)
3088 if (bulletin->link_flags & VFPF_LINK_REPORT_FULL_DUPLEX)
3092 if (bulletin->link_flags & VFPF_LINK_REPORT_RX_FC_ON)
3096 if (bulletin->link_flags & VFPF_LINK_REPORT_TX_FC_ON)
3102 /* copy new bulletin board to bp */
3103 memcpy(&bp->old_bulletin, bulletin,
3143 /* allocate pf 2 vf bulletin board */
3161 struct pf_vf_bulletin_content *bulletin;
3167 /* locate this VFs bulletin board and update the channel down
3170 bulletin = BP_VF_BULLETIN(bp, vf_idx);
3171 bulletin->valid_bitmap |= 1 << CHANNEL_DOWN;
3173 /* update vf bulletin board */