Skip to content

Commit

Permalink
net/ice: enable DCF init for E830 devices
Browse files Browse the repository at this point in the history
E830 introduces a new version of Get Link Status Data
which increases the size of struct ice_aqc_get_link_status_data
from 32 bytes to 56. When initializing DCF, attempt to get
link status data using both formats of the command, by overriding
the mac type to E830 on failure with the default setting.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: Ian Stokes <ian.stokes@intel.com>
  • Loading branch information
bruce-richardson committed Jul 22, 2024
1 parent fa8d2f7 commit 980318a
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions drivers/net/ice/ice_dcf_parent.c
Original file line number Diff line number Diff line change
Expand Up @@ -346,8 +346,19 @@ ice_dcf_init_parent_hw(struct ice_hw *hw)

/* Initialize port_info struct with link information */
status = ice_aq_get_link_info(hw->port_info, true, NULL, NULL);
if (status)
goto err_unroll_alloc;
if (status) {
enum ice_mac_type type = hw->mac_type;

/* DCF uses ICE_MAC_GENERIC which can be talking to either
* E810 or E830. Retry with E830 mac type to ensure correct
* data length is used for IAVF communication with PF.
*/
hw->mac_type = ICE_MAC_E830;
status = ice_aq_get_link_info(hw->port_info, true, NULL, NULL);
hw->mac_type = type;
if (status)
goto err_unroll_alloc;
}

status = ice_init_fltr_mgmt_struct(hw);
if (status)
Expand Down

0 comments on commit 980318a

Please sign in to comment.