-
Notifications
You must be signed in to change notification settings - Fork 173
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
igb: Add BCM54616 initialization code for I354 mgmt on Netberg Aurora 420 #76
base: master
Are you sure you want to change the base?
igb: Add BCM54616 initialization code for I354 mgmt on Netberg Aurora 420 #76
Conversation
To put closer in numbering sense two related patches together. Signed-off-by: Sergey Popovich <sergey.popovich@ordnance.co>
we already have patch for support bcm phy 5461 for igb driver. why it does not work for you? |
Link just wont come up without this specific initialization, linkup code. Yes, this potentially can broke things for others and if you consider not to merge this: |
your patch does not seem to be aligned with linux kernel since there is already 5461S phy support in 4.9 kernel. https://elixir.bootlin.com/linux/v4.9.147/source/drivers/net/phy/broadcom.c#L490 can you align you patch with the linux kernel approach to support broadcom phy. we cannot accept you patch in current format since it creates lots of overhead to maintain this patch. |
Will try upstream patch then. Thank you for pointing. |
I have compared upstream kernel for common part between it and patch within this request Also igb seems implement phy code on it's own, not using libphy from kernel. I agree that this change
and I'm fine to decline this pull request, but I would like to ask how bad is to maintain own copy of igb in I understand that on kernel version change we could get igb in our platform code failing to build Looking for better approach... |
patch 0011 is taken from a linux upstream commit https://patchwork.ozlabs.org/patch/799983/ we do have the same setup with igb mac and bcm 5461 phy in other platform, and the patch 0011 works for us. Wonder what is the difference that makes the patch 0011 not work for you? |
It seems we need special initialization here:
Upstream patch just silence error and does not initialize PHY like done for others. |
193a957
to
d58dd75
Compare
It seems I found root case of the problem: if there is no EEPROM (like our case) we need to manually initialize PHY. I ported drivers/net/phy/broadcom.c code to initialize BCM54616S PHY among with routines required Now link comes up and becomes operational. I think this patch is subject for upstreaming to Linux Kernel. |
We have support for Broadcom 54616 backported from Linux Kernel upstream in commit 3639697 ("[igb]: support broadcom 54616 phy for Intel igb driver (sonic-net#3)"). However that support doesn't account for the case when no EEPROM present and we need to initialize PHY manually. Signed-off-by: Sergey Popovich <sergey.popovich@ordnance.co>
d58dd75
to
eae4b44
Compare
Did you ever sent this to Linux upstream? |
/easycla |
|
Add BCM54616 initialization and "link UP" code for I354 used as management network interface on Netberg Aurora 420 and other devices.
This change has to be merged before sonic-net/sonic-buildimage#2400.