Linux Documentation
 help / color / mirror / Atom feed
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



      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