MCPcopy Create free account
hub / github.com/F-Stack/f-stack / i40e_set_hw_flags

Function i40e_set_hw_flags

dpdk/drivers/net/i40e/base/i40e_adminq.c:580–638  ·  view source on GitHub ↗

* i40e_set_hw_flags - set HW flags * @hw: pointer to the hardware structure **/

Source from the content-addressed store, hash-verified

578 * @hw: pointer to the hardware structure
579 **/
580STATIC void i40e_set_hw_flags(struct i40e_hw *hw)
581{
582 struct i40e_adminq_info *aq = &hw->aq;
583
584 hw->flags = 0;
585
586 switch (hw->mac.type) {
587 case I40E_MAC_XL710:
588 if (aq->api_maj_ver > 1 ||
589 (aq->api_maj_ver == 1 &&
590 aq->api_min_ver >= I40E_MINOR_VER_GET_LINK_INFO_XL710)) {
591 hw->flags |= I40E_HW_FLAG_AQ_PHY_ACCESS_CAPABLE;
592 hw->flags |= I40E_HW_FLAG_FW_LLDP_STOPPABLE;
593 /* The ability to RX (not drop) 802.1ad frames */
594 hw->flags |= I40E_HW_FLAG_802_1AD_CAPABLE;
595 }
596 break;
597 case I40E_MAC_X722:
598 hw->flags |= I40E_HW_FLAG_AQ_SRCTL_ACCESS_ENABLE |
599 I40E_HW_FLAG_NVM_READ_REQUIRES_LOCK;
600
601 if (aq->api_maj_ver > 1 ||
602 (aq->api_maj_ver == 1 &&
603 aq->api_min_ver >= I40E_MINOR_VER_FW_LLDP_STOPPABLE_X722))
604 hw->flags |= I40E_HW_FLAG_FW_LLDP_STOPPABLE;
605
606 if (aq->api_maj_ver > 1 ||
607 (aq->api_maj_ver == 1 &&
608 aq->api_min_ver >= I40E_MINOR_VER_GET_LINK_INFO_X722))
609 hw->flags |= I40E_HW_FLAG_AQ_PHY_ACCESS_CAPABLE;
610
611 if (aq->api_maj_ver > 1 ||
612 (aq->api_maj_ver == 1 &&
613 aq->api_min_ver >= I40E_MINOR_VER_FW_REQUEST_FEC_X722))
614 hw->flags |= I40E_HW_FLAG_X722_FEC_REQUEST_CAPABLE;
615
616 /* fall through */
617 default:
618 break;
619 }
620
621 /* Newer versions of firmware require lock when reading the NVM */
622 if (aq->api_maj_ver > 1 ||
623 (aq->api_maj_ver == 1 &&
624 aq->api_min_ver >= 5))
625 hw->flags |= I40E_HW_FLAG_NVM_READ_REQUIRES_LOCK;
626
627 if (aq->api_maj_ver > 1 ||
628 (aq->api_maj_ver == 1 &&
629 aq->api_min_ver >= 8)) {
630 hw->flags |= I40E_HW_FLAG_FW_LLDP_PERSISTENT;
631 hw->flags |= I40E_HW_FLAG_DROP_MODE;
632 }
633
634 if (aq->api_maj_ver > 1 ||
635 (aq->api_maj_ver == 1 &&
636 aq->api_min_ver >= 9))
637 hw->flags |= I40E_HW_FLAG_AQ_PHY_ACCESS_EXTENDED;

Callers 1

i40e_init_adminqFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected