net/sfc/base: import PHY flags control
EFSYS_OPT_PHY_FLAGS should be enabled to use it. From Solarflare Communications Inc. Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
This commit is contained in:
parent
7243cc0869
commit
8bc0b2bd78
@ -293,7 +293,11 @@ ef10_phy_reconfigure(
|
|||||||
speed = 0;
|
speed = 0;
|
||||||
MCDI_IN_SET_DWORD(req, SET_LINK_IN_LOOPBACK_SPEED, speed);
|
MCDI_IN_SET_DWORD(req, SET_LINK_IN_LOOPBACK_SPEED, speed);
|
||||||
|
|
||||||
|
#if EFSYS_OPT_PHY_FLAGS
|
||||||
|
MCDI_IN_SET_DWORD(req, SET_LINK_IN_FLAGS, epp->ep_phy_flags);
|
||||||
|
#else
|
||||||
MCDI_IN_SET_DWORD(req, SET_LINK_IN_FLAGS, 0);
|
MCDI_IN_SET_DWORD(req, SET_LINK_IN_FLAGS, 0);
|
||||||
|
#endif /* EFSYS_OPT_PHY_FLAGS */
|
||||||
|
|
||||||
efx_mcdi_execute(enp, &req);
|
efx_mcdi_execute(enp, &req);
|
||||||
|
|
||||||
|
@ -668,6 +668,9 @@ typedef struct efx_nic_cfg_s {
|
|||||||
uint32_t enc_rx_prefix_size;
|
uint32_t enc_rx_prefix_size;
|
||||||
uint32_t enc_rx_buf_align_start;
|
uint32_t enc_rx_buf_align_start;
|
||||||
uint32_t enc_rx_buf_align_end;
|
uint32_t enc_rx_buf_align_end;
|
||||||
|
#if EFSYS_OPT_PHY_FLAGS
|
||||||
|
uint32_t enc_phy_flags_mask;
|
||||||
|
#endif /* EFSYS_OPT_PHY_FLAGS */
|
||||||
#if EFSYS_OPT_MCDI
|
#if EFSYS_OPT_MCDI
|
||||||
uint8_t enc_mcdi_mdio_channel;
|
uint8_t enc_mcdi_mdio_channel;
|
||||||
#endif /* EFSYS_OPT_MCDI */
|
#endif /* EFSYS_OPT_MCDI */
|
||||||
|
@ -166,6 +166,13 @@
|
|||||||
# error "PHY_BIST is obsolete (replaced by BIST)."
|
# error "PHY_BIST is obsolete (replaced by BIST)."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if EFSYS_OPT_PHY_FLAGS
|
||||||
|
/* Support PHY flags */
|
||||||
|
# if !EFSYS_OPT_SIENA
|
||||||
|
# error "PHY_FLAGS requires SIENA"
|
||||||
|
# endif
|
||||||
|
#endif /* EFSYS_OPT_PHY_FLAGS */
|
||||||
|
|
||||||
#ifdef EFSYS_OPT_PHY_NULL
|
#ifdef EFSYS_OPT_PHY_NULL
|
||||||
# error "PHY_NULL is obsolete and is not supported."
|
# error "PHY_NULL is obsolete and is not supported."
|
||||||
#endif
|
#endif
|
||||||
|
@ -237,6 +237,9 @@ typedef struct efx_port_s {
|
|||||||
uint8_t ep_mulcst_addr_list[EFX_MAC_ADDR_LEN *
|
uint8_t ep_mulcst_addr_list[EFX_MAC_ADDR_LEN *
|
||||||
EFX_MAC_MULTICAST_LIST_MAX];
|
EFX_MAC_MULTICAST_LIST_MAX];
|
||||||
uint32_t ep_mulcst_addr_count;
|
uint32_t ep_mulcst_addr_count;
|
||||||
|
#if EFSYS_OPT_PHY_FLAGS
|
||||||
|
uint32_t ep_phy_flags;
|
||||||
|
#endif /* EFSYS_OPT_PHY_FLAGS */
|
||||||
efx_phy_media_type_t ep_fixed_port_type;
|
efx_phy_media_type_t ep_fixed_port_type;
|
||||||
efx_phy_media_type_t ep_module_type;
|
efx_phy_media_type_t ep_module_type;
|
||||||
uint32_t ep_adv_cap_mask;
|
uint32_t ep_adv_cap_mask;
|
||||||
|
@ -1425,6 +1425,9 @@ efx_mcdi_get_phy_cfg(
|
|||||||
|
|
||||||
epp->ep_phy_cap_mask =
|
epp->ep_phy_cap_mask =
|
||||||
MCDI_OUT_DWORD(req, GET_PHY_CFG_OUT_SUPPORTED_CAP);
|
MCDI_OUT_DWORD(req, GET_PHY_CFG_OUT_SUPPORTED_CAP);
|
||||||
|
#if EFSYS_OPT_PHY_FLAGS
|
||||||
|
encp->enc_phy_flags_mask = MCDI_OUT_DWORD(req, GET_PHY_CFG_OUT_FLAGS);
|
||||||
|
#endif /* EFSYS_OPT_PHY_FLAGS */
|
||||||
|
|
||||||
encp->enc_port = (uint8_t)MCDI_OUT_DWORD(req, GET_PHY_CFG_OUT_PRT);
|
encp->enc_port = (uint8_t)MCDI_OUT_DWORD(req, GET_PHY_CFG_OUT_PRT);
|
||||||
|
|
||||||
|
@ -277,7 +277,11 @@ siena_phy_reconfigure(
|
|||||||
speed = 0;
|
speed = 0;
|
||||||
MCDI_IN_SET_DWORD(req, SET_LINK_IN_LOOPBACK_SPEED, speed);
|
MCDI_IN_SET_DWORD(req, SET_LINK_IN_LOOPBACK_SPEED, speed);
|
||||||
|
|
||||||
|
#if EFSYS_OPT_PHY_FLAGS
|
||||||
|
MCDI_IN_SET_DWORD(req, SET_LINK_IN_FLAGS, epp->ep_phy_flags);
|
||||||
|
#else
|
||||||
MCDI_IN_SET_DWORD(req, SET_LINK_IN_FLAGS, 0);
|
MCDI_IN_SET_DWORD(req, SET_LINK_IN_FLAGS, 0);
|
||||||
|
#endif /* EFSYS_OPT_PHY_FLAGS */
|
||||||
|
|
||||||
efx_mcdi_execute(enp, &req);
|
efx_mcdi_execute(enp, &req);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user