From: <Nicolas.Ferre@microchip.com>
To: <Daire.McNamara@microchip.com>, <Claudiu.Beznea@microchip.com>,
<davem@davemloft.net>, <edumazet@google.com>, <kuba@kernel.org>,
<pabeni@redhat.com>, <netdev@vger.kernel.org>,
<Conor.Dooley@microchip.com>, <Nicolas.Ferre@microchip.com>
Cc: <harini.katakam@amd.com>, <michal.simek@amd.com>,
<roman.gushchin@linux.dev>, <jacob.e.keller@intel.com>
Subject: Re: [PATCH v1 1/1] net: macb: Shorten max_tx_len to 4KiB - 56 on mpfs
Date: Fri, 14 Apr 2023 08:59:54 +0000 [thread overview]
Message-ID: <fb680e8f-4385-f54d-5827-6f2e3034703c@microchip.com> (raw)
In-Reply-To: <20230413180337.1399614-2-daire.mcnamara@microchip.com>
On 13/04/2023 at 20:03, daire.mcnamara@microchip.com wrote:
> From: Daire McNamara <daire.mcnamara@microchip.com>
>
> On mpfs, with SRAM configured for 4 queues, setting max_tx_len
> to GEM_TX_MAX_LEN=0x3f0 results multiple AMBA errors.
> Setting max_tx_len to (4KiB - 56) removes those errors.
>
> The details are described in erratum 1686 by Cadence
>
> The max jumbo frame size is also reduced for mpfs to (4KiB - 56).
>
> Signed-off-by: Daire McNamara <daire.mcnamara@microchip.com>
Looks good to me:
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Best regards,
Nicolas
> ---
> drivers/net/ethernet/cadence/macb.h | 1 +
> drivers/net/ethernet/cadence/macb_main.c | 16 ++++++++++++----
> 2 files changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cadence/macb.h
> index 14dfec4db8f9..989e7c5db9b9 100644
> --- a/drivers/net/ethernet/cadence/macb.h
> +++ b/drivers/net/ethernet/cadence/macb.h
> @@ -1175,6 +1175,7 @@ struct macb_config {
> struct clk **hclk, struct clk **tx_clk,
> struct clk **rx_clk, struct clk **tsu_clk);
> int (*init)(struct platform_device *pdev);
> + unsigned int max_tx_length;
> int jumbo_max_len;
> const struct macb_usrio_config *usrio;
> };
> diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
> index 66e30561569e..1f362bbc360f 100644
> --- a/drivers/net/ethernet/cadence/macb_main.c
> +++ b/drivers/net/ethernet/cadence/macb_main.c
> @@ -4095,14 +4095,12 @@ static int macb_init(struct platform_device *pdev)
>
> /* setup appropriated routines according to adapter type */
> if (macb_is_gem(bp)) {
> - bp->max_tx_length = GEM_MAX_TX_LEN;
> bp->macbgem_ops.mog_alloc_rx_buffers = gem_alloc_rx_buffers;
> bp->macbgem_ops.mog_free_rx_buffers = gem_free_rx_buffers;
> bp->macbgem_ops.mog_init_rings = gem_init_rings;
> bp->macbgem_ops.mog_rx = gem_rx;
> dev->ethtool_ops = &gem_ethtool_ops;
> } else {
> - bp->max_tx_length = MACB_MAX_TX_LEN;
> bp->macbgem_ops.mog_alloc_rx_buffers = macb_alloc_rx_buffers;
> bp->macbgem_ops.mog_free_rx_buffers = macb_free_rx_buffers;
> bp->macbgem_ops.mog_init_rings = macb_init_rings;
> @@ -4839,7 +4837,8 @@ static const struct macb_config mpfs_config = {
> .clk_init = macb_clk_init,
> .init = init_reset_optional,
> .usrio = &macb_default_usrio,
> - .jumbo_max_len = 10240,
> + .max_tx_length = 4040, /* Cadence Erratum 1686 */
> + .jumbo_max_len = 4040,
> };
>
> static const struct macb_config sama7g5_gem_config = {
> @@ -4986,8 +4985,17 @@ static int macb_probe(struct platform_device *pdev)
> bp->tx_clk = tx_clk;
> bp->rx_clk = rx_clk;
> bp->tsu_clk = tsu_clk;
> - if (macb_config)
> + if (macb_config) {
> + if (macb_is_gem(bp)) {
> + if (macb_config->max_tx_length)
> + bp->max_tx_length = macb_config->max_tx_length;
> + else
> + bp->max_tx_length = GEM_MAX_TX_LEN;
> + } else {
> + bp->max_tx_length = MACB_MAX_TX_LEN;
> + }
> bp->jumbo_max_len = macb_config->jumbo_max_len;
> + }
>
> bp->wol = 0;
> if (of_property_read_bool(np, "magic-packet"))
--
Nicolas Ferre
next prev parent reply other threads:[~2023-04-14 9:00 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-13 18:03 [PATCH v1 0/1] Adjust macb max_tx_len for mpfs daire.mcnamara
2023-04-13 18:03 ` [PATCH v1 1/1] net: macb: Shorten max_tx_len to 4KiB - 56 on mpfs daire.mcnamara
2023-04-13 20:36 ` Samudrala, Sridhar
2023-04-14 8:59 ` Nicolas.Ferre [this message]
2023-04-14 9:14 ` Katakam, Harini
2023-04-14 10:57 ` Conor Dooley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fb680e8f-4385-f54d-5827-6f2e3034703c@microchip.com \
--to=nicolas.ferre@microchip.com \
--cc=Claudiu.Beznea@microchip.com \
--cc=Conor.Dooley@microchip.com \
--cc=Daire.McNamara@microchip.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=harini.katakam@amd.com \
--cc=jacob.e.keller@intel.com \
--cc=kuba@kernel.org \
--cc=michal.simek@amd.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=roman.gushchin@linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.