[net-next PATCH v2 0/3] Improve support for qca8327 internal

STALE1782d

8 messages, 3 authors, 2021-09-20 · open the first message on its own page

[net-next PATCH v2 0/3] Improve support for qca8327 internal

From: Ansuel Smith <ansuelsmth@gmail.com>
Date: 2021-09-19 17:00:31

With more test with the qca8327 switch, it was discovered that the
internal phy can have 2 different phy id based on the switch serial
code. This patch address this and report the 2 different variant.
Also adds support for resume/suspend as it was requested in another
patch and improve the spacing and naming following how other phy are
defined in the same driver.

v2:
- Adds cover letter
- use genphy_suspend/resume generic function

Ansuel Smith (3):
  net: phy: at803x: add support for qca 8327 A variant internal phy
  net: phy: at803x: add resume/suspend function to qca83xx phy
  net: phy: at803x: fix spacing and improve name for 83xx phy

 drivers/net/phy/at803x.c | 67 ++++++++++++++++++++++++++--------------
 1 file changed, 44 insertions(+), 23 deletions(-)

-- 
2.32.0

[net-next PATCH v2 1/3] net: phy: at803x: add support for qca 8327 A variant internal phy

From: Ansuel Smith <ansuelsmth@gmail.com>
Date: 2021-09-19 17:00:34

For qca8327 internal phy there are 2 different switch variant with 2
different phy id. Add this missing variant so the internal phy can be
correctly identified and fixed.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
---
 drivers/net/phy/at803x.c | 25 ++++++++++++++++++++-----
 1 file changed, 20 insertions(+), 5 deletions(-)
diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
index 719860a93d7c..618e014abd2f 100644
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
@@ -150,7 +150,8 @@
 #define ATH8035_PHY_ID				0x004dd072
 #define AT8030_PHY_ID_MASK			0xffffffef
 
-#define QCA8327_PHY_ID				0x004dd034
+#define QCA8327_A_PHY_ID			0x004dd033
+#define QCA8327_B_PHY_ID			0x004dd034
 #define QCA8337_PHY_ID				0x004dd036
 #define QCA8K_PHY_ID_MASK			0xffffffff
 
