[02/17] net/phy: Expose 100base-T capability only
diff mbox

Message ID 1474058133-27363-3-git-send-email-tpearson@raptorengineering.com
State Deferred
Delegated to: Joel Stanley
Headers show

Commit Message

Timothy Pearson Sept. 16, 2016, 8:35 p.m. UTC
From: Gavin Shan <gwshan@linux.vnet.ibm.com>

I don't know the specific PHY model deployed on Firestone BMC, but
currently used one (PHY_ID_BCM54210E) isn't correct. BCM54210E
supports 1000base-T but the PHY on Firestone BMC shouldn't support
that mode as uboot uses 100base-T mode.

When exposing 1000base-T capability, the MAC is forced to have the
same mode though the PHY is working in 100base-T mode in fact. It
causes the mode mismatch between PHY/MAC and the ethernet network
doesn't work.

It's a temporary fix. After the PHY model is confirmed, we need
to enable the correct PHY driver instead current one for BCM54210E.

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>

[Cyril]
The plot thickens, it does appear that this IS the correct PHY on
firestones. This patch is definitely required for networking to be
functional though.

Signed-off-by: Cyril Bur <cyrilbur@gmail.com>
Signed-off-by: Joel Stanley <joel@jms.id.au>
---
 drivers/net/phy/broadcom.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Joel Stanley Sept. 23, 2016, 7:46 a.m. UTC | #1
On Sat, Sep 17, 2016 at 6:05 AM, Timothy Pearson
<tpearson@raptorengineering.com> wrote:
> From: Gavin Shan <gwshan@linux.vnet.ibm.com>
>
> I don't know the specific PHY model deployed on Firestone BMC, but
> currently used one (PHY_ID_BCM54210E) isn't correct. BCM54210E
> supports 1000base-T but the PHY on Firestone BMC shouldn't support
> that mode as uboot uses 100base-T mode.
>
> When exposing 1000base-T capability, the MAC is forced to have the
> same mode though the PHY is working in 100base-T mode in fact. It
> causes the mode mismatch between PHY/MAC and the ethernet network
> doesn't work.
>
> It's a temporary fix. After the PHY model is confirmed, we need
> to enable the correct PHY driver instead current one for BCM54210E.

Gavin, have we learnt any more about why this patch might be needed?

Cheers,

Joel

>
> Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
>
> [Cyril]
> The plot thickens, it does appear that this IS the correct PHY on
> firestones. This patch is definitely required for networking to be
> functional though.
>
> Signed-off-by: Cyril Bur <cyrilbur@gmail.com>
> Signed-off-by: Joel Stanley <joel@jms.id.au>
> ---
>  drivers/net/phy/broadcom.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/broadcom.c
> index 2d5ba6a..4fd7c53 100644
> --- a/drivers/net/phy/broadcom.c
> +++ b/drivers/net/phy/broadcom.c
> @@ -596,7 +596,7 @@ static struct phy_driver broadcom_drivers[] = {
>         .phy_id         = PHY_ID_BCM54210E,
>         .phy_id_mask    = 0xfffffff0,
>         .name           = "Broadcom BCM54210E",
> -       .features       = PHY_GBIT_FEATURES |
> +       .features       = PHY_BASIC_FEATURES |
>                                 SUPPORTED_Pause | SUPPORTED_Asym_Pause,
>         .flags          = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT,
>         .config_init    = bcm54xx_config_init,
> --
> 1.7.9.5
>

Patch
diff mbox

diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/broadcom.c
index 2d5ba6a..4fd7c53 100644
--- a/drivers/net/phy/broadcom.c
+++ b/drivers/net/phy/broadcom.c
@@ -596,7 +596,7 @@  static struct phy_driver broadcom_drivers[] = {
 	.phy_id         = PHY_ID_BCM54210E,
 	.phy_id_mask    = 0xfffffff0,
 	.name           = "Broadcom BCM54210E",
-	.features       = PHY_GBIT_FEATURES |
+	.features       = PHY_BASIC_FEATURES |
 				SUPPORTED_Pause | SUPPORTED_Asym_Pause,
 	.flags          = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT,
 	.config_init    = bcm54xx_config_init,