From: Joe Damato <joe@dama.to>
To: Jakub Kicinski <kuba@kernel.org>
Cc: netdev@vger.kernel.org, Michael Chan <michael.chan@broadcom.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Paolo Abeni <pabeni@redhat.com>,
andrew+netdev@lunn.ch, horms@kernel.org,
pavan.chebbi@broadcom.com, linux-kernel@vger.kernel.org,
leon@kernel.org
Subject: Re: [net-next v6 09/12] net: bnxt: Add SW GSO completion and teardown support
Date: Mon, 30 Mar 2026 10:07:17 -0700 [thread overview]
Message-ID: <acqtxUBvQw7pXPY2@devvm20253.cco0.facebook.com> (raw)
In-Reply-To: <20260329152236.6ad729e6@kernel.org>
On Sun, Mar 29, 2026 at 03:22:36PM -0700, Jakub Kicinski wrote:
> On Thu, 26 Mar 2026 16:52:28 -0700 Joe Damato wrote:
> > + if (head_buf->is_sw_gso == BNXT_SW_GSO_LAST) {
> > + if (dma_use_iova(&head_buf->iova_state))
> > + dma_iova_destroy(&pdev->dev,
> > + &head_buf->iova_state,
> > + head_buf->iova_total_len,
> > + DMA_TO_DEVICE, 0);
>
> Do we have to expose the dma_use_iova() stuff to the driver at all?
> Could we have a function the driver is supposed to call to clean up,
> always, and what the function does is up to the TSO lib?
I could add a tso_dma_map_destroy(dev, iova_state, len) that the driver calls,
but the driver would still need to stash iova_state and total_len on the ring.
That would be easiest, but I'm not sure if you were thinking that the IOVA
stuff should be as opague as possible?
Because if you do want it to be as opague as possible, maybe:
/* Add a struct to tso.h to track completion state */
struct tso_dma_map_completion_state {
struct dma_iova_state iova_state;
size_t total_len;
}
Add a save function: tso_dma_map_completion_save(map, completion_state);
And then:
- the bnxt sw bd stores a struct tso_dma_map_completion_state.
- xmit calls tso_dma_map_completion_save to store the iova_state
- completion calls tso_dma_complete(dev, &head_buf->completion_state)
LMK if you meant the easier way or the more opague way?
next prev parent reply other threads:[~2026-03-30 17:07 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-26 23:52 [net-next v6 00/12] Add TSO map-once DMA helpers and bnxt SW USO support Joe Damato
2026-03-26 23:52 ` [net-next v6 01/12] net: tso: Introduce tso_dma_map Joe Damato
2026-03-29 22:11 ` Jakub Kicinski
2026-03-30 16:45 ` Joe Damato
2026-03-26 23:52 ` [net-next v6 02/12] net: tso: Add tso_dma_map helpers Joe Damato
2026-03-26 23:52 ` [net-next v6 03/12] net: bnxt: Export bnxt_xmit_get_cfa_action Joe Damato
2026-03-26 23:52 ` [net-next v6 04/12] net: bnxt: Add a helper for tx_bd_ext Joe Damato
2026-03-26 23:52 ` [net-next v6 05/12] net: bnxt: Use dma_unmap_len for TX completion unmapping Joe Damato
2026-03-26 23:52 ` [net-next v6 06/12] net: bnxt: Add TX inline buffer infrastructure Joe Damato
2026-03-26 23:52 ` [net-next v6 07/12] net: bnxt: Add boilerplate GSO code Joe Damato
2026-03-29 22:12 ` Jakub Kicinski
2026-03-30 16:45 ` Joe Damato
2026-03-26 23:52 ` [net-next v6 08/12] net: bnxt: Implement software USO Joe Damato
2026-03-29 22:20 ` Jakub Kicinski
2026-03-30 16:53 ` Joe Damato
2026-03-30 23:53 ` Jakub Kicinski
2026-03-31 21:11 ` Joe Damato
2026-04-01 4:34 ` Pavan Chebbi
2026-03-26 23:52 ` [net-next v6 09/12] net: bnxt: Add SW GSO completion and teardown support Joe Damato
2026-03-29 22:22 ` Jakub Kicinski
2026-03-30 17:07 ` Joe Damato [this message]
2026-03-30 23:59 ` Jakub Kicinski
2026-03-30 23:57 ` Jakub Kicinski
2026-03-31 21:14 ` Joe Damato
2026-04-01 1:03 ` Jakub Kicinski
2026-03-26 23:52 ` [net-next v6 10/12] net: bnxt: Dispatch to SW USO Joe Damato
2026-03-26 23:52 ` [net-next v6 11/12] net: netdevsim: Add support for " Joe Damato
2026-03-29 22:26 ` Jakub Kicinski
2026-03-30 17:12 ` Joe Damato
2026-03-26 23:52 ` [net-next v6 12/12] selftests: drv-net: Add USO test Joe Damato
2026-03-29 22:31 ` Jakub Kicinski
2026-03-30 17:25 ` Joe Damato
2026-03-30 23:50 ` Jakub Kicinski
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=acqtxUBvQw7pXPY2@devvm20253.cco0.facebook.com \
--to=joe@dama.to \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=leon@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michael.chan@broadcom.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pavan.chebbi@broadcom.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox