Commit 2730214d authored by Vasundhara Volam's avatar Vasundhara Volam Committed by David S. Miller

bnxt_en: read the clause type from the PHY ID

Currently driver hard code Clause 45 based on speed supported by the
PHY. Instead read the clause type from the PHY ID provided as input
to the mdio ioctl.

Fixes: 0ca12be9 ("bnxt_en: Add support for mdio read/write to external PHY")
Signed-off-by: default avatarVasundhara Volam <vasundhara-v.volam@broadcom.com>
Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 691aa620
...@@ -8699,7 +8699,7 @@ static int bnxt_hwrm_port_phy_read(struct bnxt *bp, u16 phy_addr, u16 reg, ...@@ -8699,7 +8699,7 @@ static int bnxt_hwrm_port_phy_read(struct bnxt *bp, u16 phy_addr, u16 reg,
req.port_id = cpu_to_le16(bp->pf.port_id); req.port_id = cpu_to_le16(bp->pf.port_id);
req.phy_addr = phy_addr; req.phy_addr = phy_addr;
req.reg_addr = cpu_to_le16(reg & 0x1f); req.reg_addr = cpu_to_le16(reg & 0x1f);
if (bp->link_info.support_speeds & BNXT_LINK_SPEED_MSK_10GB) { if (mdio_phy_id_is_c45(phy_addr)) {
req.cl45_mdio = 1; req.cl45_mdio = 1;
req.phy_addr = mdio_phy_id_prtad(phy_addr); req.phy_addr = mdio_phy_id_prtad(phy_addr);
req.dev_addr = mdio_phy_id_devad(phy_addr); req.dev_addr = mdio_phy_id_devad(phy_addr);
...@@ -8726,7 +8726,7 @@ static int bnxt_hwrm_port_phy_write(struct bnxt *bp, u16 phy_addr, u16 reg, ...@@ -8726,7 +8726,7 @@ static int bnxt_hwrm_port_phy_write(struct bnxt *bp, u16 phy_addr, u16 reg,
req.port_id = cpu_to_le16(bp->pf.port_id); req.port_id = cpu_to_le16(bp->pf.port_id);
req.phy_addr = phy_addr; req.phy_addr = phy_addr;
req.reg_addr = cpu_to_le16(reg & 0x1f); req.reg_addr = cpu_to_le16(reg & 0x1f);
if (bp->link_info.support_speeds & BNXT_LINK_SPEED_MSK_10GB) { if (mdio_phy_id_is_c45(phy_addr)) {
req.cl45_mdio = 1; req.cl45_mdio = 1;
req.phy_addr = mdio_phy_id_prtad(phy_addr); req.phy_addr = mdio_phy_id_prtad(phy_addr);
req.dev_addr = mdio_phy_id_devad(phy_addr); req.dev_addr = mdio_phy_id_devad(phy_addr);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment