> +     if (bp->caps & MACB_CAPS_GIGABIT_MODE_AVAILABLE &&
> +         (state->interface == PHY_INTERFACE_MODE_NA ||
> +          state->interface == PHY_INTERFACE_MODE_GMII ||
> +          state->interface == PHY_INTERFACE_MODE_SGMII ||
> +          phy_interface_mode_is_rgmii(state->interface))) {
> +             phylink_set(mask, 1000baseT_Full);
> +             phylink_set(mask, 1000baseX_Full);
> +
> +             if (!(bp->caps & MACB_CAPS_NO_GIGABIT_HALF))
> +                     phylink_set(mask, 1000baseT_Half);
> +     }
> +
> +     bitmap_and(supported, supported, mask, __ETHTOOL_LINK_MODE_MASK_NBITS);
> +     bitmap_and(state->advertising, state->advertising, mask,
> +                __ETHTOOL_LINK_MODE_MASK_NBITS);
> +}
> +
> +static int macb_mac_link_state(struct phylink_config *config,
> +                            struct phylink_link_state *state)
> +{
> +     return -EOPNOTSUPP;
> +}

The hardware supports SGMII, but you have no way of knowing if the
SGMII link is up? That seems odd.

      Andrew

Reply via email to