Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1676294

Re: [PATCH NET V6 1/2] net: phy: Add phy loopback support in net phy framework

From Yunsheng Lin <linyunsheng@huawei.com>
Newsgroups linux.kernel
Subject Re: [PATCH NET V6 1/2] net: phy: Add phy loopback support in net phy framework
Date 2017-06-28 02:40 +0200
Message-ID <tX9bs-86t-11@gated-at.bofh.it> (permalink)
References <tWW4x-7Dy-7@gated-at.bofh.it> <tWW4x-7Dy-25@gated-at.bofh.it> <tWXai-8mt-21@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hi, Madalin

On 2017/6/27 19:48, Madalin-cristian Bucur wrote:
>> -----Original Message-----
>> From: netdev-owner@vger.kernel.org [mailto:netdev-owner@vger.kernel.org]
>> On Behalf Of Lin Yun Sheng
>> Sent: Tuesday, June 27, 2017 2:01 PM
>> To: davem@davemloft.net; andrew@lunn.ch; f.fainelli@gmail.com
>> Cc: huangdaode@hisilicon.com; xuwei5@hisilicon.com;
>> liguozhu@hisilicon.com; Yisen.Zhuang@huawei.com;
>> gabriele.paoloni@huawei.com; john.garry@huawei.com; linuxarm@huawei.com;
>> yisen.zhuang@huawei.com; salil.mehta@huawei.com; lipeng321@huawei.com;
>> tremyfr@gmail.com; netdev@vger.kernel.org; linux-kernel@vger.kernel.org
>> Subject: [PATCH NET V6 1/2] net: phy: Add phy loopback support in net phy
>> framework
>>
>> This patch add set_loopback in phy_driver, which is used by Mac
>> driver to enable or disable a phy. it also add a generic
>> genphy_loopback function, which use BMCR loopback bit to enable
>> or disable a phy.
> 
> "disable a phy" or disable the PHY loopback function?
It should be disable the PHY loopback function, thanks for pointing out.

> 

>> @@ -1123,6 +1123,39 @@ int phy_resume(struct phy_device *phydev)
>>  }
>>  EXPORT_SYMBOL(phy_resume);
>>
>> +int phy_loopback(struct phy_device *phydev, bool enable)
>> +{
>> +	struct phy_driver *phydrv = to_phy_driver(phydev->mdio.dev.driver);
>> +	int ret = 0;
>> +
>> +	mutex_lock(&phydev->lock);
>> +
>> +	if (enable && phydev->loopback_enabled) {
>> +		ret = -EBUSY;
>> +		goto out;
>> +	}
>> +
>> +	if (!enable && !phydev->loopback_enabled) {
>> +		ret = -EINVAL;
>> +		goto out;
>> +	}
>> +
> 
> if (enable == phydev->loopback_enabled)
One if statement don't work here, it returns different error code.

> 
>> +	if (phydev->drv && phydrv->set_loopback)
>> +		ret = phydrv->set_loopback(phydev, enable);
>> +	else
>> +		ret = -EOPNOTSUPP;
>> +
>> +	if (ret)
>> +		goto out;
>> +
>> +	phydev->loopback_enabled = enable;
>> +
>> +out:
>> +	mutex_unlock(&phydev->lock);
>> +	return ret;
>> +}
>> +EXPORT_SYMBOL(phy_loopback);
>> +
>

Best Regards
Yunsheng

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH NET V6 0/2] Add loopback support in phy_driver and hns ethtool fix Lin Yun Sheng <linyunsheng@huawei.com> - 2017-06-27 12:40 +0200
  [PATCH NET V6 1/2] net: phy: Add phy loopback support in net phy framework Lin Yun Sheng <linyunsheng@huawei.com> - 2017-06-27 12:40 +0200
    RE: [PATCH NET V6 1/2] net: phy: Add phy loopback support in net phy  framework Madalin-cristian Bucur <madalin.bucur@nxp.com> - 2017-06-27 13:50 +0200
      Re: [PATCH NET V6 1/2] net: phy: Add phy loopback support in net phy  framework Yunsheng Lin <linyunsheng@huawei.com> - 2017-06-28 02:40 +0200
  [PATCH NET V6 2/2] net: hns: Use phy_driver to setup Phy loopback Lin Yun Sheng <linyunsheng@huawei.com> - 2017-06-27 12:40 +0200

csiph-web