From: Tony Nguyen <anthony.l.nguyen@intel.com>
To: <davem@davemloft.net>, <kuba@kernel.org>, <pabeni@redhat.com>,
<edumazet@google.com>, <andrew+netdev@lunn.ch>,
<netdev@vger.kernel.org>
Cc: <larysa.zaremba@intel.com>, <przemyslaw.kitszel@intel.com>,
<aleksander.lobakin@intel.com>, <sridhar.samudrala@intel.com>,
<michal.swiatkowski@linux.intel.com>,
<maciej.fijalkowski@intel.com>, <emil.s.tantilov@intel.com>,
<madhu.chittim@intel.com>, <joshua.a.hay@intel.com>,
<jacob.e.keller@intel.com>, <jayaprakash.shanmugam@intel.com>,
<jiri@resnulli.us>, <horms@kernel.org>, <corbet@lwn.net>,
<richardcochran@gmail.com>, <skhan@linuxfoundation.org>,
<linux-doc@vger.kernel.org>
Subject: Re: [PATCH net-next v6 00/15][pull request] Introduce iXD driver
Date: Fri, 31 Jul 2026 08:57:08 -0700 [thread overview]
Message-ID: <b6efc438-20ae-4683-8e15-16845efa9aef@intel.com> (raw)
In-Reply-To: <20260729204505.3373950-1-anthony.l.nguyen@intel.com>
On 7/29/2026 1:44 PM, Tony Nguyen wrote:
> Larysa Zaremba says:
>
> This patch series adds the iXD driver, which supports the Intel(R)
> Control Plane PCI Function on Intel E2100 and later IPUs and FNICs.
> It facilitates a centralized control over multiple IDPF PFs/VFs/SFs
> exposed by the same card. The reason for the separation is to be able
> to offload the control plane to the host different from where the data
> plane is running.
>
> This is the first phase in the release of this driver where we implement the
> initialization of the core PCI driver. Subsequent phases will implement
> advanced features like usage of idpf ethernet aux device, link management,
> NVM update via devlink, switchdev port representors, data and exception path,
> flow rule programming, etc.
Sashiko reported a couple of issues that will need addressing and some
reasonable low suggestions that we will incorporate so
pw-bot: changes-requested
Thanks,
Tony
> The first phase entails the following aspects:
>
> 1. Additional libie functionalities:
> Patches 1-5 introduce additional common library API for drivers to
> communicate with the control plane through mailbox communication.
> A control queue is a hardware interface which is used by the driver
> to interact with other subsystems (like firmware). The library APIs
> allow the driver to setup and configure the control queues to send and
> receive virtchnl messages. The library has an internal bookkeeping
> (XN API) mechanism to keep track of the send messages. It supports both
> synchronous as well as asynchronous way of handling the messages. The
> library also handles the timeout internally for synchronous messages
> using events. This reduces the driver's overhead in handling the timeout
> error cases.
>
> The current patch series supports only APIs that are needed for device
> initialization. These include APIs in the libie_pci module:
> * Allocating/freeing the DMA memory and mapping the MMIO regions for
> BAR0, read/write APIs for drivers to access the MMIO memory
>
> and libie_cp module:
> * Control queue initialization and configuration
> * Transport initialization for bookkeeping
> * Blocking and asynchronous mailbox transactions
>
> Once the mailbox is initialized, the drivers can send and receive virtchnl
> messages to/from the control plane.
>
> The modules above are not supposed to be linked with the main libie library,
> but do share the folder with it.
>
> 2. idpf:
> Patches 6-11 refactor the idpf driver to use the libie APIs for control
> queue configuration, virtchnl transaction, device initialization
> and reset and adjust related code accordingly.
>
> 3. ixd:
> Patches 12-15 add the ixd driver and implement multiple pieces of the
> initialization flow as follows:
> * Add the ability to load
> * A reset is issued to ensure a clean device state, followed by
> initialization of the mailbox
> * Device capabilities:
> As part of initialization, the driver has to determine what the device is
> capable of (ex. max queues, vports, etc). This information is obtained from
> the firmware and stored by the driver.
> * Enable initial support for the devlink interface
prev parent reply other threads:[~2026-07-31 15:57 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-29 20:44 [PATCH net-next v6 00/15][pull request] Introduce iXD driver Tony Nguyen
2026-07-29 20:44 ` [PATCH net-next v6 01/15] virtchnl: move virtchnl and virtchnl2 headers to 'include/linux/net/intel' Tony Nguyen
2026-07-29 20:44 ` [PATCH net-next v6 02/15] libie: add PCI device initialization helpers to libie Tony Nguyen
2026-07-29 20:44 ` [PATCH net-next v6 03/15] libeth: allow to create fill queues without NAPI Tony Nguyen
2026-07-29 20:44 ` [PATCH net-next v6 04/15] libie: add control queue support Tony Nguyen
2026-07-29 20:44 ` [PATCH net-next v6 05/15] libie: add bookkeeping support for control queue messages Tony Nguyen
2026-07-29 20:44 ` [PATCH net-next v6 06/15] idpf: remove 'vport_params_reqd' field Tony Nguyen
2026-07-29 20:44 ` [PATCH net-next v6 07/15] idpf: remove unused code for getting RSS info from device Tony Nguyen
2026-07-29 20:44 ` [PATCH net-next v6 08/15] idpf: refactor idpf to use libie_pci APIs Tony Nguyen
2026-07-29 20:44 ` [PATCH net-next v6 09/15] idpf: refactor idpf to use libie control queues Tony Nguyen
2026-07-29 20:44 ` [PATCH net-next v6 10/15] idpf: make mbx_task queueing and cancelling more consistent Tony Nguyen
2026-07-29 20:44 ` [PATCH net-next v6 11/15] idpf: print a debug message and bail in case of non-event ctlq message Tony Nguyen
2026-07-29 20:44 ` [PATCH net-next v6 12/15] ixd: add basic driver framework for Intel(R) Control Plane Function Tony Nguyen
2026-07-29 20:45 ` [PATCH net-next v6 13/15] ixd: add reset checks and initialize the mailbox Tony Nguyen
2026-07-29 20:45 ` [PATCH net-next v6 14/15] ixd: add the core initialization Tony Nguyen
2026-07-29 20:45 ` [PATCH net-next v6 15/15] ixd: add devlink support Tony Nguyen
2026-07-31 15:57 ` Tony Nguyen [this message]
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=b6efc438-20ae-4683-8e15-16845efa9aef@intel.com \
--to=anthony.l.nguyen@intel.com \
--cc=aleksander.lobakin@intel.com \
--cc=andrew+netdev@lunn.ch \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=emil.s.tantilov@intel.com \
--cc=horms@kernel.org \
--cc=jacob.e.keller@intel.com \
--cc=jayaprakash.shanmugam@intel.com \
--cc=jiri@resnulli.us \
--cc=joshua.a.hay@intel.com \
--cc=kuba@kernel.org \
--cc=larysa.zaremba@intel.com \
--cc=linux-doc@vger.kernel.org \
--cc=maciej.fijalkowski@intel.com \
--cc=madhu.chittim@intel.com \
--cc=michal.swiatkowski@linux.intel.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=przemyslaw.kitszel@intel.com \
--cc=richardcochran@gmail.com \
--cc=skhan@linuxfoundation.org \
--cc=sridhar.samudrala@intel.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