RE: [Intel-wired-lan] [PATCH iwl-next v7 13/14] ixd: add the core initialization

From: Loktionov, Aleksandr

Date: Tue Apr 28 2026 - 04:51:39 EST




> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf
> Of Larysa Zaremba
> Sent: Tuesday, April 28, 2026 10:27 AM
> To: intel-wired-lan@xxxxxxxxxxxxxxxx; Nguyen, Anthony L
> <anthony.l.nguyen@xxxxxxxxx>
> Cc: Lobakin, Aleksander <aleksander.lobakin@xxxxxxxxx>; Samudrala,
> Sridhar <sridhar.samudrala@xxxxxxxxx>; Michal Swiatkowski
> <michal.swiatkowski@xxxxxxxxxxxxxxx>; Zaremba, Larysa
> <larysa.zaremba@xxxxxxxxx>; Fijalkowski, Maciej
> <maciej.fijalkowski@xxxxxxxxx>; Tantilov, Emil S
> <emil.s.tantilov@xxxxxxxxx>; Chittim, Madhu <madhu.chittim@xxxxxxxxx>;
> Hay, Joshua A <joshua.a.hay@xxxxxxxxx>; Keller, Jacob E
> <jacob.e.keller@xxxxxxxxx>; Shanmugam, Jayaprakash
> <jayaprakash.shanmugam@xxxxxxxxx>; Jiri Pirko <jiri@xxxxxxxxxxx>;
> David S. Miller <davem@xxxxxxxxxxxxx>; Eric Dumazet
> <edumazet@xxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; Paolo Abeni
> <pabeni@xxxxxxxxxx>; Simon Horman <horms@xxxxxxxxxx>; Jonathan Corbet
> <corbet@xxxxxxx>; Richard Cochran <richardcochran@xxxxxxxxx>; Kitszel,
> Przemyslaw <przemyslaw.kitszel@xxxxxxxxx>; Andrew Lunn
> <andrew+netdev@xxxxxxx>; netdev@xxxxxxxxxxxxxxx; linux-
> doc@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; R, Bharath
> <bharath.r@xxxxxxxxx>
> Subject: [Intel-wired-lan] [PATCH iwl-next v7 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 <amritha.nambiar@xxxxxxxxx>
> Signed-off-by: Amritha Nambiar <amritha.nambiar@xxxxxxxxx>
> Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@xxxxxxxxx>
> Signed-off-by: Larysa Zaremba <larysa.zaremba@xxxxxxxxx>
> Tested-by: Bharath R <Bharath.r@xxxxxxxxx>
> Signed-off-by: Tony Nguyen <anthony.l.nguyen@xxxxxxxxx>
> ---
> 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

...

> diff --git a/drivers/net/ethernet/intel/ixd/ixd_ctlq.h
> b/drivers/net/ethernet/intel/ixd/ixd_ctlq.h
> new file mode 100644
> index 000000000000..f450a3a0828f
> --- /dev/null
> +++ b/drivers/net/ethernet/intel/ixd/ixd_ctlq.h
> @@ -0,0 +1,33 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/* Copyright (C) 2025 Intel Corporation */
> +
> +#ifndef _IXD_CTLQ_H_
> +#define _IXD_CTLQ_H_
> +
> +#include "linux/intel/virtchnl2.h"
Every other file use #include <linux/intel/virtchnl2.h> why do you need #include "linux/intel/virtchnl2.h" here?
Please explain

> +
> +#define IXD_CTLQ_TIMEOUT 2000
> +

...

> --
> 2.47.0