@@ -1421,10 +1422,23 @@ static struct phy_driver at803x_driver[] = {
 	.get_strings = at803x_get_strings,
 	.get_stats = at803x_get_stats,
 }, {
-	/* QCA8327 */
-	.phy_id = QCA8327_PHY_ID,
+	/* QCA8327-A from switch QCA8327-AL1A */
+	.phy_id = QCA8327_A_PHY_ID,
 	.phy_id_mask = QCA8K_PHY_ID_MASK,
-	.name = "QCA PHY 8327",
+	.name = "QCA PHY 8327-A",
+	/* PHY_GBIT_FEATURES */
+	.probe = at803x_probe,
+	.flags = PHY_IS_INTERNAL,
+	.config_init = qca83xx_config_init,
+	.soft_reset = genphy_soft_reset,
+	.get_sset_count = at803x_get_sset_count,
+	.get_strings = at803x_get_strings,
+	.get_stats = at803x_get_stats,
+}, {
+	/* QCA8327-B from switch QCA8327-BL1A */
+	.phy_id = QCA8327_B_PHY_ID,
+	.phy_id_mask = QCA8K_PHY_ID_MASK,
+	.name = "QCA PHY 8327-B",
 	/* PHY_GBIT_FEATURES */
 	.probe = at803x_probe,
 	.flags = PHY_IS_INTERNAL,
@@ -1444,7 +1458,8 @@ static struct mdio_device_id __maybe_unused atheros_tbl[] = {
 	{ PHY_ID_MATCH_EXACT(ATH8035_PHY_ID) },
 	{ PHY_ID_MATCH_EXACT(ATH9331_PHY_ID) },
 	{ PHY_ID_MATCH_EXACT(QCA8337_PHY_ID) },
-	{ PHY_ID_MATCH_EXACT(QCA8327_PHY_ID) },
+	{ PHY_ID_MATCH_EXACT(QCA8327_A_PHY_ID) },
+	{ PHY_ID_MATCH_EXACT(QCA8327_B_PHY_ID) },
 	{ }
 };
 
-- 
2.32.0

[net-next PATCH v2 2/3] net: phy: at803x: add resume/suspend function to qca83xx phy

From: Ansuel Smith <ansuelsmth@gmail.com>
Date: 2021-09-19 17:00:36

Add resume/suspend function to qca83xx internal phy.
We can't use the at803x generic function as the documentation lacks of
any support for WoL regs.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
---
 drivers/net/phy/at803x.c | 6 ++++++
 1 file changed, 6 insertions(+)
diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
index 618e014abd2f..db432d228d07 100644
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
@@ -1421,6 +1421,8 @@ static struct phy_driver at803x_driver[] = {
 	.get_sset_count = at803x_get_sset_count,
 	.get_strings = at803x_get_strings,
 	.get_stats = at803x_get_stats,
+	.suspend		= genphy_suspend,
+	.resume			= genphy_resume,
 }, {
 	/* QCA8327-A from switch QCA8327-AL1A */
 	.phy_id = QCA8327_A_PHY_ID,
@@ -1434,6 +1436,8 @@ static struct phy_driver at803x_driver[] = {
 	.get_sset_count = at803x_get_sset_count,
 	.get_strings = at803x_get_strings,
 	.get_stats = at803x_get_stats,
+	.suspend		= genphy_suspend,
+	.resume			= genphy_resume,
 }, {
 	/* QCA8327-B from switch QCA8327-BL1A */
 	.phy_id = QCA8327_B_PHY_ID,
@@ -1447,6 +1451,8 @@ static struct phy_driver at803x_driver[] = {
 	.get_sset_count = at803x_get_sset_count,
 	.get_strings = at803x_get_strings,
 	.get_stats = at803x_get_stats,
+	.suspend		= genphy_suspend,
+	.resume			= genphy_resume,
 }, };
 
 module_phy_driver(at803x_driver);
-- 
2.32.0

[net-next PATCH v2 3/3] net: phy: at803x: fix spacing and improve name for 83xx phy

From: Ansuel Smith <ansuelsmth@gmail.com>
Date: 2021-09-19 17:00:40

Fix spacing and improve name for 83xx phy following other phy in the
same driver.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
---
 drivers/net/phy/at803x.c | 60 ++++++++++++++++++++--------------------
 1 file changed, 30 insertions(+), 30 deletions(-)
diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
index db432d228d07..3feee4d59030 100644
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
@@ -1410,47 +1410,47 @@ static struct phy_driver at803x_driver[] = {
 	.config_aneg		= at803x_config_aneg,
 }, {
 	/* QCA8337 */
-	.phy_id = QCA8337_PHY_ID,
-	.phy_id_mask = QCA8K_PHY_ID_MASK,
-	.name = "QCA PHY 8337",
+	.phy_id			= QCA8337_PHY_ID,
+	.phy_id_mask		= QCA8K_PHY_ID_MASK,
+	.name			= "Qualcomm Atheros 8337 internal PHY",
 	/* PHY_GBIT_FEATURES */
-	.probe = at803x_probe,
-	.flags = PHY_IS_INTERNAL,
-	.config_init = qca83xx_config_init,
-	.soft_reset = genphy_soft_reset,
-	.get_sset_count = at803x_get_sset_count,
-	.get_strings = at803x_get_strings,
-	.get_stats = at803x_get_stats,
+	.probe			= at803x_probe,
+	.flags			= PHY_IS_INTERNAL,
+	.config_init		= qca83xx_config_init,
+	.soft_reset		= genphy_soft_reset,
+	.get_sset_count		= at803x_get_sset_count,
+	.get_strings		= at803x_get_strings,
+	.get_stats		= at803x_get_stats,
 	.suspend		= genphy_suspend,
 	.resume			= genphy_resume,
 }, {
 	/* QCA8327-A from switch QCA8327-AL1A */
-	.phy_id = QCA8327_A_PHY_ID,
-	.phy_id_mask = QCA8K_PHY_ID_MASK,
-	.name = "QCA PHY 8327-A",
+	.phy_id			= QCA8327_A_PHY_ID,
+	.phy_id_mask		= QCA8K_PHY_ID_MASK,
+	.name			= "Qualcomm Atheros 8327-A internal PHY",
 	/* PHY_GBIT_FEATURES */
-	.probe = at803x_probe,
-	.flags = PHY_IS_INTERNAL,
-	.config_init = qca83xx_config_init,
-	.soft_reset = genphy_soft_reset,
-	.get_sset_count = at803x_get_sset_count,
-	.get_strings = at803x_get_strings,
-	.get_stats = at803x_get_stats,
+	.probe			= at803x_probe,
+	.flags			= PHY_IS_INTERNAL,
+	.config_init		= qca83xx_config_init,
+	.soft_reset		= genphy_soft_reset,
+	.get_sset_count		= at803x_get_sset_count,
+	.get_strings		= at803x_get_strings,
+	.get_stats		= at803x_get_stats,
 	.suspend		= genphy_suspend,
 	.resume			= genphy_resume,
 }, {
 	/* QCA8327-B from switch QCA8327-BL1A */
-	.phy_id = QCA8327_B_PHY_ID,
-	.phy_id_mask = QCA8K_PHY_ID_MASK,
-	.name = "QCA PHY 8327-B",
+	.phy_id			= QCA8327_B_PHY_ID,
+	.phy_id_mask		= QCA8K_PHY_ID_MASK,
+	.name			= "Qualcomm Atheros 8327-B internal PHY",
 	/* PHY_GBIT_FEATURES */
-	.probe = at803x_probe,
-	.flags = PHY_IS_INTERNAL,
-	.config_init = qca83xx_config_init,
-	.soft_reset = genphy_soft_reset,
-	.get_sset_count = at803x_get_sset_count,
-	.get_strings = at803x_get_strings,
-	.get_stats = at803x_get_stats,
+	.probe			= at803x_probe,
+	.flags			= PHY_IS_INTERNAL,
+	.config_init		= qca83xx_config_init,
+	.soft_reset		= genphy_soft_reset,
+	.get_sset_count		= at803x_get_sset_count,
+	.get_strings		= at803x_get_strings,
+	.get_stats		= at803x_get_stats,
 	.suspend		= genphy_suspend,
 	.resume			= genphy_resume,
 }, };
-- 
2.32.0

Re: [net-next PATCH v2 1/3] net: phy: at803x: add support for qca 8327 A variant internal phy

From: Andrew Lunn <andrew@lunn.ch>
Date: 2021-09-19 17:08:17

On Sun, Sep 19, 2021 at 06:28:15PM +0200, Ansuel Smith wrote:
For qca8327 internal phy there are 2 different switch variant with 2
different phy id. Add this missing variant so the internal phy can be
correctly identified and fixed.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew

Re: [net-next PATCH v2 2/3] net: phy: at803x: add resume/suspend function to qca83xx phy

From: Andrew Lunn <andrew@lunn.ch>
Date: 2021-09-19 17:08:33

On Sun, Sep 19, 2021 at 06:28:16PM +0200, Ansuel Smith wrote:
Add resume/suspend function to qca83xx internal phy.
We can't use the at803x generic function as the documentation lacks of
any support for WoL regs.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew

Re: [net-next PATCH v2 3/3] net: phy: at803x: fix spacing and improve name for 83xx phy

From: Andrew Lunn <andrew@lunn.ch>
Date: 2021-09-19 17:09:05

On Sun, Sep 19, 2021 at 06:28:17PM +0200, Ansuel Smith wrote:
Fix spacing and improve name for 83xx phy following other phy in the
same driver.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew

Re: [net-next PATCH v2 0/3] Improve support for qca8327 internal

From: patchwork-bot+netdevbpf@kernel.org
Date: 2021-09-20 09:00:23

Hello:

This series was applied to netdev/net-next.git (refs/heads/master):

On Sun, 19 Sep 2021 18:28:14 +0200 you wrote:
With more test with the qca8327 switch, it was discovered that the
internal phy can have 2 different phy id based on the switch serial
code. This patch address this and report the 2 different variant.
Also adds support for resume/suspend as it was requested in another
patch and improve the spacing and naming following how other phy are
defined in the same driver.

[...]
Here is the summary with links:
  - [net-next,v2,1/3] net: phy: at803x: add support for qca 8327 A variant internal phy
    https://git.kernel.org/netdev/net-next/c/b4df02b562f4
  - [net-next,v2,2/3] net: phy: at803x: add resume/suspend function to qca83xx phy
    https://git.kernel.org/netdev/net-next/c/15b9df4ece17
  - [net-next,v2,3/3] net: phy: at803x: fix spacing and improve name for 83xx phy
    https://git.kernel.org/netdev/net-next/c/d44fd8604a4a

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help