[PATCH net-next v2 1/3] net: ethernet: mediatek: add extension of phy-mode for TRGMII

Sean Wang sean.wang at mediatek.com
Thu Sep 22 20:32:51 PDT 2016


Date: Thu, 22 Sep 2016 14:30:53 +0300, Sergei Shtylyov <sergei.shtylyov at cogentembedded.com> wrote:
>>Hello.
>
>On 9/22/2016 5:33 AM, sean.wang at mediatek.com wrote:
>
>> From: Sean Wang <sean.wang at mediatek.com>
>>
>> adds PHY-mode "trgmii" as an extension for the operation mode of the 
>> PHY interface for PHY_INTERFACE_MODE_TRGMII.

.. deleted

>>  	switch (of_get_phy_mode(np)) {
>> +	case PHY_INTERFACE_MODE_TRGMII:
>> +		mac->trgmii = true;
>>  	case PHY_INTERFACE_MODE_RGMII_TXID:
>>  	case PHY_INTERFACE_MODE_RGMII_RXID:
>>  	case PHY_INTERFACE_MODE_RGMII_ID:
>> diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.h 
>> b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
>> index 7c5e534..e3b9525 100644
>> --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
>> +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
>> @@ -529,6 +529,8 @@ struct mtk_eth {
>>   * @hw:			Backpointer to our main datastruture
>>   * @hw_stats:		Packet statistics counter
>>   * @phy_dev:		The attached PHY if available
>> + * @trgmii		Indicate if the MAC uses TRGMII connected to internal
>> +			switch
>>   */
>>  struct mtk_mac {
>>  	int				id;
>> @@ -539,6 +541,7 @@ struct mtk_mac {
>>  	struct phy_device		*phy_dev;
>>  	__be32				hwlro_ip[MTK_MAX_LRO_IP_CNT];
>>  	int				hwlro_ip_cnt;
>> +	bool				trgmii;
>
>     I don't see where this is used.

I set trgmii as below
  	switch (of_get_phy_mode(np)) {
	case PHY_INTERFACE_MODE_TRGMII:
		mac->trgmii = true;
  	case PHY_INTERFACE_MODE_RGMII_TXID:

>[...]
>> diff --git a/include/linux/phy.h b/include/linux/phy.h index 
>> 2d24b28..e25f183 100644
>> --- a/include/linux/phy.h
>> +++ b/include/linux/phy.h
>> @@ -80,6 +80,7 @@ typedef enum {
>>  	PHY_INTERFACE_MODE_XGMII,
>>  	PHY_INTERFACE_MODE_MOCA,
>>  	PHY_INTERFACE_MODE_QSGMII,
>> +	PHY_INTERFACE_MODE_TRGMII,
>>  	PHY_INTERFACE_MODE_MAX,
>>  } phy_interface_t;
>>
>> @@ -123,6 +124,8 @@ static inline const char *phy_modes(phy_interface_t interface)
>>  		return "moca";
>>  	case PHY_INTERFACE_MODE_QSGMII:
>>  		return "qsgmii";
>> +	case PHY_INTERFACE_MODE_TRGMII:
>> +		return "trgmii";
>>  	default:
>>  		return "unknown";
>>  	}
>
>    I think this should be done in a separate phylib patch.

this patch is applied, so I am so little confused how to do this.
next time I will note placing modification for generic layer
into separate patch.

>
>MBR, Sergei
>



More information about the Linux-mediatek mailing list