netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4 net-next] net: phy: aquantia: number of improvements
@ 2019-02-03 19:32 Heiner Kallweit
  2019-02-03 19:33 ` [PATCH 1/4 net-next] net: phy: aquantia: shorten name space prefix to aqr_ Heiner Kallweit
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Heiner Kallweit @ 2019-02-03 19:32 UTC (permalink / raw)
  To: Andrew Lunn, Florian Fainelli, David Miller; +Cc: netdev@vger.kernel.org

This patch series is based on work from Andrew. I adjusted and added
certain parts. The series improves few aspects of driver, no functional
change intended.

Andrew Lunn (1):
  net: phy: aquantia: shorten name space prefix to aqr_

Heiner Kallweit (3):
  net: phy: aquantia: remove unneeded includes
  net: phy: aquantia: use macro PHY_ID_MATCH_MODEL
  net: phy: aquantia: replace magic numbers with constants

 drivers/net/phy/aquantia.c | 178 +++++++++++++++++++++++--------------
 1 file changed, 110 insertions(+), 68 deletions(-)

-- 
2.20.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 1/4 net-next] net: phy: aquantia: shorten name space prefix to aqr_
  2019-02-03 19:32 [PATCH 0/4 net-next] net: phy: aquantia: number of improvements Heiner Kallweit
@ 2019-02-03 19:33 ` Heiner Kallweit
  2019-02-03 19:38   ` Andrew Lunn
  2019-02-03 19:33 ` [PATCH 2/4 net-next] net: phy: aquantia: remove unneeded includes Heiner Kallweit
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 11+ messages in thread
From: Heiner Kallweit @ 2019-02-03 19:33 UTC (permalink / raw)
  To: Andrew Lunn, Florian Fainelli, David Miller; +Cc: netdev@vger.kernel.org

From: Andrew Lunn <andrew@lunn.ch>
aquantia_ as a name space prefix is rather long, resulting in lots of
lines needing wrapping, reducing readability. Use the prefix aqr_
instead, which fits with the vendor naming there devices aqr107, for
example.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
 drivers/net/phy/aquantia.c | 64 +++++++++++++++++++-------------------
 1 file changed, 32 insertions(+), 32 deletions(-)

diff --git a/drivers/net/phy/aquantia.c b/drivers/net/phy/aquantia.c
index 0578fe75d..880ec4bba 100644
--- a/drivers/net/phy/aquantia.c
+++ b/drivers/net/phy/aquantia.c
@@ -22,7 +22,7 @@
 #define PHY_ID_AQR107	0x03a1b4e0
 #define PHY_ID_AQR405	0x03a1b4b0
 
-static int aquantia_config_aneg(struct phy_device *phydev)
+static int aqr_config_aneg(struct phy_device *phydev)
 {
 	linkmode_copy(phydev->supported, phy_10gbit_features);
 	linkmode_copy(phydev->advertising, phydev->supported);
@@ -30,7 +30,7 @@ static int aquantia_config_aneg(struct phy_device *phydev)
 	return 0;
 }
 
-static int aquantia_config_intr(struct phy_device *phydev)
+static int aqr_config_intr(struct phy_device *phydev)
 {
 	int err;
 
@@ -59,7 +59,7 @@ static int aquantia_config_intr(struct phy_device *phydev)
 	return err;
 }
 
-static int aquantia_ack_interrupt(struct phy_device *phydev)
+static int aqr_ack_interrupt(struct phy_device *phydev)
 {
 	int reg;
 
@@ -67,7 +67,7 @@ static int aquantia_ack_interrupt(struct phy_device *phydev)
 	return (reg < 0) ? reg : 0;
 }
 
-static int aquantia_read_status(struct phy_device *phydev)
+static int aqr_read_status(struct phy_device *phydev)
 {
 	int reg;
 
@@ -102,17 +102,17 @@ static int aquantia_read_status(struct phy_device *phydev)
 	return 0;
 }
 
