All of lore.kernel.org
 help / color / mirror / Atom feed
From: Murali Karicheri <m-karicheri2@ti.com>
To: Florian Fainelli <f.fainelli@gmail.com>, <johan@kernel.org>,
	"open list:TI NETCP ETHERNET DRIVER" <netdev@vger.kernel.org>,
	"Kwok, WingMan" <w-kwok2@ti.com>
Subject: Re: Micrel Phy - Is there a way to configure the Phy not to do 802.3x flow control?
Date: Thu, 10 Mar 2016 14:38:53 -0500	[thread overview]
Message-ID: <56E1CD4D.20405@ti.com> (raw)
In-Reply-To: <56E1B75F.9070100@gmail.com>

On 03/10/2016 01:05 PM, Florian Fainelli wrote:
> On 10/03/16 08:48, Murali Karicheri wrote:
>> On 03/03/2016 07:16 PM, Florian Fainelli wrote:
>>> On 03/03/16 14:18, Murali Karicheri wrote:
>>>> Hi,
>>>>
>>>> We are using Micrel Phy in one of our board and wondering if we can force the
>>>> Phy to disable flow control at start. I have a 1G ethernet switch connected
>>>> to Phy and the phy always enable flow control. I would like to configure the
>>>> phy not to flow control. Is that possible and if yes, what should I do in the
>>>> my Ethernet driver to tell the Phy not to enable flow control?
>>>
>>> The PHY is not doing flow control per-se, your pseudo Ethernet MAC in
>>> the switch is doing, along with the link partner advertising support for
>>> it. You would want to make sure that your PHY device interface (provided
>>> that you are using the PHY library) is not starting with Pause
>>> advertised, but it could be supported.
>>
>> Understood that Phy is just advertise FC. The Micrel phy for 9031 advertise
>> by default FC supported. After negotiation, I see that Phylib provide the 
>> link status with parameter pause = 1, asym_pause = 1. How do I tell the Phy not
>> to advertise?
>>
>> I call following sequence in the Ethernet driver.
>>
>> of_phy_connect(x,y,hndlr,a,z);
> 
> Here you should be able to change phydev->advertising and
> phydev->supported to mask the ADVERTISED_Pause | ADVERTISED_AsymPause
> bits and have phy_start() restart with that which should disable pause
> and asym_pause as seen by your adjust_link handler.
> 
Ok. Good point. I will try this. Thanks for your suggestion.

Murali
>> phy_start()
>>
>> Now in hndlr() I have pause = 1, asym_pause = 1, in phy_device ptr. How can 
>> I tell the phy not to advertise initially?


-- 
Murali Karicheri
Linux Kernel, Keystone

  reply	other threads:[~2016-03-10 19:38 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-03 22:18 Micrel Phy - Is there a way to configure the Phy not to do 802.3x flow control? Murali Karicheri
2016-03-03 22:26 ` Andrew Lunn
2016-03-10 15:07   ` Murali Karicheri
2016-03-04  0:16 ` Florian Fainelli
2016-03-10 16:48   ` Murali Karicheri
2016-03-10 18:05     ` Florian Fainelli
2016-03-10 19:38       ` Murali Karicheri [this message]
2016-03-10 22:51         ` Murali Karicheri
2016-03-11 18:31         ` Murali Karicheri
2016-03-11 19:51           ` Florian Fainelli
2016-03-16 15:08             ` Murali Karicheri
2016-03-16 15:16               ` Murali Karicheri
2016-03-18  0:10               ` Florian Fainelli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56E1CD4D.20405@ti.com \
    --to=m-karicheri2@ti.com \
    --cc=f.fainelli@gmail.com \
    --cc=johan@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=w-kwok2@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.