netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next] net: ethernet: mtk_ppe: add MTK_FOE_ENTRY_V{1,2}_SIZE macros
@ 2023-07-19 10:29 Lorenzo Bianconi
  2023-07-20 17:55 ` Simon Horman
  2023-07-21  7:50 ` patchwork-bot+netdevbpf
  0 siblings, 2 replies; 5+ messages in thread
From: Lorenzo Bianconi @ 2023-07-19 10:29 UTC (permalink / raw)
  To: netdev
  Cc: davem, edumazet, kuba, pabeni, nbd, john, sean.wang, Mark-MC.Lee,
	lorenzo.bianconi, daniel

Introduce MTK_FOE_ENTRY_V{1,2}_SIZE macros in order to make more
explicit foe_entry size for different chipset revisions.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
---
 drivers/net/ethernet/mediatek/mtk_eth_soc.c | 10 +++++-----
 drivers/net/ethernet/mediatek/mtk_ppe.h     |  3 +++
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
index 834c644b67db..7f9e23ddb3c4 100644
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -4811,7 +4811,7 @@ static const struct mtk_soc_data mt7621_data = {
 	.required_pctl = false,
 	.offload_version = 1,
 	.hash_offset = 2,
-	.foe_entry_size = sizeof(struct mtk_foe_entry) - 16,
+	.foe_entry_size = MTK_FOE_ENTRY_V1_SIZE,
 	.txrx = {
 		.txd_size = sizeof(struct mtk_tx_dma),
 		.rxd_size = sizeof(struct mtk_rx_dma),
@@ -4832,7 +4832,7 @@ static const struct mtk_soc_data mt7622_data = {
 	.offload_version = 2,
 	.hash_offset = 2,
 	.has_accounting = true,
-	.foe_entry_size = sizeof(struct mtk_foe_entry) - 16,
+	.foe_entry_size = MTK_FOE_ENTRY_V1_SIZE,
 	.txrx = {
 		.txd_size = sizeof(struct mtk_tx_dma),
 		.rxd_size = sizeof(struct mtk_rx_dma),
@@ -4851,7 +4851,7 @@ static const struct mtk_soc_data mt7623_data = {
 	.required_pctl = true,
 	.offload_version = 1,
 	.hash_offset = 2,
-	.foe_entry_size = sizeof(struct mtk_foe_entry) - 16,
+	.foe_entry_size = MTK_FOE_ENTRY_V1_SIZE,
 	.txrx = {
 		.txd_size = sizeof(struct mtk_tx_dma),
 		.rxd_size = sizeof(struct mtk_rx_dma),
@@ -4889,8 +4889,8 @@ static const struct mtk_soc_data mt7981_data = {
 	.required_pctl = false,
 	.offload_version = 2,
 	.hash_offset = 4,
-	.foe_entry_size = sizeof(struct mtk_foe_entry),
 	.has_accounting = true,
+	.foe_entry_size = MTK_FOE_ENTRY_V2_SIZE,
 	.txrx = {
 		.txd_size = sizeof(struct mtk_tx_dma_v2),
 		.rxd_size = sizeof(struct mtk_rx_dma_v2),
@@ -4910,8 +4910,8 @@ static const struct mtk_soc_data mt7986_data = {
 	.required_pctl = false,
 	.offload_version = 2,
 	.hash_offset = 4,
-	.foe_entry_size = sizeof(struct mtk_foe_entry),
 	.has_accounting = true,
+	.foe_entry_size = MTK_FOE_ENTRY_V2_SIZE,
 	.txrx = {
 		.txd_size = sizeof(struct mtk_tx_dma_v2),
 		.rxd_size = sizeof(struct mtk_rx_dma_v2),
diff --git a/drivers/net/ethernet/mediatek/mtk_ppe.h b/drivers/net/ethernet/mediatek/mtk_ppe.h
index e51de31a52ec..fb6bf58172d9 100644
--- a/drivers/net/ethernet/mediatek/mtk_ppe.h
+++ b/drivers/net/ethernet/mediatek/mtk_ppe.h
@@ -216,6 +216,9 @@ struct mtk_foe_ipv6_6rd {
 	struct mtk_foe_mac_info l2;
 };
 
+#define MTK_FOE_ENTRY_V1_SIZE	80
+#define MTK_FOE_ENTRY_V2_SIZE	96
+
 struct mtk_foe_entry {
 	u32 ib1;
 
-- 
2.41.0


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

* Re: [PATCH net-next] net: ethernet: mtk_ppe: add MTK_FOE_ENTRY_V{1,2}_SIZE macros
  2023-07-19 10:29 [PATCH net-next] net: ethernet: mtk_ppe: add MTK_FOE_ENTRY_V{1,2}_SIZE macros Lorenzo Bianconi
@ 2023-07-20 17:55 ` Simon Horman
  2023-07-20 20:52   ` Lorenzo Bianconi
  2023-07-21  7:50 ` patchwork-bot+netdevbpf
  1 sibling, 1 reply; 5+ messages in thread
From: Simon Horman @ 2023-07-20 17:55 UTC (permalink / raw)
  To: Lorenzo Bianconi
  Cc: netdev, davem, edumazet, kuba, pabeni, nbd, john, sean.wang,
	Mark-MC.Lee, lorenzo.bianconi, daniel

On Wed, Jul 19, 2023 at 12:29:49PM +0200, Lorenzo Bianconi wrote:
> Introduce MTK_FOE_ENTRY_V{1,2}_SIZE macros in order to make more
> explicit foe_entry size for different chipset revisions.
> 
> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
> ---
>  drivers/net/ethernet/mediatek/mtk_eth_soc.c | 10 +++++-----
>  drivers/net/ethernet/mediatek/mtk_ppe.h     |  3 +++
>  2 files changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> index 834c644b67db..7f9e23ddb3c4 100644
> --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> @@ -4811,7 +4811,7 @@ static const struct mtk_soc_data mt7621_data = {
>  	.required_pctl = false,
>  	.offload_version = 1,
>  	.hash_offset = 2,
> -	.foe_entry_size = sizeof(struct mtk_foe_entry) - 16,
> +	.foe_entry_size = MTK_FOE_ENTRY_V1_SIZE,
>  	.txrx = {
>  		.txd_size = sizeof(struct mtk_tx_dma),
>  		.rxd_size = sizeof(struct mtk_rx_dma),

...

> @@ -4889,8 +4889,8 @@ static const struct mtk_soc_data mt7981_data = {
>  	.required_pctl = false,
>  	.offload_version = 2,
>  	.hash_offset = 4,
> -	.foe_entry_size = sizeof(struct mtk_foe_entry),
>  	.has_accounting = true,
> +	.foe_entry_size = MTK_FOE_ENTRY_V2_SIZE,
>  	.txrx = {
>  		.txd_size = sizeof(struct mtk_tx_dma_v2),
>  		.rxd_size = sizeof(struct mtk_rx_dma_v2),

...

> diff --git a/drivers/net/ethernet/mediatek/mtk_ppe.h b/drivers/net/ethernet/mediatek/mtk_ppe.h
> index e51de31a52ec..fb6bf58172d9 100644
> --- a/drivers/net/ethernet/mediatek/mtk_ppe.h
> +++ b/drivers/net/ethernet/mediatek/mtk_ppe.h
> @@ -216,6 +216,9 @@ struct mtk_foe_ipv6_6rd {
>  	struct mtk_foe_mac_info l2;
>  };
>  
> +#define MTK_FOE_ENTRY_V1_SIZE	80
> +#define MTK_FOE_ENTRY_V2_SIZE	96

Hi Lorenzo,

Would it make sense to define these in terms of sizeof(struct mtk_foe_entry) ?

...

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

* Re: [PATCH net-next] net: ethernet: mtk_ppe: add MTK_FOE_ENTRY_V{1,2}_SIZE macros
  2023-07-20 17:55 ` Simon Horman
@ 2023-07-20 20:52   ` Lorenzo Bianconi
  2023-07-21  6:52     ` Simon Horman
  0 siblings, 1 reply; 5+ messages in thread
From: Lorenzo Bianconi @ 2023-07-20 20:52 UTC (permalink / raw)
  To: Simon Horman
  Cc: netdev, davem, edumazet, kuba, pabeni, nbd, john, sean.wang,
	Mark-MC.Lee, lorenzo.bianconi, daniel

[-- Attachment #1: Type: text/plain, Size: 2545 bytes --]

> On Wed, Jul 19, 2023 at 12:29:49PM +0200, Lorenzo Bianconi wrote:
> > Introduce MTK_FOE_ENTRY_V{1,2}_SIZE macros in order to make more
> > explicit foe_entry size for different chipset revisions.
> > 
> > Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
> > ---
> >  drivers/net/ethernet/mediatek/mtk_eth_soc.c | 10 +++++-----
> >  drivers/net/ethernet/mediatek/mtk_ppe.h     |  3 +++
> >  2 files changed, 8 insertions(+), 5 deletions(-)
> > 
> > diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> > index 834c644b67db..7f9e23ddb3c4 100644
> > --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> > +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> > @@ -4811,7 +4811,7 @@ static const struct mtk_soc_data mt7621_data = {
> >  	.required_pctl = false,
> >  	.offload_version = 1,
> >  	.hash_offset = 2,
> > -	.foe_entry_size = sizeof(struct mtk_foe_entry) - 16,
> > +	.foe_entry_size = MTK_FOE_ENTRY_V1_SIZE,
> >  	.txrx = {
> >  		.txd_size = sizeof(struct mtk_tx_dma),
> >  		.rxd_size = sizeof(struct mtk_rx_dma),
> 
> ...
> 
> > @@ -4889,8 +4889,8 @@ static const struct mtk_soc_data mt7981_data = {
> >  	.required_pctl = false,
> >  	.offload_version = 2,
> >  	.hash_offset = 4,
> > -	.foe_entry_size = sizeof(struct mtk_foe_entry),
> >  	.has_accounting = true,
> > +	.foe_entry_size = MTK_FOE_ENTRY_V2_SIZE,
> >  	.txrx = {
> >  		.txd_size = sizeof(struct mtk_tx_dma_v2),
> >  		.rxd_size = sizeof(struct mtk_rx_dma_v2),
> 
> ...
> 
> > diff --git a/drivers/net/ethernet/mediatek/mtk_ppe.h b/drivers/net/ethernet/mediatek/mtk_ppe.h
> > index e51de31a52ec..fb6bf58172d9 100644
> > --- a/drivers/net/ethernet/mediatek/mtk_ppe.h
> > +++ b/drivers/net/ethernet/mediatek/mtk_ppe.h
> > @@ -216,6 +216,9 @@ struct mtk_foe_ipv6_6rd {
> >  	struct mtk_foe_mac_info l2;
> >  };
> >  
> > +#define MTK_FOE_ENTRY_V1_SIZE	80
> > +#define MTK_FOE_ENTRY_V2_SIZE	96
> 
> Hi Lorenzo,
> 
> Would it make sense to define these in terms of sizeof(struct mtk_foe_entry) ?
> 

Hi Simon,

I was discussing with Felix to have something like:

struct mtk_foe_entry_v1 {
	u32 data[19];
};

struct mtk_foe_entry_v2 {
	u32 data[23];
};

struct mtk_foe_entry {
	u32 ib1;

	union {
		...
		struct mtk_foe_entry_v1 e;
		struct mtk_foe_entry_v2 e2;
	};
};

and then relying on sizeof of struct mtk_foe_entry_v1/mtk_foe_entry_v2
but then we decided to have a simpler approach. What do you think?

Regards,
Lorenzo

> ...

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

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

* Re: [PATCH net-next] net: ethernet: mtk_ppe: add MTK_FOE_ENTRY_V{1,2}_SIZE macros
  2023-07-20 20:52   ` Lorenzo Bianconi
@ 2023-07-21  6:52     ` Simon Horman
  0 siblings, 0 replies; 5+ messages in thread
From: Simon Horman @ 2023-07-21  6:52 UTC (permalink / raw)
  To: Lorenzo Bianconi
  Cc: netdev, davem, edumazet, kuba, pabeni, nbd, john, sean.wang,
	Mark-MC.Lee, lorenzo.bianconi, daniel

On Thu, Jul 20, 2023 at 10:52:15PM +0200, Lorenzo Bianconi wrote:
> > On Wed, Jul 19, 2023 at 12:29:49PM +0200, Lorenzo Bianconi wrote:
> > > Introduce MTK_FOE_ENTRY_V{1,2}_SIZE macros in order to make more
> > > explicit foe_entry size for different chipset revisions.
> > > 
> > > Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
> > > ---
> > >  drivers/net/ethernet/mediatek/mtk_eth_soc.c | 10 +++++-----
> > >  drivers/net/ethernet/mediatek/mtk_ppe.h     |  3 +++
> > >  2 files changed, 8 insertions(+), 5 deletions(-)
> > > 
> > > diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> > > index 834c644b67db..7f9e23ddb3c4 100644
> > > --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> > > +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> > > @@ -4811,7 +4811,7 @@ static const struct mtk_soc_data mt7621_data = {
> > >  	.required_pctl = false,
> > >  	.offload_version = 1,
> > >  	.hash_offset = 2,
> > > -	.foe_entry_size = sizeof(struct mtk_foe_entry) - 16,
> > > +	.foe_entry_size = MTK_FOE_ENTRY_V1_SIZE,
> > >  	.txrx = {
> > >  		.txd_size = sizeof(struct mtk_tx_dma),
> > >  		.rxd_size = sizeof(struct mtk_rx_dma),
> > 
> > ...
> > 
> > > @@ -4889,8 +4889,8 @@ static const struct mtk_soc_data mt7981_data = {
> > >  	.required_pctl = false,
> > >  	.offload_version = 2,
> > >  	.hash_offset = 4,
> > > -	.foe_entry_size = sizeof(struct mtk_foe_entry),
> > >  	.has_accounting = true,
> > > +	.foe_entry_size = MTK_FOE_ENTRY_V2_SIZE,
> > >  	.txrx = {
> > >  		.txd_size = sizeof(struct mtk_tx_dma_v2),
> > >  		.rxd_size = sizeof(struct mtk_rx_dma_v2),
> > 
> > ...
> > 
> > > diff --git a/drivers/net/ethernet/mediatek/mtk_ppe.h b/drivers/net/ethernet/mediatek/mtk_ppe.h
> > > index e51de31a52ec..fb6bf58172d9 100644
> > > --- a/drivers/net/ethernet/mediatek/mtk_ppe.h
> > > +++ b/drivers/net/ethernet/mediatek/mtk_ppe.h
> > > @@ -216,6 +216,9 @@ struct mtk_foe_ipv6_6rd {
> > >  	struct mtk_foe_mac_info l2;
> > >  };
> > >  
> > > +#define MTK_FOE_ENTRY_V1_SIZE	80
> > > +#define MTK_FOE_ENTRY_V2_SIZE	96
> > 
> > Hi Lorenzo,
> > 
> > Would it make sense to define these in terms of sizeof(struct mtk_foe_entry) ?
> > 
> 
> Hi Simon,
> 
> I was discussing with Felix to have something like:
> 
> struct mtk_foe_entry_v1 {
> 	u32 data[19];
> };
> 
> struct mtk_foe_entry_v2 {
> 	u32 data[23];
> };
> 
> struct mtk_foe_entry {
> 	u32 ib1;
> 
> 	union {
> 		...
> 		struct mtk_foe_entry_v1 e;
> 		struct mtk_foe_entry_v2 e2;
> 	};
> };
> 
> and then relying on sizeof of struct mtk_foe_entry_v1/mtk_foe_entry_v2
> but then we decided to have a simpler approach. What do you think?

Hi Lorenzo,

I do see some value in something like what you have above.
But I also appreciate the value of simplicity.

So I have no objections if you prefer the patch in it's current form.

Reviewed-by: Simon Horman <simon.horman@corigine.com>


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

* Re: [PATCH net-next] net: ethernet: mtk_ppe: add MTK_FOE_ENTRY_V{1,2}_SIZE macros
  2023-07-19 10:29 [PATCH net-next] net: ethernet: mtk_ppe: add MTK_FOE_ENTRY_V{1,2}_SIZE macros Lorenzo Bianconi
  2023-07-20 17:55 ` Simon Horman
@ 2023-07-21  7:50 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 5+ messages in thread
From: patchwork-bot+netdevbpf @ 2023-07-21  7:50 UTC (permalink / raw)
  To: Lorenzo Bianconi
  Cc: netdev, davem, edumazet, kuba, pabeni, nbd, john, sean.wang,
	Mark-MC.Lee, lorenzo.bianconi, daniel

Hello:

This patch was applied to netdev/net-next.git (main)
by David S. Miller <davem@davemloft.net>:

On Wed, 19 Jul 2023 12:29:49 +0200 you wrote:
> Introduce MTK_FOE_ENTRY_V{1,2}_SIZE macros in order to make more
> explicit foe_entry size for different chipset revisions.
> 
> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
> ---
>  drivers/net/ethernet/mediatek/mtk_eth_soc.c | 10 +++++-----
>  drivers/net/ethernet/mediatek/mtk_ppe.h     |  3 +++
>  2 files changed, 8 insertions(+), 5 deletions(-)

Here is the summary with links:
  - [net-next] net: ethernet: mtk_ppe: add MTK_FOE_ENTRY_V{1,2}_SIZE macros
    https://git.kernel.org/netdev/net-next/c/a5dc694e16d3

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



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

end of thread, other threads:[~2023-07-21  7:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-19 10:29 [PATCH net-next] net: ethernet: mtk_ppe: add MTK_FOE_ENTRY_V{1,2}_SIZE macros Lorenzo Bianconi
2023-07-20 17:55 ` Simon Horman
2023-07-20 20:52   ` Lorenzo Bianconi
2023-07-21  6:52     ` Simon Horman
2023-07-21  7:50 ` patchwork-bot+netdevbpf

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).