-static struct phy_driver aquantia_driver[] = {
+static struct phy_driver aqr_driver[] = {
 {
 	.phy_id		= PHY_ID_AQ1202,
 	.phy_id_mask	= 0xfffffff0,
 	.name		= "Aquantia AQ1202",
 	.features	= PHY_10GBIT_FULL_FEATURES,
 	.aneg_done	= genphy_c45_aneg_done,
-	.config_aneg    = aquantia_config_aneg,
-	.config_intr	= aquantia_config_intr,
-	.ack_interrupt	= aquantia_ack_interrupt,
-	.read_status	= aquantia_read_status,
+	.config_aneg    = aqr_config_aneg,
+	.config_intr	= aqr_config_intr,
+	.ack_interrupt	= aqr_ack_interrupt,
+	.read_status	= aqr_read_status,
 },
 {
 	.phy_id		= PHY_ID_AQ2104,
@@ -120,10 +120,10 @@ static struct phy_driver aquantia_driver[] = {
 	.name		= "Aquantia AQ2104",
 	.features	= PHY_10GBIT_FULL_FEATURES,
 	.aneg_done	= genphy_c45_aneg_done,
-	.config_aneg    = aquantia_config_aneg,
-	.config_intr	= aquantia_config_intr,
-	.ack_interrupt	= aquantia_ack_interrupt,
-	.read_status	= aquantia_read_status,
+	.config_aneg    = aqr_config_aneg,
+	.config_intr	= aqr_config_intr,
+	.ack_interrupt	= aqr_ack_interrupt,
+	.read_status	= aqr_read_status,
 },
 {
 	.phy_id		= PHY_ID_AQR105,
@@ -131,10 +131,10 @@ static struct phy_driver aquantia_driver[] = {
 	.name		= "Aquantia AQR105",
 	.features	= PHY_10GBIT_FULL_FEATURES,
 	.aneg_done	= genphy_c45_aneg_done,
-	.config_aneg    = aquantia_config_aneg,
-	.config_intr	= aquantia_config_intr,
-	.ack_interrupt	= aquantia_ack_interrupt,
-	.read_status	= aquantia_read_status,
+	.config_aneg    = aqr_config_aneg,
+	.config_intr	= aqr_config_intr,
+	.ack_interrupt	= aqr_ack_interrupt,
+	.read_status	= aqr_read_status,
 },
 {
 	.phy_id		= PHY_ID_AQR106,
@@ -142,10 +142,10 @@ static struct phy_driver aquantia_driver[] = {
 	.name		= "Aquantia AQR106",
 	.features	= PHY_10GBIT_FULL_FEATURES,
 	.aneg_done	= genphy_c45_aneg_done,
-	.config_aneg    = aquantia_config_aneg,
-	.config_intr	= aquantia_config_intr,
-	.ack_interrupt	= aquantia_ack_interrupt,
-	.read_status	= aquantia_read_status,
+	.config_aneg    = aqr_config_aneg,
+	.config_intr	= aqr_config_intr,
+	.ack_interrupt	= aqr_ack_interrupt,
+	.read_status	= aqr_read_status,
 },
 {
 	.phy_id		= PHY_ID_AQR107,
@@ -153,10 +153,10 @@ static struct phy_driver aquantia_driver[] = {
 	.name		= "Aquantia AQR107",
 	.features	= PHY_10GBIT_FULL_FEATURES,
 	.aneg_done	= genphy_c45_aneg_done,
-	.config_aneg    = aquantia_config_aneg,
-	.config_intr	= aquantia_config_intr,
-	.ack_interrupt	= aquantia_ack_interrupt,
-	.read_status	= aquantia_read_status,
+	.config_aneg    = aqr_config_aneg,
+	.config_intr	= aqr_config_intr,
+	.ack_interrupt	= aqr_ack_interrupt,
+	.read_status	= aqr_read_status,
 },
 {
 	.phy_id		= PHY_ID_AQR405,
@@ -164,16 +164,16 @@ static struct phy_driver aquantia_driver[] = {
 	.name		= "Aquantia AQR405",
 	.features	= PHY_10GBIT_FULL_FEATURES,
 	.aneg_done	= genphy_c45_aneg_done,
-	.config_aneg    = aquantia_config_aneg,
-	.config_intr	= aquantia_config_intr,
-	.ack_interrupt	= aquantia_ack_interrupt,
-	.read_status	= aquantia_read_status,
+	.config_aneg    = aqr_config_aneg,
+	.config_intr	= aqr_config_intr,
+	.ack_interrupt	= aqr_ack_interrupt,
+	.read_status	= aqr_read_status,
 },
 };
 
-module_phy_driver(aquantia_driver);
+module_phy_driver(aqr_driver);
 
-static struct mdio_device_id __maybe_unused aquantia_tbl[] = {
+static struct mdio_device_id __maybe_unused aqr_tbl[] = {
 	{ PHY_ID_AQ1202, 0xfffffff0 },
 	{ PHY_ID_AQ2104, 0xfffffff0 },
 	{ PHY_ID_AQR105, 0xfffffff0 },
@@ -183,7 +183,7 @@ static struct mdio_device_id __maybe_unused aquantia_tbl[] = {
 	{ }
 };
 
-MODULE_DEVICE_TABLE(mdio, aquantia_tbl);
+MODULE_DEVICE_TABLE(mdio, aqr_tbl);
 
 MODULE_DESCRIPTION("Aquantia PHY driver");
 MODULE_AUTHOR("Shaohui Xie <Shaohui.Xie@freescale.com>");
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 2/4 net-next] net: phy: aquantia: remove unneeded includes
  2019-02-03 19:32 [PATCH 0/4 net-next] net: phy: aquantia: number of improvements Heiner Kallweit
  2019-02-03 19:33 ` [PATCH 1/4 net-next] net: phy: aquantia: shorten name space prefix to aqr_ Heiner Kallweit
@ 2019-02-03 19:33 ` Heiner Kallweit
  2019-02-03 19:54   ` Andrew Lunn
  2019-02-03 19:34 ` [PATCH 3/4 net-next] net: phy: aquantia: use macro PHY_ID_MATCH_MODEL Heiner Kallweit
  2019-02-03 19:35 ` [PATCH 4/4 net-next] net: phy: aquantia: replace magic numbers with constants Heiner Kallweit
  3 siblings, 1 reply; 11+ messages in thread
From: Heiner Kallweit @ 2019-02-03 19:33 UTC (permalink / raw)
  To: Andrew Lunn, Florian Fainelli, David Miller; +Cc: netdev@vger.kernel.org

Remove unneeded header includes.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
 drivers/net/phy/aquantia.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/net/phy/aquantia.c b/drivers/net/phy/aquantia.c
index 880ec4bba..8a51589a3 100644
--- a/drivers/net/phy/aquantia.c
+++ b/drivers/net/phy/aquantia.c
@@ -7,13 +7,9 @@
  * Copyright 2015 Freescale Semiconductor, Inc.
  */
 
-#include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/delay.h>
-#include <linux/mii.h>
-#include <linux/ethtool.h>
 #include <linux/phy.h>
-#include <linux/mdio.h>
 
 #define PHY_ID_AQ1202	0x03a1b445
 #define PHY_ID_AQ2104	0x03a1b460
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 3/4 net-next] net: phy: aquantia: use macro PHY_ID_MATCH_MODEL
  2019-02-03 19:32 [PATCH 0/4 net-next] net: phy: aquantia: number of improvements Heiner Kallweit
  2019-02-03 19:33 ` [PATCH 1/4 net-next] net: phy: aquantia: shorten name space prefix to aqr_ Heiner Kallweit
  2019-02-03 19:33 ` [PATCH 2/4 net-next] net: phy: aquantia: remove unneeded includes Heiner Kallweit
@ 2019-02-03 19:34 ` Heiner Kallweit
  2019-02-03 19:54   ` Andrew Lunn
  2019-02-03 19:35 ` [PATCH 4/4 net-next] net: phy: aquantia: replace magic numbers with constants Heiner Kallweit
  3 siblings, 1 reply; 11+ messages in thread
From: Heiner Kallweit @ 2019-02-03 19:34 UTC (permalink / raw)
  To: Andrew Lunn, Florian Fainelli, David Miller; +Cc: netdev@vger.kernel.org

Make use of macro PHY_ID_MATCH_MODEL to simplify the code.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
 drivers/net/phy/aquantia.c | 30 ++++++++++++------------------
 1 file changed, 12 insertions(+), 18 deletions(-)

diff --git a/drivers/net/phy/aquantia.c b/drivers/net/phy/aquantia.c
index 8a51589a3..12874cce4 100644
--- a/drivers/net/phy/aquantia.c
+++ b/drivers/net/phy/aquantia.c
@@ -100,8 +100,7 @@ static int aqr_read_status(struct phy_device *phydev)
 
 static struct phy_driver aqr_driver[] = {
 {
-	.phy_id		= PHY_ID_AQ1202,
-	.phy_id_mask	= 0xfffffff0,
+	PHY_ID_MATCH_MODEL(PHY_ID_AQ1202),
 	.name		= "Aquantia AQ1202",
 	.features	= PHY_10GBIT_FULL_FEATURES,
 	.aneg_done	= genphy_c45_aneg_done,
@@ -111,8 +110,7 @@ static struct phy_driver aqr_driver[] = {
 	.read_status	= aqr_read_status,
 },
 {
-	.phy_id		= PHY_ID_AQ2104,
-	.phy_id_mask	= 0xfffffff0,
+	PHY_ID_MATCH_MODEL(PHY_ID_AQ2104),
 	.name		= "Aquantia AQ2104",
 	.features	= PHY_10GBIT_FULL_FEATURES,
 	.aneg_done	= genphy_c45_aneg_done,
@@ -122,8 +120,7 @@ static struct phy_driver aqr_driver[] = {
 	.read_status	= aqr_read_status,
 },
 {
-	.phy_id		= PHY_ID_AQR105,
-	.phy_id_mask	= 0xfffffff0,
+	PHY_ID_MATCH_MODEL(PHY_ID_AQR105),
 	.name		= "Aquantia AQR105",
 	.features	= PHY_10GBIT_FULL_FEATURES,
 	.aneg_done	= genphy_c45_aneg_done,
@@ -133,8 +130,7 @@ static struct phy_driver aqr_driver[] = {
 	.read_status	= aqr_read_status,
 },
 {
-	.phy_id		= PHY_ID_AQR106,
-	.phy_id_mask	= 0xfffffff0,
+	PHY_ID_MATCH_MODEL(PHY_ID_AQR106),
 	.name		= "Aquantia AQR106",
 	.features	= PHY_10GBIT_FULL_FEATURES,
 	.aneg_done	= genphy_c45_aneg_done,
@@ -144,8 +140,7 @@ static struct phy_driver aqr_driver[] = {
 	.read_status	= aqr_read_status,
 },
 {
-	.phy_id		= PHY_ID_AQR107,
-	.phy_id_mask	= 0xfffffff0,
+	PHY_ID_MATCH_MODEL(PHY_ID_AQR107),
 	.name		= "Aquantia AQR107",
 	.features	= PHY_10GBIT_FULL_FEATURES,
 	.aneg_done	= genphy_c45_aneg_done,
@@ -155,8 +150,7 @@ static struct phy_driver aqr_driver[] = {
 	.read_status	= aqr_read_status,
 },
 {
-	.phy_id		= PHY_ID_AQR405,
-	.phy_id_mask	= 0xfffffff0,
+	PHY_ID_MATCH_MODEL(PHY_ID_AQR405),
 	.name		= "Aquantia AQR405",
 	.features	= PHY_10GBIT_FULL_FEATURES,
 	.aneg_done	= genphy_c45_aneg_done,
@@ -170,12 +164,12 @@ static struct phy_driver aqr_driver[] = {
 module_phy_driver(aqr_driver);
 
 static struct mdio_device_id __maybe_unused aqr_tbl[] = {
-	{ PHY_ID_AQ1202, 0xfffffff0 },
-	{ PHY_ID_AQ2104, 0xfffffff0 },
-	{ PHY_ID_AQR105, 0xfffffff0 },
-	{ PHY_ID_AQR106, 0xfffffff0 },
-	{ PHY_ID_AQR107, 0xfffffff0 },
-	{ PHY_ID_AQR405, 0xfffffff0 },
+	{ PHY_ID_MATCH_MODEL(PHY_ID_AQ1202) },
+	{ PHY_ID_MATCH_MODEL(PHY_ID_AQ2104) },
+	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR105) },
+	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR106) },
+	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR107) },
+	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR405) },
 	{ }
 };
 
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 4/4 net-next] net: phy: aquantia: replace magic numbers with constants
  2019-02-03 19:32 [PATCH 0/4 net-next] net: phy: aquantia: number of improvements Heiner Kallweit
                   ` (2 preceding siblings ...)
  2019-02-03 19:34 ` [PATCH 3/4 net-next] net: phy: aquantia: use macro PHY_ID_MATCH_MODEL Heiner Kallweit
@ 2019-02-03 19:35 ` Heiner Kallweit
  2019-02-03 19:56   ` Andrew Lunn
  3 siblings, 1 reply; 11+ messages in thread
From: Heiner Kallweit @ 2019-02-03 19:35 UTC (permalink / raw)
  To: Andrew Lunn, Florian Fainelli, David Miller; +Cc: netdev@vger.kernel.org

Replace magic numbers with proper constants. The original patch is
from Andrew, I extended / adjusted certain parts:
- Use decimal bit numbers. The datasheet uses hex bit numbers 0 .. F.
- Order defines from highest to lowest bit numbers
- correct some typos
- add constant MDIO_AN_TX_VEND_INT_MASK2_LINK
- Remove few functional improvements from the patch, they will come as
  a separate patch.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
 drivers/net/phy/aquantia.c | 80 +++++++++++++++++++++++++++++++-------
 1 file changed, 66 insertions(+), 14 deletions(-)

diff --git a/drivers/net/phy/aquantia.c b/drivers/net/phy/aquantia.c
index 12874cce4..2bd452542 100644
--- a/drivers/net/phy/aquantia.c
+++ b/drivers/net/phy/aquantia.c
@@ -18,6 +18,48 @@
 #define PHY_ID_AQR107	0x03a1b4e0
 #define PHY_ID_AQR405	0x03a1b4b0
 
+#define MDIO_AN_TX_VEND_STATUS1			0xc800
+#define MDIO_AN_TX_VEND_STATUS1_10BASET		(0x0 << 1)
+#define MDIO_AN_TX_VEND_STATUS1_100BASETX	(0x1 << 1)
+#define MDIO_AN_TX_VEND_STATUS1_1000BASET	(0x2 << 1)
+#define MDIO_AN_TX_VEND_STATUS1_10GBASET	(0x3 << 1)
+#define MDIO_AN_TX_VEND_STATUS1_2500BASET	(0x4 << 1)
+#define MDIO_AN_TX_VEND_STATUS1_5000BASET	(0x5 << 1)
+#define MDIO_AN_TX_VEND_STATUS1_RATE_MASK	(0x7 << 1)
+#define MDIO_AN_TX_VEND_STATUS1_FULL_DUPLEX	BIT(0)
+
+#define MDIO_AN_TX_VEND_INT_STATUS2		0xcc01
+
+#define MDIO_AN_TX_VEND_INT_MASK2		0xd401
+#define MDIO_AN_TX_VEND_INT_MASK2_LINK		BIT(0)
+
+/* Vendor specific 1, MDIO_MMD_VEND1 */
+#define VEND1_GLOBAL_INT_STD_STATUS		0xfc00
+#define VEND1_GLOBAL_INT_VEND_STATUS		0xfc01
+
+#define VEND1_GLOBAL_INT_STD_MASK		0xff00
+#define VEND1_GLOBAL_INT_STD_MASK_PMA1		BIT(15)
+#define VEND1_GLOBAL_INT_STD_MASK_PMA2		BIT(14)
+#define VEND1_GLOBAL_INT_STD_MASK_PCS1		BIT(13)
+#define VEND1_GLOBAL_INT_STD_MASK_PCS2		BIT(12)
+#define VEND1_GLOBAL_INT_STD_MASK_PCS3		BIT(11)
+#define VEND1_GLOBAL_INT_STD_MASK_PHY_XS1	BIT(10)
+#define VEND1_GLOBAL_INT_STD_MASK_PHY_XS2	BIT(9)
+#define VEND1_GLOBAL_INT_STD_MASK_AN1		BIT(8)
+#define VEND1_GLOBAL_INT_STD_MASK_AN2		BIT(7)
+#define VEND1_GLOBAL_INT_STD_MASK_GBE		BIT(6)
+#define VEND1_GLOBAL_INT_STD_MASK_ALL		BIT(0)
+
+#define VEND1_GLOBAL_INT_VEND_MASK		0xff01
+#define VEND1_GLOBAL_INT_VEND_MASK_PMA		BIT(15)
+#define VEND1_GLOBAL_INT_VEND_MASK_PCS		BIT(14)
+#define VEND1_GLOBAL_INT_VEND_MASK_PHY_XS	BIT(13)
+#define VEND1_GLOBAL_INT_VEND_MASK_AN		BIT(12)
+#define VEND1_GLOBAL_INT_VEND_MASK_GBE		BIT(11)
+#define VEND1_GLOBAL_INT_VEND_MASK_GLOBAL1	BIT(2)
+#define VEND1_GLOBAL_INT_VEND_MASK_GLOBAL2	BIT(1)
+#define VEND1_GLOBAL_INT_VEND_MASK_GLOBAL3	BIT(0)
+
 static int aqr_config_aneg(struct phy_device *phydev)
 {
 	linkmode_copy(phydev->supported, phy_10gbit_features);
@@ -31,25 +73,35 @@ static int aqr_config_intr(struct phy_device *phydev)
 	int err;
 
 	if (phydev->interrupts == PHY_INTERRUPT_ENABLED) {
-		err = phy_write_mmd(phydev, MDIO_MMD_AN, 0xd401, 1);
+		err = phy_write_mmd(phydev, MDIO_MMD_AN,
+				    MDIO_AN_TX_VEND_INT_MASK2,
+				    MDIO_AN_TX_VEND_INT_MASK2_LINK);
 		if (err < 0)
 			return err;
 
-		err = phy_write_mmd(phydev, MDIO_MMD_VEND1, 0xff00, 1);
+		err = phy_write_mmd(phydev, MDIO_MMD_VEND1,
+				    VEND1_GLOBAL_INT_STD_MASK,
+				    VEND1_GLOBAL_INT_STD_MASK_ALL);
 		if (err < 0)
 			return err;
 
-		err = phy_write_mmd(phydev, MDIO_MMD_VEND1, 0xff01, 0x1001);
+		err = phy_write_mmd(phydev, MDIO_MMD_VEND1,
+				    VEND1_GLOBAL_INT_VEND_MASK,
+				    VEND1_GLOBAL_INT_VEND_MASK_GLOBAL3 |
+				    VEND1_GLOBAL_INT_VEND_MASK_AN);
 	} else {
-		err = phy_write_mmd(phydev, MDIO_MMD_AN, 0xd401, 0);
+		err = phy_write_mmd(phydev, MDIO_MMD_AN,
+				    MDIO_AN_TX_VEND_INT_MASK2, 0);
 		if (err < 0)
 			return err;
 
-		err = phy_write_mmd(phydev, MDIO_MMD_VEND1, 0xff00, 0);
+		err = phy_write_mmd(phydev, MDIO_MMD_VEND1,
+				    VEND1_GLOBAL_INT_STD_MASK, 0);
 		if (err < 0)
 			return err;
 
-		err = phy_write_mmd(phydev, MDIO_MMD_VEND1, 0xff01, 0);
+		err = phy_write_mmd(phydev, MDIO_MMD_VEND1,
+				    VEND1_GLOBAL_INT_VEND_MASK, 0);
 	}
 
 	return err;
@@ -59,7 +111,8 @@ static int aqr_ack_interrupt(struct phy_device *phydev)
 {
 	int reg;
 
-	reg = phy_read_mmd(phydev, MDIO_MMD_AN, 0xcc01);
+	reg = phy_read_mmd(phydev, MDIO_MMD_AN,
+			   MDIO_AN_TX_VEND_INT_STATUS2);
 	return (reg < 0) ? reg : 0;
 }
 
@@ -74,21 +127,20 @@ static int aqr_read_status(struct phy_device *phydev)
 	else
 		phydev->link = 0;
 
-	reg = phy_read_mmd(phydev, MDIO_MMD_AN, 0xc800);
+	reg = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_TX_VEND_STATUS1);
 	mdelay(10);
-	reg = phy_read_mmd(phydev, MDIO_MMD_AN, 0xc800);
+	reg = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_TX_VEND_STATUS1);
 
-	switch (reg) {
-	case 0x9:
+	switch (reg & MDIO_AN_TX_VEND_STATUS1_RATE_MASK) {
+	case MDIO_AN_TX_VEND_STATUS1_2500BASET:
 		phydev->speed = SPEED_2500;
 		break;
-	case 0x5:
+	case MDIO_AN_TX_VEND_STATUS1_1000BASET:
 		phydev->speed = SPEED_1000;
 		break;
-	case 0x3:
+	case MDIO_AN_TX_VEND_STATUS1_100BASETX:
 		phydev->speed = SPEED_100;
 		break;
-	case 0x7:
 	default:
 		phydev->speed = SPEED_10000;
 		break;
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/4 net-next] net: phy: aquantia: shorten name space prefix to aqr_
  2019-02-03 19:33 ` [PATCH 1/4 net-next] net: phy: aquantia: shorten name space prefix to aqr_ Heiner Kallweit
@ 2019-02-03 19:38   ` Andrew Lunn
  2019-02-03 19:42     ` Heiner Kallweit
  0 siblings, 1 reply; 11+ messages in thread
From: Andrew Lunn @ 2019-02-03 19:38 UTC (permalink / raw)
  To: Heiner Kallweit; +Cc: Florian Fainelli, David Miller, netdev@vger.kernel.org

On Sun, Feb 03, 2019 at 08:33:13PM +0100, Heiner Kallweit wrote:
> From: Andrew Lunn <andrew@lunn.ch>
> aquantia_ as a name space prefix is rather long, resulting in lots of
> lines needing wrapping, reducing readability. Use the prefix aqr_
> instead, which fits with the vendor naming there devices aqr107, for
> example.
> 
> Signed-off-by: Andrew Lunn <andrew@lunn.ch>

Hi Heiner

You need to add your signed-off-by here. Anybody who handles the patch
on its way into the kernel needs to add a SOB.

   Andrew

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/4 net-next] net: phy: aquantia: shorten name space prefix to aqr_
  2019-02-03 19:38   ` Andrew Lunn
@ 2019-02-03 19:42     ` Heiner Kallweit
  0 siblings, 0 replies; 11+ messages in thread
From: Heiner Kallweit @ 2019-02-03 19:42 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: Florian Fainelli, David Miller, netdev@vger.kernel.org

On 03.02.2019 20:38, Andrew Lunn wrote:
> On Sun, Feb 03, 2019 at 08:33:13PM +0100, Heiner Kallweit wrote:
>> From: Andrew Lunn <andrew@lunn.ch>
>> aquantia_ as a name space prefix is rather long, resulting in lots of
>> lines needing wrapping, reducing readability. Use the prefix aqr_
>> instead, which fits with the vendor naming there devices aqr107, for
>> example.
>>
>> Signed-off-by: Andrew Lunn <andrew@lunn.ch>
> 
> Hi Heiner
> 
> You need to add your signed-off-by here. Anybody who handles the patch
> on its way into the kernel needs to add a SOB.
> 
>    Andrew
> 
Each day you learn something new .. I was under the impression that I have
to do this in case of changes only. And this patch I forwarded as is.
Let me know whether you have other review comments. Then I bundle the
changes in a v2.

Heiner

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/4 net-next] net: phy: aquantia: remove unneeded includes
  2019-02-03 19:33 ` [PATCH 2/4 net-next] net: phy: aquantia: remove unneeded includes Heiner Kallweit
@ 2019-02-03 19:54   ` Andrew Lunn
  2019-02-03 20:08     ` Heiner Kallweit
  0 siblings, 1 reply; 11+ messages in thread
From: Andrew Lunn @ 2019-02-03 19:54 UTC (permalink / raw)
  To: Heiner Kallweit; +Cc: Florian Fainelli, David Miller, netdev@vger.kernel.org

On Sun, Feb 03, 2019 at 08:33:54PM +0100, Heiner Kallweit wrote:
> Remove unneeded header includes.
> 
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>


> ---
>  drivers/net/phy/aquantia.c | 4 ----
>  1 file changed, 4 deletions(-)
> 
> diff --git a/drivers/net/phy/aquantia.c b/drivers/net/phy/aquantia.c
> index 880ec4bba..8a51589a3 100644
> --- a/drivers/net/phy/aquantia.c
> +++ b/drivers/net/phy/aquantia.c
> @@ -7,13 +7,9 @@
>   * Copyright 2015 Freescale Semiconductor, Inc.
>   */
>  
> -#include <linux/kernel.h>

We probably need this one. e.g. __maybe_unused comes from
linux/compiler.h which you traditionally get via linux/kernel.h.

	 Andrew

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 3/4 net-next] net: phy: aquantia: use macro PHY_ID_MATCH_MODEL
  2019-02-03 19:34 ` [PATCH 3/4 net-next] net: phy: aquantia: use macro PHY_ID_MATCH_MODEL Heiner Kallweit
@ 2019-02-03 19:54   ` Andrew Lunn
  0 siblings, 0 replies; 11+ messages in thread
From: Andrew Lunn @ 2019-02-03 19:54 UTC (permalink / raw)
  To: Heiner Kallweit; +Cc: Florian Fainelli, David Miller, netdev@vger.kernel.org

On Sun, Feb 03, 2019 at 08:34:37PM +0100, Heiner Kallweit wrote:
> Make use of macro PHY_ID_MATCH_MODEL to simplify the code.
> 
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 4/4 net-next] net: phy: aquantia: replace magic numbers with constants
  2019-02-03 19:35 ` [PATCH 4/4 net-next] net: phy: aquantia: replace magic numbers with constants Heiner Kallweit
@ 2019-02-03 19:56   ` Andrew Lunn
  0 siblings, 0 replies; 11+ messages in thread
From: Andrew Lunn @ 2019-02-03 19:56 UTC (permalink / raw)
  To: Heiner Kallweit; +Cc: Florian Fainelli, David Miller, netdev@vger.kernel.org

On Sun, Feb 03, 2019 at 08:35:54PM +0100, Heiner Kallweit wrote:
> Replace magic numbers with proper constants. The original patch is
> from Andrew, I extended / adjusted certain parts:
> - Use decimal bit numbers. The datasheet uses hex bit numbers 0 .. F.
> - Order defines from highest to lowest bit numbers
> - correct some typos
> - add constant MDIO_AN_TX_VEND_INT_MASK2_LINK
> - Remove few functional improvements from the patch, they will come as
>   a separate patch.
> 
> Signed-off-by: Andrew Lunn <andrew@lunn.ch>
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/4 net-next] net: phy: aquantia: remove unneeded includes
  2019-02-03 19:54   ` Andrew Lunn
@ 2019-02-03 20:08     ` Heiner Kallweit
  0 siblings, 0 replies; 11+ messages in thread
From: Heiner Kallweit @ 2019-02-03 20:08 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: Florian Fainelli, David Miller, netdev@vger.kernel.org

On 03.02.2019 20:54, Andrew Lunn wrote:
> On Sun, Feb 03, 2019 at 08:33:54PM +0100, Heiner Kallweit wrote:
>> Remove unneeded header includes.
>>
>> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
> 
> 
>> ---
>>  drivers/net/phy/aquantia.c | 4 ----
>>  1 file changed, 4 deletions(-)
>>
>> diff --git a/drivers/net/phy/aquantia.c b/drivers/net/phy/aquantia.c
>> index 880ec4bba..8a51589a3 100644
>> --- a/drivers/net/phy/aquantia.c
>> +++ b/drivers/net/phy/aquantia.c
>> @@ -7,13 +7,9 @@
>>   * Copyright 2015 Freescale Semiconductor, Inc.
>>   */
>>  
>> -#include <linux/kernel.h>
> 
> We probably need this one. e.g. __maybe_unused comes from
> linux/compiler.h which you traditionally get via linux/kernel.h.
> 
Strange, for whatever reason I thought that kernel.h is automatically
included for each kernel source file.

> 	 Andrew
> 
Heiner

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2019-02-03 20:08 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-03 19:32 [PATCH 0/4 net-next] net: phy: aquantia: number of improvements Heiner Kallweit
2019-02-03 19:33 ` [PATCH 1/4 net-next] net: phy: aquantia: shorten name space prefix to aqr_ Heiner Kallweit
2019-02-03 19:38   ` Andrew Lunn
2019-02-03 19:42     ` Heiner Kallweit
2019-02-03 19:33 ` [PATCH 2/4 net-next] net: phy: aquantia: remove unneeded includes Heiner Kallweit
2019-02-03 19:54   ` Andrew Lunn
2019-02-03 20:08     ` Heiner Kallweit
2019-02-03 19:34 ` [PATCH 3/4 net-next] net: phy: aquantia: use macro PHY_ID_MATCH_MODEL Heiner Kallweit
2019-02-03 19:54   ` Andrew Lunn
2019-02-03 19:35 ` [PATCH 4/4 net-next] net: phy: aquantia: replace magic numbers with constants Heiner Kallweit
2019-02-03 19:56   ` Andrew Lunn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).