Re: [PATCH] netdev/phy: Implement ieee802.3 clause 45 in mdio-octeon.c

From: David Daney
Date: Wed Apr 03 2013 - 15:13:26 EST


On 04/03/2013 12:08 PM, Ben Hutchings wrote:
On Wed, 2013-04-03 at 11:16 -0700, David Daney wrote:
From: David Daney <david.daney@xxxxxxxxxx>

The Octeon SMI/MDIO interfaces can do clause 45 communications, so
implement this in the driver.

Signed-off-by: David Daney <david.daney@xxxxxxxxxx>
---
drivers/net/phy/mdio-octeon.c | 89 +++++++++++++++++++++++++++++++++++++++++--
1 file changed, 86 insertions(+), 3 deletions(-)

diff --git a/drivers/net/phy/mdio-octeon.c b/drivers/net/phy/mdio-octeon.c
index c2c878d..f4f3abf 100644
--- a/drivers/net/phy/mdio-octeon.c
+++ b/drivers/net/phy/mdio-octeon.c
[...]
static int octeon_mdiobus_read(struct mii_bus *bus, int phy_id, int regnum)
{
struct octeon_mdiobus *p = bus->priv;
union cvmx_smix_cmd smi_cmd;
union cvmx_smix_rd_dat smi_rd;
+ unsigned int op = 1; /* MDIO_CLAUSE_22_READ */
int timeout = 1000;

+ if (regnum & MII_ADDR_C45) {
+ int r = octeon_mdiobus_c45_addr(p, phy_id, regnum);
+ if (r < 0)
+ return r;
+
+ regnum = (regnum >> 16) & 0x1f;
+ op = 3; /* MDIO_CLAUSE_45_READ */
+ } else {
+ octeon_mdiobus_set_mode(p, C22);
+ }
+
+
smi_cmd.u64 = 0;
- smi_cmd.s.phy_op = 1; /* MDIO_CLAUSE_22_READ */
+ smi_cmd.s.phy_op = op; /* MDIO_CLAUSE_22_READ */
[...]

This comment should now be removed.

You have very sharp eyes. I will send yet another version of the patch with this removed.

David Daney



Ben.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/