* [PATCH net 0/4] Updating and correcting switch hardware versions and reported speeds
@ 2024-11-14 11:14 Justin Lai
2024-11-14 11:14 ` [PATCH net 1/4] rtase: Refactor the rtase_check_mac_version_valid() function Justin Lai
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Justin Lai @ 2024-11-14 11:14 UTC (permalink / raw)
To: kuba
Cc: davem, edumazet, pabeni, andrew+netdev, linux-kernel, netdev,
horms, pkshih, larry.chiu, Justin Lai
This patch set mainly involves updating and correcting switch hardware
versions and reported speeds.
Details are as follows:
1. Refactor the rtase_check_mac_version_valid() function.
2. Correct the speed for RTL907XD-V1
3. Add support for RTL907XD-VA PCIe port
4. Corrects error handling of the rtase_check_mac_version_valid()
Justin Lai (4):
rtase: Refactor the rtase_check_mac_version_valid() function
rtase: Correct the speed for RTL907XD-V1
rtase: Add support for RTL907XD-VA PCIe port
rtase: Corrects error handling of the rtase_check_mac_version_valid()
drivers/net/ethernet/realtek/rtase/rtase.h | 2 +
.../net/ethernet/realtek/rtase/rtase_main.c | 38 ++++++++++++++-----
2 files changed, 30 insertions(+), 10 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH net 1/4] rtase: Refactor the rtase_check_mac_version_valid() function
2024-11-14 11:14 [PATCH net 0/4] Updating and correcting switch hardware versions and reported speeds Justin Lai
@ 2024-11-14 11:14 ` Justin Lai
2024-11-14 15:38 ` Andrew Lunn
2024-11-14 15:40 ` Andrew Lunn
2024-11-14 11:14 ` [PATCH net 2/4] rtase: Correct the speed for RTL907XD-V1 Justin Lai
` (2 subsequent siblings)
3 siblings, 2 replies; 9+ messages in thread
From: Justin Lai @ 2024-11-14 11:14 UTC (permalink / raw)
To: kuba
Cc: davem, edumazet, pabeni, andrew+netdev, linux-kernel, netdev,
horms, pkshih, larry.chiu, Justin Lai
1. Sets tp->hw_ver.
2. Changes the return type from bool to int.
Signed-off-by: Justin Lai <justinlai0215@realtek.com>
---
drivers/net/ethernet/realtek/rtase/rtase.h | 2 ++
.../net/ethernet/realtek/rtase/rtase_main.c | 21 +++++++++++--------
2 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/drivers/net/ethernet/realtek/rtase/rtase.h b/drivers/net/ethernet/realtek/rtase/rtase.h
index 583c33930f88..547c71937b01 100644
--- a/drivers/net/ethernet/realtek/rtase/rtase.h
+++ b/drivers/net/ethernet/realtek/rtase/rtase.h
@@ -327,6 +327,8 @@ struct rtase_private {
u16 int_nums;
u16 tx_int_mit;
u16 rx_int_mit;
+
+ u32 hw_ver;
};
#define RTASE_LSO_64K 64000
diff --git a/drivers/net/ethernet/realtek/rtase/rtase_main.c b/drivers/net/ethernet/realtek/rtase/rtase_main.c
index f8777b7663d3..33808afd588d 100644
--- a/drivers/net/ethernet/realtek/rtase/rtase_main.c
+++ b/drivers/net/ethernet/realtek/rtase/rtase_main.c
@@ -1972,20 +1972,21 @@ static void rtase_init_software_variable(struct pci_dev *pdev,
tp->dev->max_mtu = RTASE_MAX_JUMBO_SIZE;
}
-static bool rtase_check_mac_version_valid(struct rtase_private *tp)
+static int rtase_check_mac_version_valid(struct rtase_private *tp)
{
- u32 hw_ver = rtase_r32(tp, RTASE_TX_CONFIG_0) & RTASE_HW_VER_MASK;
- bool known_ver = false;
+ int ret = -ENODEV;
- switch (hw_ver) {
+ tp->hw_ver = rtase_r32(tp, RTASE_TX_CONFIG_0) & RTASE_HW_VER_MASK;
+
+ switch (tp->hw_ver) {
case 0x00800000:
case 0x04000000:
case 0x04800000:
- known_ver = true;
+ ret = 0;
break;
}
- return known_ver;
+ return ret;
}
static int rtase_init_board(struct pci_dev *pdev, struct net_device **dev_out,
@@ -2105,9 +2106,11 @@ static int rtase_init_one(struct pci_dev *pdev,
tp->pdev = pdev;
/* identify chip attached to board */
- if (!rtase_check_mac_version_valid(tp))
- return dev_err_probe(&pdev->dev, -ENODEV,
- "unknown chip version, contact rtase maintainers (see MAINTAINERS file)\n");
+ ret = rtase_check_mac_version_valid(tp);
+ if (ret != 0) {
+ dev_err(&pdev->dev,
+ "unknown chip version, contact rtase maintainers (see MAINTAINERS file)\n");
+ }
rtase_init_software_variable(pdev, tp);
rtase_init_hardware(tp);
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH net 2/4] rtase: Correct the speed for RTL907XD-V1
2024-11-14 11:14 [PATCH net 0/4] Updating and correcting switch hardware versions and reported speeds Justin Lai
2024-11-14 11:14 ` [PATCH net 1/4] rtase: Refactor the rtase_check_mac_version_valid() function Justin Lai
@ 2024-11-14 11:14 ` Justin Lai
2024-11-14 11:14 ` [PATCH net 3/4] rtase: Add support for RTL907XD-VA PCIe port Justin Lai
2024-11-14 11:14 ` [PATCH net 4/4] rtase: Corrects error handling of the rtase_check_mac_version_valid() Justin Lai
3 siblings, 0 replies; 9+ messages in thread
From: Justin Lai @ 2024-11-14 11:14 UTC (permalink / raw)
To: kuba
Cc: davem, edumazet, pabeni, andrew+netdev, linux-kernel, netdev,
horms, pkshih, larry.chiu, Justin Lai
Correct the speed for RTL907XD-V1.
Signed-off-by: Justin Lai <justinlai0215@realtek.com>
---
drivers/net/ethernet/realtek/rtase/rtase_main.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/realtek/rtase/rtase_main.c b/drivers/net/ethernet/realtek/rtase/rtase_main.c
index 33808afd588d..10697e4055b6 100644
--- a/drivers/net/ethernet/realtek/rtase/rtase_main.c
+++ b/drivers/net/ethernet/realtek/rtase/rtase_main.c
@@ -1714,10 +1714,21 @@ static int rtase_get_settings(struct net_device *dev,
struct ethtool_link_ksettings *cmd)
{
u32 supported = SUPPORTED_MII | SUPPORTED_Pause | SUPPORTED_Asym_Pause;
+ const struct rtase_private *tp = netdev_priv(dev);
ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.supported,
supported);
- cmd->base.speed = SPEED_5000;
+
+ switch (tp->hw_ver) {
+ case 0x00800000:
+ case 0x04000000:
+ cmd->base.speed = SPEED_5000;
+ break;
+ case 0x04800000:
+ cmd->base.speed = SPEED_10000;
+ break;
+ }
+
cmd->base.duplex = DUPLEX_FULL;
cmd->base.port = PORT_MII;
cmd->base.autoneg = AUTONEG_DISABLE;
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH net 3/4] rtase: Add support for RTL907XD-VA PCIe port
2024-11-14 11:14 [PATCH net 0/4] Updating and correcting switch hardware versions and reported speeds Justin Lai
2024-11-14 11:14 ` [PATCH net 1/4] rtase: Refactor the rtase_check_mac_version_valid() function Justin Lai
2024-11-14 11:14 ` [PATCH net 2/4] rtase: Correct the speed for RTL907XD-V1 Justin Lai
@ 2024-11-14 11:14 ` Justin Lai
2024-11-14 11:14 ` [PATCH net 4/4] rtase: Corrects error handling of the rtase_check_mac_version_valid() Justin Lai
3 siblings, 0 replies; 9+ messages in thread
From: Justin Lai @ 2024-11-14 11:14 UTC (permalink / raw)
To: kuba
Cc: davem, edumazet, pabeni, andrew+netdev, linux-kernel, netdev,
horms, pkshih, larry.chiu, Justin Lai
1. Add RTL907XD-VA hardware version id.
2. Add the reported speed for RTL907XD-VA.
Signed-off-by: Justin Lai <justinlai0215@realtek.com>
---
drivers/net/ethernet/realtek/rtase/rtase_main.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/ethernet/realtek/rtase/rtase_main.c b/drivers/net/ethernet/realtek/rtase/rtase_main.c
index 10697e4055b6..958b1543c4af 100644
--- a/drivers/net/ethernet/realtek/rtase/rtase_main.c
+++ b/drivers/net/ethernet/realtek/rtase/rtase_main.c
@@ -1725,6 +1725,7 @@ static int rtase_get_settings(struct net_device *dev,
cmd->base.speed = SPEED_5000;
break;
case 0x04800000:
+ case 0x08000000:
cmd->base.speed = SPEED_10000;
break;
}
@@ -1993,6 +1994,7 @@ static int rtase_check_mac_version_valid(struct rtase_private *tp)
case 0x00800000:
case 0x04000000:
case 0x04800000:
+ case 0x08000000:
ret = 0;
break;
}
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH net 4/4] rtase: Corrects error handling of the rtase_check_mac_version_valid()
2024-11-14 11:14 [PATCH net 0/4] Updating and correcting switch hardware versions and reported speeds Justin Lai
` (2 preceding siblings ...)
2024-11-14 11:14 ` [PATCH net 3/4] rtase: Add support for RTL907XD-VA PCIe port Justin Lai
@ 2024-11-14 11:14 ` Justin Lai
3 siblings, 0 replies; 9+ messages in thread
From: Justin Lai @ 2024-11-14 11:14 UTC (permalink / raw)
To: kuba
Cc: davem, edumazet, pabeni, andrew+netdev, linux-kernel, netdev,
horms, pkshih, larry.chiu, Justin Lai
Corrects error handling of the rtase_check_mac_version_valid().
Signed-off-by: Justin Lai <justinlai0215@realtek.com>
---
drivers/net/ethernet/realtek/rtase/rtase_main.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/ethernet/realtek/rtase/rtase_main.c b/drivers/net/ethernet/realtek/rtase/rtase_main.c
index 958b1543c4af..f503de91c713 100644
--- a/drivers/net/ethernet/realtek/rtase/rtase_main.c
+++ b/drivers/net/ethernet/realtek/rtase/rtase_main.c
@@ -2123,6 +2123,7 @@ static int rtase_init_one(struct pci_dev *pdev,
if (ret != 0) {
dev_err(&pdev->dev,
"unknown chip version, contact rtase maintainers (see MAINTAINERS file)\n");
+ goto err_out_release_board;
}
rtase_init_software_variable(pdev, tp);
@@ -2197,6 +2198,7 @@ static int rtase_init_one(struct pci_dev *pdev,
netif_napi_del(&ivec->napi);
}
+err_out_release_board:
rtase_release_board(pdev, dev, ioaddr);
return ret;
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH net 1/4] rtase: Refactor the rtase_check_mac_version_valid() function
2024-11-14 11:14 ` [PATCH net 1/4] rtase: Refactor the rtase_check_mac_version_valid() function Justin Lai
@ 2024-11-14 15:38 ` Andrew Lunn
2024-11-15 5:57 ` Justin Lai
2024-11-14 15:40 ` Andrew Lunn
1 sibling, 1 reply; 9+ messages in thread
From: Andrew Lunn @ 2024-11-14 15:38 UTC (permalink / raw)
To: Justin Lai
Cc: kuba, davem, edumazet, pabeni, andrew+netdev, linux-kernel,
netdev, horms, pkshih, larry.chiu
On Thu, Nov 14, 2024 at 07:14:40PM +0800, Justin Lai wrote:
> 1. Sets tp->hw_ver.
> 2. Changes the return type from bool to int.
>
> Signed-off-by: Justin Lai <justinlai0215@realtek.com>
> ---
> drivers/net/ethernet/realtek/rtase/rtase.h | 2 ++
> .../net/ethernet/realtek/rtase/rtase_main.c | 21 +++++++++++--------
> 2 files changed, 14 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/net/ethernet/realtek/rtase/rtase.h b/drivers/net/ethernet/realtek/rtase/rtase.h
> index 583c33930f88..547c71937b01 100644
> --- a/drivers/net/ethernet/realtek/rtase/rtase.h
> +++ b/drivers/net/ethernet/realtek/rtase/rtase.h
> @@ -327,6 +327,8 @@ struct rtase_private {
> u16 int_nums;
> u16 tx_int_mit;
> u16 rx_int_mit;
> +
> + u32 hw_ver;
> };
>
> #define RTASE_LSO_64K 64000
> diff --git a/drivers/net/ethernet/realtek/rtase/rtase_main.c b/drivers/net/ethernet/realtek/rtase/rtase_main.c
> index f8777b7663d3..33808afd588d 100644
> --- a/drivers/net/ethernet/realtek/rtase/rtase_main.c
> +++ b/drivers/net/ethernet/realtek/rtase/rtase_main.c
> @@ -1972,20 +1972,21 @@ static void rtase_init_software_variable(struct pci_dev *pdev,
> tp->dev->max_mtu = RTASE_MAX_JUMBO_SIZE;
> }
>
> -static bool rtase_check_mac_version_valid(struct rtase_private *tp)
> +static int rtase_check_mac_version_valid(struct rtase_private *tp)
> {
> - u32 hw_ver = rtase_r32(tp, RTASE_TX_CONFIG_0) & RTASE_HW_VER_MASK;
> - bool known_ver = false;
> + int ret = -ENODEV;
>
> - switch (hw_ver) {
> + tp->hw_ver = rtase_r32(tp, RTASE_TX_CONFIG_0) & RTASE_HW_VER_MASK;
> +
> + switch (tp->hw_ver) {
> case 0x00800000:
> case 0x04000000:
> case 0x04800000:
Since these magic numbers are being used in more places, please add
some #define with sensible names.
> - if (!rtase_check_mac_version_valid(tp))
> - return dev_err_probe(&pdev->dev, -ENODEV,
> - "unknown chip version, contact rtase maintainers (see MAINTAINERS file)\n");
> + ret = rtase_check_mac_version_valid(tp);
> + if (ret != 0) {
> + dev_err(&pdev->dev,
> + "unknown chip version, contact rtase maintainers (see MAINTAINERS file)\n");
> + }
Since you are changing this, maybe include the hw_ver?
Andrew
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net 1/4] rtase: Refactor the rtase_check_mac_version_valid() function
2024-11-14 11:14 ` [PATCH net 1/4] rtase: Refactor the rtase_check_mac_version_valid() function Justin Lai
2024-11-14 15:38 ` Andrew Lunn
@ 2024-11-14 15:40 ` Andrew Lunn
2024-11-15 6:32 ` Justin Lai
1 sibling, 1 reply; 9+ messages in thread
From: Andrew Lunn @ 2024-11-14 15:40 UTC (permalink / raw)
To: Justin Lai
Cc: kuba, davem, edumazet, pabeni, andrew+netdev, linux-kernel,
netdev, horms, pkshih, larry.chiu
On Thu, Nov 14, 2024 at 07:14:40PM +0800, Justin Lai wrote:
> 1. Sets tp->hw_ver.
> 2. Changes the return type from bool to int.
>
> Signed-off-by: Justin Lai <justinlai0215@realtek.com>
If you want these in net, you should add a Fixes: tag.
Andrew
---
pw-bot: cr
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH net 1/4] rtase: Refactor the rtase_check_mac_version_valid() function
2024-11-14 15:38 ` Andrew Lunn
@ 2024-11-15 5:57 ` Justin Lai
0 siblings, 0 replies; 9+ messages in thread
From: Justin Lai @ 2024-11-15 5:57 UTC (permalink / raw)
To: Andrew Lunn
Cc: kuba@kernel.org, davem@davemloft.net, edumazet@google.com,
pabeni@redhat.com, andrew+netdev@lunn.ch,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
horms@kernel.org, Ping-Ke Shih, Larry Chiu
>
> On Thu, Nov 14, 2024 at 07:14:40PM +0800, Justin Lai wrote:
> > 1. Sets tp->hw_ver.
> > 2. Changes the return type from bool to int.
> >
> > Signed-off-by: Justin Lai <justinlai0215@realtek.com>
> > ---
> > drivers/net/ethernet/realtek/rtase/rtase.h | 2 ++
> > .../net/ethernet/realtek/rtase/rtase_main.c | 21 +++++++++++--------
> > 2 files changed, 14 insertions(+), 9 deletions(-)
> >
> > diff --git a/drivers/net/ethernet/realtek/rtase/rtase.h
> > b/drivers/net/ethernet/realtek/rtase/rtase.h
> > index 583c33930f88..547c71937b01 100644
> > --- a/drivers/net/ethernet/realtek/rtase/rtase.h
> > +++ b/drivers/net/ethernet/realtek/rtase/rtase.h
> > @@ -327,6 +327,8 @@ struct rtase_private {
> > u16 int_nums;
> > u16 tx_int_mit;
> > u16 rx_int_mit;
> > +
> > + u32 hw_ver;
> > };
> >
> > #define RTASE_LSO_64K 64000
> > diff --git a/drivers/net/ethernet/realtek/rtase/rtase_main.c
> > b/drivers/net/ethernet/realtek/rtase/rtase_main.c
> > index f8777b7663d3..33808afd588d 100644
> > --- a/drivers/net/ethernet/realtek/rtase/rtase_main.c
> > +++ b/drivers/net/ethernet/realtek/rtase/rtase_main.c
> > @@ -1972,20 +1972,21 @@ static void rtase_init_software_variable(struct
> pci_dev *pdev,
> > tp->dev->max_mtu = RTASE_MAX_JUMBO_SIZE; }
> >
> > -static bool rtase_check_mac_version_valid(struct rtase_private *tp)
> > +static int rtase_check_mac_version_valid(struct rtase_private *tp)
> > {
> > - u32 hw_ver = rtase_r32(tp, RTASE_TX_CONFIG_0) &
> RTASE_HW_VER_MASK;
> > - bool known_ver = false;
> > + int ret = -ENODEV;
> >
> > - switch (hw_ver) {
> > + tp->hw_ver = rtase_r32(tp, RTASE_TX_CONFIG_0) &
> > + RTASE_HW_VER_MASK;
> > +
> > + switch (tp->hw_ver) {
> > case 0x00800000:
> > case 0x04000000:
> > case 0x04800000:
>
> Since these magic numbers are being used in more places, please add some
> #define with sensible names.
Ok, I will define these hardware version ID names.
>
> > - if (!rtase_check_mac_version_valid(tp))
> > - return dev_err_probe(&pdev->dev, -ENODEV,
> > - "unknown chip version, contact
> rtase maintainers (see MAINTAINERS file)\n");
> > + ret = rtase_check_mac_version_valid(tp);
> > + if (ret != 0) {
> > + dev_err(&pdev->dev,
> > + "unknown chip version, contact rtase maintainers
> (see MAINTAINERS file)\n");
> > + }
>
> Since you are changing this, maybe include the hw_ver?
Thank you for your suggestion, I will add hw_ver to the error message.
>
> Andrew
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH net 1/4] rtase: Refactor the rtase_check_mac_version_valid() function
2024-11-14 15:40 ` Andrew Lunn
@ 2024-11-15 6:32 ` Justin Lai
0 siblings, 0 replies; 9+ messages in thread
From: Justin Lai @ 2024-11-15 6:32 UTC (permalink / raw)
To: Andrew Lunn
Cc: kuba@kernel.org, davem@davemloft.net, edumazet@google.com,
pabeni@redhat.com, andrew+netdev@lunn.ch,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
horms@kernel.org, Ping-Ke Shih, Larry Chiu
>
>
> On Thu, Nov 14, 2024 at 07:14:40PM +0800, Justin Lai wrote:
> > 1. Sets tp->hw_ver.
> > 2. Changes the return type from bool to int.
> >
> > Signed-off-by: Justin Lai <justinlai0215@realtek.com>
>
> If you want these in net, you should add a Fixes: tag.
>
> Andrew
>
Ok, I will do that.
> ---
> pw-bot: cr
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2024-11-15 6:33 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-14 11:14 [PATCH net 0/4] Updating and correcting switch hardware versions and reported speeds Justin Lai
2024-11-14 11:14 ` [PATCH net 1/4] rtase: Refactor the rtase_check_mac_version_valid() function Justin Lai
2024-11-14 15:38 ` Andrew Lunn
2024-11-15 5:57 ` Justin Lai
2024-11-14 15:40 ` Andrew Lunn
2024-11-15 6:32 ` Justin Lai
2024-11-14 11:14 ` [PATCH net 2/4] rtase: Correct the speed for RTL907XD-V1 Justin Lai
2024-11-14 11:14 ` [PATCH net 3/4] rtase: Add support for RTL907XD-VA PCIe port Justin Lai
2024-11-14 11:14 ` [PATCH net 4/4] rtase: Corrects error handling of the rtase_check_mac_version_valid() Justin Lai
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).