X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fsfc%2Fbase%2Fef10_phy.c;h=737c52e10f137bcdbf8a3f8b9255bbf4bf5ab7b2;hb=a99564c680dd33d1dc4931985fd769c86e5791e5;hp=ec3600e966ff2bee85c51357ebb1c882a6eaac34;hpb=7ec0fca2c0f42eebd636b4d4c8f49bddd6576bac;p=dpdk.git diff --git a/drivers/net/sfc/base/ef10_phy.c b/drivers/net/sfc/base/ef10_phy.c index ec3600e966..737c52e10f 100644 --- a/drivers/net/sfc/base/ef10_phy.c +++ b/drivers/net/sfc/base/ef10_phy.c @@ -7,7 +7,7 @@ #include "efx.h" #include "efx_impl.h" -#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2 +#if EFX_OPTS_EF10() static void mcdi_phy_decode_cap( @@ -286,9 +286,9 @@ ef10_phy_get_link( } mcdi_phy_decode_cap(MCDI_OUT_DWORD(req, GET_LINK_OUT_CAP), - &elsp->els_adv_cap_mask); + &elsp->epls.epls_adv_cap_mask); mcdi_phy_decode_cap(MCDI_OUT_DWORD(req, GET_LINK_OUT_LP_CAP), - &elsp->els_lp_cap_mask); + &elsp->epls.epls_lp_cap_mask); if (req.emr_out_length_used < MC_CMD_GET_LINK_OUT_V2_LEN) fec = MC_CMD_FEC_NONE; @@ -298,8 +298,16 @@ ef10_phy_get_link( mcdi_phy_decode_link_mode(enp, MCDI_OUT_DWORD(req, GET_LINK_OUT_FLAGS), MCDI_OUT_DWORD(req, GET_LINK_OUT_LINK_SPEED), MCDI_OUT_DWORD(req, GET_LINK_OUT_FCNTL), - fec, &elsp->els_link_mode, - &elsp->els_fcntl, &elsp->els_fec); + fec, &elsp->epls.epls_link_mode, + &elsp->epls.epls_fcntl, &elsp->epls.epls_fec); + + if (req.emr_out_length_used < MC_CMD_GET_LINK_OUT_V2_LEN) { + elsp->epls.epls_ld_cap_mask = 0; + } else { + mcdi_phy_decode_cap(MCDI_OUT_DWORD(req, GET_LINK_OUT_V2_LD_CAP), + &elsp->epls.epls_ld_cap_mask); + } + #if EFSYS_OPT_LOOPBACK /* @@ -543,18 +551,18 @@ ef10_phy_oui_get( } __checkReturn efx_rc_t -ef10_phy_fec_type_get( +ef10_phy_link_state_get( __in efx_nic_t *enp, - __out efx_phy_fec_type_t *fecp) + __out efx_phy_link_state_t *eplsp) { efx_rc_t rc; ef10_link_state_t els; - /* Obtain the active FEC type */ + /* Obtain the active link state */ if ((rc = ef10_phy_get_link(enp, &els)) != 0) goto fail1; - *fecp = els.els_fec; + *eplsp = els.epls; return (0); @@ -747,4 +755,4 @@ ef10_bist_stop( #endif /* EFSYS_OPT_BIST */ -#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2 */ +#endif /* EFX_OPTS_EF10() */