[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <bde062c3-a487-4c57-b864-dc7835573553@gmx.net>
Date: Wed, 8 May 2024 19:46:05 +0200
From: Hans-Frieder Vogt <hfdevel@....net>
To: FUJITA Tomonori <fujita.tomonori@...il.com>
Cc: netdev@...r.kernel.org, andrew@...n.ch, horms@...nel.org,
kuba@...nel.org, jiri@...nulli.us, pabeni@...hat.com
Subject: Re: [PATCH net-next v5 3/6] net: tn40xx: add basic Tx handling
> This patch adds device specific structures to initialize the hardware
> with basic Tx handling. The original driver loads the embedded
> firmware in the header file. This driver is implemented to use the
> firmware APIs.
>
> The Tx logic uses three major data structures; two ring buffers with
> NIC and one database. One ring buffer is used to send information
> about packets to be sent for NIC. The other is used to get information
> from NIC about packet that are sent. The database is used to keep the
> information about DMA mapping. After a packet is sent, the db is used
> to free the resource used for the packet.
>
> Signed-off-by: FUJITA Tomonori <fujita.tomonori@...il.com>
> ---
> drivers/net/ethernet/tehuti/Kconfig | 1 +
> drivers/net/ethernet/tehuti/tn40.c | 1260 +++++++++++++++++++++++++++
> drivers/net/ethernet/tehuti/tn40.h | 167 ++++
> 3 files changed, 1428 insertions(+)
>
> diff --git a/drivers/net/ethernet/tehuti/Kconfig
b/drivers/net/ethernet/tehuti/Kconfig
> index 849e3b4a71c1..4198fd59e42e 100644
> --- a/drivers/net/ethernet/tehuti/Kconfig
> +++ b/drivers/net/ethernet/tehuti/Kconfig
> @@ -26,6 +26,7 @@ config TEHUTI
> config TEHUTI_TN40
> tristate "Tehuti Networks TN40xx 10G Ethernet adapters"
> depends on PCI
> + select FW_LOADER
> help
> This driver supports 10G Ethernet adapters using Tehuti Networks
> TN40xx chips. Currently, adapters with Applied Micro Circuits
> diff --git a/drivers/net/ethernet/tehuti/tn40.c
b/drivers/net/ethernet/tehuti/tn40.c
> index 6ec436120d18..6c6163bad2c2 100644
> --- a/drivers/net/ethernet/tehuti/tn40.c
> +++ b/drivers/net/ethernet/tehuti/tn40.c
> @@ -1,14 +1,1186 @@
> // SPDX-License-Identifier: GPL-2.0+
> /* Copyright (c) Tehuti Networks Ltd. */
>
> +#include <linux/bitfield.h>
> +#include <linux/ethtool.h>
> +#include <linux/firmware.h>
> +#include <linux/if_vlan.h>
> +#include <linux/netdevice.h>
> #include <linux/pci.h>
>
> #include "tn40.h"
>
> +#define TN40_SHORT_PACKET_SIZE 60
> +#define TN40_FIRMWARE_NAME "tn40xx-14.fw"
why is here a new firmware name defined?
The TN4010 uses the identical firmware as the tehuti ethernet driver. I
suggest therefore to define instead, in order to avoid storing the same
firmware twice:
#define TN40_FIRMWARE_NAME "tehuti/bdx.bin"
--
Best regards,
Hans
Powered by blists - more mailing lists