[Intel-wired-lan] [PATCH iwl-next v7 13/14] ixd: add the core initialization
Loktionov, Aleksandr
aleksandr.loktionov at intel.com
Tue Apr 28 08:50:54 UTC 2026
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces at osuosl.org> On Behalf
> Of Larysa Zaremba
> Sent: Tuesday, April 28, 2026 10:27 AM
> To: intel-wired-lan at lists.osuosl.org; Nguyen, Anthony L
> <anthony.l.nguyen at intel.com>
> Cc: Lobakin, Aleksander <aleksander.lobakin at intel.com>; Samudrala,
> Sridhar <sridhar.samudrala at intel.com>; Michal Swiatkowski
> <michal.swiatkowski at linux.intel.com>; Zaremba, Larysa
> <larysa.zaremba at intel.com>; Fijalkowski, Maciej
> <maciej.fijalkowski at intel.com>; Tantilov, Emil S
> <emil.s.tantilov at intel.com>; Chittim, Madhu <madhu.chittim at intel.com>;
> Hay, Joshua A <joshua.a.hay at intel.com>; Keller, Jacob E
> <jacob.e.keller at intel.com>; Shanmugam, Jayaprakash
> <jayaprakash.shanmugam at intel.com>; Jiri Pirko <jiri at resnulli.us>;
> David S. Miller <davem at davemloft.net>; Eric Dumazet
> <edumazet at google.com>; Jakub Kicinski <kuba at kernel.org>; Paolo Abeni
> <pabeni at redhat.com>; Simon Horman <horms at kernel.org>; Jonathan Corbet
> <corbet at lwn.net>; Richard Cochran <richardcochran at gmail.com>; Kitszel,
> Przemyslaw <przemyslaw.kitszel at intel.com>; Andrew Lunn
> <andrew+netdev at lunn.ch>; netdev at vger.kernel.org; linux-
> doc at vger.kernel.org; linux-kernel at vger.kernel.org; R, Bharath
> <bharath.r at intel.com>
> 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 at intel.com>
> Signed-off-by: Amritha Nambiar <amritha.nambiar at intel.com>
> Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski at intel.com>
> Signed-off-by: Larysa Zaremba <larysa.zaremba at intel.com>
> Tested-by: Bharath R <Bharath.r at intel.com>
> Signed-off-by: Tony Nguyen <anthony.l.nguyen at intel.com>
> ---
> 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
More information about the Intel-wired-lan
mailing list