> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf
> Of Larysa Zaremba
> Sent: Monday, March 23, 2026 6:41 PM
> To: [email protected]; Nguyen, Anthony L
> <[email protected]>
> Cc: Lobakin, Aleksander <[email protected]>; Samudrala,
> Sridhar <[email protected]>; Singhai, Anjali
> <[email protected]>; Michal Swiatkowski
> <[email protected]>; Zaremba, Larysa
> <[email protected]>; Fijalkowski, Maciej
> <[email protected]>; Tantilov, Emil S
> <[email protected]>; Chittim, Madhu <[email protected]>;
> Hay, Joshua A <[email protected]>; Keller, Jacob E
> <[email protected]>; Shanmugam, Jayaprakash
> <[email protected]>; Jiri Pirko <[email protected]>;
> David S. Miller <[email protected]>; Eric Dumazet
> <[email protected]>; Jakub Kicinski <[email protected]>; Paolo Abeni
> <[email protected]>; Simon Horman <[email protected]>; Jonathan Corbet
> <[email protected]>; Richard Cochran <[email protected]>; Kitszel,
> Przemyslaw <[email protected]>; Andrew Lunn
> <[email protected]>; [email protected]; linux-
> [email protected]; [email protected]
> Subject: [Intel-wired-lan] [PATCH iwl-next v6 13/14] ixd: add the core
> initialization
>
> As the mailbox is setup, initialize the core. This makes use of the
> send and receive mailbox message framework for virtchnl communication
> between the driver and device Control Plane (CP).
>
> To start with, driver confirms the virtchnl version with the CP. Once
> that is done, it requests and gets the required capabilities and
> resources needed such as max vectors, queues, vports etc.
>
> Use a unified way of handling the virtchnl messages, where a single
> function handles all related memory management and the caller only
> provides the callbacks to fill the send buffer and to handle the
> response.
>
> Place generic control queue message handling separately to facilitate
> the addition of protocols other than virtchannel in the future.
>
> Co-developed-by: Amritha Nambiar <[email protected]>
> Signed-off-by: Amritha Nambiar <[email protected]>
> Reviewed-by: Maciej Fijalkowski <[email protected]>
> Signed-off-by: Larysa Zaremba <[email protected]>
> Tested-by: Bharath R <[email protected]>
> Signed-off-by: Tony Nguyen <[email protected]>
> ---
> drivers/net/ethernet/intel/ixd/Makefile | 2 +
> drivers/net/ethernet/intel/ixd/ixd.h | 10 +
> drivers/net/ethernet/intel/ixd/ixd_ctlq.c | 149 +++++++++++++++
> drivers/net/ethernet/intel/ixd/ixd_ctlq.h | 33 ++++
> drivers/net/ethernet/intel/ixd/ixd_lib.c | 25 ++-
> drivers/net/ethernet/intel/ixd/ixd_main.c | 3 +
> drivers/net/ethernet/intel/ixd/ixd_virtchnl.c | 178
> ++++++++++++++++++ drivers/net/ethernet/intel/ixd/ixd_virtchnl.h |
> 12 ++
> 8 files changed, 411 insertions(+), 1 deletion(-) create mode 100644
> drivers/net/ethernet/intel/ixd/ixd_ctlq.c
> create mode 100644 drivers/net/ethernet/intel/ixd/ixd_ctlq.h
> create mode 100644 drivers/net/ethernet/intel/ixd/ixd_virtchnl.c
> create mode 100644 drivers/net/ethernet/intel/ixd/ixd_virtchnl.h
>
> diff --git a/drivers/net/ethernet/intel/ixd/Makefile
> b/drivers/net/ethernet/intel/ixd/Makefile
> index 164b2c86952f..90abf231fb16 100644
> --- a/drivers/net/ethernet/intel/ixd/Makefile
> +++ b/drivers/net/ethernet/intel/ixd/Makefile
> @@ -6,5 +6,7 @@
> obj-$(CONFIG_IXD) += ixd.o
>
> ixd-y := ixd_main.o
> +ixd-y += ixd_ctlq.o
> ixd-y += ixd_dev.o
> ixd-y += ixd_lib.o
> +ixd-y += ixd_virtchnl.o
> diff --git a/drivers/net/ethernet/intel/ixd/ixd.h
> b/drivers/net/ethernet/intel/ixd/ixd.h
> index 99c44f2aa659..98d1f22534b5 100644
> --- a/drivers/net/ethernet/intel/ixd/ixd.h
> +++ b/drivers/net/ethernet/intel/ixd/ixd.h
> @@ -10,19 +10,29 @@
> * struct ixd_adapter - Data structure representing a CPF
> * @cp_ctx: Control plane communication context
> * @init_task: Delayed initialization after reset
...
> +#endif /* _IXD_VIRTCHNL_H_ */
> --
> 2.47.0
Reviewed-by: Aleksandr Loktionov <[email protected]>