From: Koki Sanagi <sanagi.koki@jp.fujitsu.com>
To: "Wyborny, Carolyn" <carolyn.wyborny@intel.com>
Cc: "e1000-devel@lists.sourceforge.net"
<e1000-devel@lists.sourceforge.net>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"Allan, Bruce W" <bruce.w.allan@intel.com>,
"Brandeburg, Jesse" <jesse.brandeburg@intel.com>,
"Ronciak, John" <john.ronciak@intel.com>,
"davem@davemloft.net" <davem@davemloft.net>
Subject: Re: [PATCH net-next] igb: reset PHY after recovering from PHY power down
Date: Wed, 14 Dec 2011 14:55:31 +0900 [thread overview]
Message-ID: <4EE83A53.2030202@jp.fujitsu.com> (raw)
In-Reply-To: <EDC0E76513226749BFBC9C3FB031318F01832E2C5C@orsmsx508.amr.corp.intel.com>
(2011/11/29 2:57), Wyborny, Carolyn wrote:
>
>
>> -----Original Message-----
>> From: Koki Sanagi [mailto:sanagi.koki@jp.fujitsu.com]
>> Sent: Wednesday, November 23, 2011 7:18 PM
>> To: netdev@vger.kernel.org; Kirsher, Jeffrey T; Brandeburg, Jesse;
>> Allan, Bruce W; Wyborny, Carolyn; Skidmore, Donald C; Rose, Gregory V;
>> Waskiewicz Jr, Peter P; Duyck, Alexander H; Ronciak, John; e1000-
>> devel@lists.sourceforge.net
>> Cc: davem@davemloft.net
>> Subject: [PATCH net-next] igb: reset PHY after recovering from PHY power
>> down
>>
>> According to 82576_Datasheet.pdf, PHY setting is lost after PHY power
>> down.
>> So resetting PHY is needed when recovering from PHY power down to set a
>> default
>> setting to PHY register.
>>
>> Owing to this lack, NIC doesn't link up in some rare situation.
>> The situation I encountered is following.
>>
>>
>> 1.Both ports connect to switch.
>> +---------+ +--------+
>> | |-----------| |
>> | 82576NS | | switch |
>> | |-----------| |
>> +---------+ +--------+
>>
>> 2.Detach both cables from switch.
>> +---------+ +--------+
>> | |------- | |
>> | 82576NS | | switch |
>> | |------- | |
>> +---------+ +--------+
>>
>> 3.Detach one cable from one port.
>> +---------+ +--------+
>> | |------- | |
>> | 82576NS | | switch |
>> | | | |
>> +---------+ +--------+
>>
>> 4.Attach that cable to the other port.(It means connecting directly each
>> port)
>> +---------+ +--------+
>> | |-------+ | |
>> | 82576NS | | | switch |
>> | |-------+ | |
>> +---------+ +--------+
>>
>> As a result, NIC doesn't link up sometimes.
>>
>> Signed-off-by: Koki Sanagi <sanagi.koki@jp.fujitsu.com>
>> ---
>> drivers/net/ethernet/intel/igb/igb_main.c | 1 +
>> 1 files changed, 1 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/intel/igb/igb_main.c
>> b/drivers/net/ethernet/intel/igb/igb_main.c
>> index bd9b30e..4d4f065 100644
>> --- a/drivers/net/ethernet/intel/igb/igb_main.c
>> +++ b/drivers/net/ethernet/intel/igb/igb_main.c
>> @@ -2496,6 +2496,7 @@ static int igb_open(struct net_device *netdev)
>> goto err_setup_rx;
>>
>> igb_power_up_link(adapter);
>> + igb_reset_phy(hw);
>>
>> /* before we allocate an interrupt, we must be ready to handle it.
>> * Setting DEBUG_SHIRQ in the kernel makes it fire an interrupt
>
> Hello,
>
> This seems reasonable, however it would only cover cases where igb_open is being called. It would be better to integrate the phy_reset call into igb_power_up_link, so that's the default. I can provide an alternate by end of the week.
>
When will the alternate be provided ?
In addition, more general problem which this lack of reset causes is found.
Two machine have 82576NS and each NIC is connected directly each other.
+--------+ +--------+
| | | |
| +-------+ +-------+ |
| | | | | |
|machineA|82576NS|-----------|82576NS|machineB|
| | | | | |
| +-------+ +-------+ |
| | | |
+--------+ +--------+
When attaching and detaching a cable repeatedly on one side port,
that side port becomes not link up.
This is also fixed by adding resetting phy.
Thanks,
Koki Sanagi
> Thanks,
>
> Carolyn
>
> Carolyn Wyborny
> Linux Development
> LAN Access Division
> Intel Corporation
>
>
>
>
------------------------------------------------------------------------------
Cloud Computing - Latest Buzzword or a Glimpse of the Future?
This paper surveys cloud computing today: What are the benefits?
Why are businesses embracing it? What are its payoffs and pitfalls?
http://www.accelacomm.com/jaw/sdnl/114/51425149/
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired
next prev parent reply other threads:[~2011-12-14 5:55 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-24 3:18 [PATCH net-next] igb: reset PHY after recovering from PHY power down Koki Sanagi
2011-11-28 17:57 ` Wyborny, Carolyn
2011-12-14 5:55 ` Koki Sanagi [this message]
2011-12-16 15:53 ` Wyborny, Carolyn
2011-12-18 23:59 ` Koki Sanagi
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=4EE83A53.2030202@jp.fujitsu.com \
--to=sanagi.koki@jp.fujitsu.com \
--cc=bruce.w.allan@intel.com \
--cc=carolyn.wyborny@intel.com \
--cc=davem@davemloft.net \
--cc=e1000-devel@lists.sourceforge.net \
--cc=jesse.brandeburg@intel.com \
--cc=john.ronciak@intel.com \
--cc=netdev@vger.kernel.org \
/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.