Re: [Intel-wired-lan] [PATCH iwl-next v7 13/14] ixd: add the core initialization
From: Larysa Zaremba
Date: Tue Apr 28 2026 - 10:14:14 EST
On Tue, Apr 28, 2026 at 10:50:54AM +0200, Loktionov, Aleksandr wrote:
>
>
> > -----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
This is a small oversight.
>
> > +
> > +#define IXD_CTLQ_TIMEOUT 2000
> > +
>
> ...
>
> > --
> > 2.47.0
>