[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240628151452.GI783093@kernel.org>
Date: Fri, 28 Jun 2024 16:14:52 +0100
From: Simon Horman <horms@...nel.org>
To: Alexander Duyck <alexander.duyck@...il.com>
Cc: netdev@...r.kernel.org, Alexander Duyck <alexanderduyck@...com>,
kuba@...nel.org, davem@...emloft.net, pabeni@...hat.com
Subject: Re: [net-next PATCH v2 09/15] eth: fbnic: Implement Rx queue
alloc/start/stop/free
On Tue, Jun 25, 2024 at 07:36:10AM -0700, Alexander Duyck wrote:
> From: Alexander Duyck <alexanderduyck@...com>
>
> Implement control path parts of Rx queue handling.
>
> The NIC consumes memory in pages. It takes a full page and places
> packets into it in a configurable manner (with the ability to define
> headroom / tailroom as well as head alignment requirements).
> As mentioned in prior patches there are two page submissions queues
> one for packet headers and second (optional) for packet payloads.
> For now feed both queues from a single page pool.
>
> Use the page pool "fragment" API, as we can't predict upfront
> how the page will be sliced.
>
> Signed-off-by: Alexander Duyck <alexanderduyck@...com>
> ---
> drivers/net/ethernet/meta/fbnic/fbnic_csr.h | 103 +++++
> drivers/net/ethernet/meta/fbnic/fbnic_netdev.c | 3
> drivers/net/ethernet/meta/fbnic/fbnic_netdev.h | 3
> drivers/net/ethernet/meta/fbnic/fbnic_pci.c | 2
> drivers/net/ethernet/meta/fbnic/fbnic_txrx.c | 480 ++++++++++++++++++++++++
> drivers/net/ethernet/meta/fbnic/fbnic_txrx.h | 33 ++
> 6 files changed, 615 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/net/ethernet/meta/fbnic/fbnic_csr.h b/drivers/net/ethernet/meta/fbnic/fbnic_csr.h
> index db423b3424ab..853fb01f8f70 100644
> --- a/drivers/net/ethernet/meta/fbnic/fbnic_csr.h
> +++ b/drivers/net/ethernet/meta/fbnic/fbnic_csr.h
> @@ -16,6 +16,37 @@
>
> #define FBNIC_CLOCK_FREQ (600 * (1000 * 1000))
>
> +/* Rx Buffer Descriptor Format
> + *
> + * The layout of this can vary depending on the page size of the system.
> + *
> + * If the page size is 4K then the layout will simply consist of ID for
> + * the 16 most signficant bits, and the lower 46 are essentially the page
nit: significant
...
Powered by blists - more mailing lists