>>      switch (state->interface) {
>>      case PHY_INTERFACE_MODE_NA:
>> +    case PHY_INTERFACE_MODE_USXGMII:
>> +    case PHY_INTERFACE_MODE_10GKR:
>> +            if (bp->caps & MACB_CAPS_GIGABIT_MODE_AVAILABLE) {
>> +                    phylink_set(mask, 10000baseCR_Full);
>> +                    phylink_set(mask, 10000baseER_Full);
>> +                    phylink_set(mask, 10000baseKR_Full);
>> +                    phylink_set(mask, 10000baseLR_Full);
>> +                    phylink_set(mask, 10000baseLRM_Full);
>> +                    phylink_set(mask, 10000baseSR_Full);
>> +                    phylink_set(mask, 10000baseT_Full);
>> +                    phylink_set(mask, 5000baseT_Full);
>> +                    phylink_set(mask, 2500baseX_Full);
>> +                    phylink_set(mask, 1000baseX_Full);
>> +            }
>If MACB_CAPS_GIGABIT_MODE_AVAILABLE is not set, are these interface
>modes supported by the hardware?  If the PHY interface mode is not
>supported, then the returned support mask must be cleared.[] 
There are some configs which uses this macro to limit data rate to 100M 
even if hardware support higher rates.
Empty link mode mask is initialized at the beginning and supported link 
modes are added to it and at the end of this function this mask is AND'ed 
with supported mask.

>> +static inline void gem_mac_configure(struct macb *bp, int speed)
>> +{
>> +    if (bp->phy_interface == PHY_INTERFACE_MODE_SGMII)
>> +            gem_writel(bp, NCFGR, GEM_BIT(SGMIIEN) |
>> +                       GEM_BIT(PCSSEL) |
>> +                       gem_readl(bp, NCFGR));
>Is this still necessary?
Sorry, missed this. I will remove in next patch set.

Regards,
Parshuram Thombare

Reply via email to