From: Simon Horman <horms@kernel.org>
To: Larysa Zaremba <larysa.zaremba@intel.com>
Cc: intel-wired-lan@lists.osuosl.org,
Tony Nguyen <anthony.l.nguyen@intel.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Jonathan Corbet <corbet@lwn.net>,
Przemek Kitszel <przemyslaw.kitszel@intel.com>,
Jiri Pirko <jiri@resnulli.us>,
Mustafa Ismail <mustafa.ismail@intel.com>,
Tatyana Nikolova <tatyana.e.nikolova@intel.com>,
Andrew Lunn <andrew+netdev@lunn.ch>,
Alexander Lobakin <aleksander.lobakin@intel.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Maciej Fijalkowski <maciej.fijalkowski@intel.com>,
Lee Trager <lee@trager.us>,
Madhavan Srinivasan <maddy@linux.ibm.com>,
Sridhar Samudrala <sridhar.samudrala@intel.com>,
Jacob Keller <jacob.e.keller@intel.com>,
Michal Swiatkowski <michal.swiatkowski@linux.intel.com>,
Mateusz Polchlopek <mateusz.polchlopek@intel.com>,
Wenjun Wu <wenjun1.wu@intel.com>,
Ahmed Zaki <ahmed.zaki@intel.com>,
netdev@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, "Karlsson,
Magnus" <magnus.karlsson@intel.com>,
Emil Tantilov <emil.s.tantilov@intel.com>,
Madhu Chittim <madhu.chittim@intel.com>,
Josh Hay <joshua.a.hay@intel.com>,
Milena Olech <milena.olech@intel.com>,
pavan.kumar.linga@intel.com, "Singhai,
Anjali" <anjali.singhai@intel.com>,
Michal Kubiak <michal.kubiak@intel.com>
Subject: Re: [Intel-wired-lan] [PATCH iwl-next 08/14] idpf: refactor idpf to use libeth controlq and Xn APIs
Date: Mon, 21 Apr 2025 15:25:05 +0100 [thread overview]
Message-ID: <20250421142505.GJ2789685@horms.kernel.org> (raw)
In-Reply-To: <20250408124816.11584-9-larysa.zaremba@intel.com>
On Tue, Apr 08, 2025 at 02:47:54PM +0200, Larysa Zaremba wrote:
> From: Pavan Kumar Linga <pavan.kumar.linga@intel.com>
>
> Support to initialize and configure controlq, Xn manager,
> MMIO and reset APIs was introduced in libeth. As part of it,
> most of the existing controlq structures are renamed and
> modified. Use those APIs in idpf and make all the necessary changes.
>
> Previously for the send and receive virtchnl messages, there
> used to be a memcpy involved in controlq code to copy the buffer
> info passed by the send function into the controlq specific
> buffers. There was no restriction to use automatic memory
> in that case. The new implementation in libeth removed copying
> of the send buffer info and introduced DMA mapping of the
> send buffer itself. To accommodate it, use dynamic memory for
> the send buffers. In case of receive, idpf receives a page pool
> buffer allocated by the libeth and care should be taken to
> release it after use in the idpf.
>
> The changes are fairly trivial and localized, with a notable exception
> being the consolidation of idpf_vc_xn_shutdown and idpf_deinit_dflt_mbx
> under the latter name. This has some additional consequences that are
> addressed in the following patches.
>
> Signed-off-by: Pavan Kumar Linga <pavan.kumar.linga@intel.com>
> Reviewed-by: Michal Kubiak <michal.kubiak@intel.com>
> Signed-off-by: Larysa Zaremba <larysa.zaremba@intel.com>
...
> diff --git a/drivers/net/ethernet/intel/idpf/idpf.h b/drivers/net/ethernet/intel/idpf/idpf.h
...
> @@ -488,7 +486,10 @@ struct idpf_vc_xn_manager;
> * @state: Init state machine
> * @flags: See enum idpf_flags
> * @reset_reg: See struct idpf_reset_reg
> - * @hw: Device access data
> + * @ctlq_ctx: controlq context
> + * @asq: Send control queue info
> + * @arq: Receive control queue info
> + * @xn_init_params: Xn transaction manager parameters
> * @num_req_msix: Requested number of MSIX vectors
> * @num_avail_msix: Available number of MSIX vectors
> * @num_msix_entries: Number of entries in MSIX table
> @@ -540,7 +541,10 @@ struct idpf_adapter {
> enum idpf_state state;
> DECLARE_BITMAP(flags, IDPF_FLAGS_NBITS);
> struct idpf_reset_reg reset_reg;
> - struct idpf_hw hw;
> + struct libeth_ctlq_ctx ctlq_ctx;
> + struct libeth_ctlq_info *asq;
> + struct libeth_ctlq_info *arq;
> + struct libeth_ctlq_xn_init_params xn_init_params;
> u16 num_req_msix;
> u16 num_avail_msix;
> u16 num_msix_entries;
> @@ -573,7 +577,6 @@ struct idpf_adapter {
> struct delayed_work stats_task;
> struct workqueue_struct *stats_wq;
> struct virtchnl2_get_capabilities caps;
> - struct idpf_vc_xn_manager *vcxn_mngr;
nit: Please also drop the vcxn_mngr from the Kernel doc for struct idpf_adapter.
>
> struct idpf_dev_ops dev_ops;
> int num_vfs;
WARNING: multiple messages have this Message-ID (diff)
From: Simon Horman <horms@kernel.org>
To: Larysa Zaremba <larysa.zaremba@intel.com>
Cc: intel-wired-lan@lists.osuosl.org,
Tony Nguyen <anthony.l.nguyen@intel.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Jonathan Corbet <corbet@lwn.net>,
Przemek Kitszel <przemyslaw.kitszel@intel.com>,
Jiri Pirko <jiri@resnulli.us>,
Mustafa Ismail <mustafa.ismail@intel.com>,
Tatyana Nikolova <tatyana.e.nikolova@intel.com>,
Andrew Lunn <andrew+netdev@lunn.ch>,
Alexander Lobakin <aleksander.lobakin@intel.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Maciej Fijalkowski <maciej.fijalkowski@intel.com>,
Lee Trager <lee@trager.us>,
Madhavan Srinivasan <maddy@linux.ibm.com>,
Sridhar Samudrala <sridhar.samudrala@intel.com>,
Jacob Keller <jacob.e.keller@intel.com>,
Michal Swiatkowski <michal.swiatkowski@linux.intel.com>,
Mateusz Polchlopek <mateusz.polchlopek@intel.com>,
Wenjun Wu <wenjun1.wu@intel.com>,
Ahmed Zaki <ahmed.zaki@intel.com>,
netdev@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, "Karlsson,
Magnus" <magnus.karlsson@intel.com>,
Emil Tantilov <emil.s.tantilov@intel.com>,
Madhu Chittim <madhu.chittim@intel.com>,
Josh Hay <joshua.a.hay@intel.com>,
Milena Olech <milena.olech@intel.com>,
pavan.kumar.linga@intel.com, "Singhai,
Anjali" <anjali.singhai@intel.com>,
Michal Kubiak <michal.kubiak@intel.com>
Subject: Re: [PATCH iwl-next 08/14] idpf: refactor idpf to use libeth controlq and Xn APIs
Date: Mon, 21 Apr 2025 15:25:05 +0100 [thread overview]
Message-ID: <20250421142505.GJ2789685@horms.kernel.org> (raw)
In-Reply-To: <20250408124816.11584-9-larysa.zaremba@intel.com>
On Tue, Apr 08, 2025 at 02:47:54PM +0200, Larysa Zaremba wrote:
> From: Pavan Kumar Linga <pavan.kumar.linga@intel.com>
>
> Support to initialize and configure controlq, Xn manager,
> MMIO and reset APIs was introduced in libeth. As part of it,
> most of the existing controlq structures are renamed and
> modified. Use those APIs in idpf and make all the necessary changes.
>
> Previously for the send and receive virtchnl messages, there
> used to be a memcpy involved in controlq code to copy the buffer
> info passed by the send function into the controlq specific
> buffers. There was no restriction to use automatic memory
> in that case. The new implementation in libeth removed copying
> of the send buffer info and introduced DMA mapping of the
> send buffer itself. To accommodate it, use dynamic memory for
> the send buffers. In case of receive, idpf receives a page pool
> buffer allocated by the libeth and care should be taken to
> release it after use in the idpf.
>
> The changes are fairly trivial and localized, with a notable exception
> being the consolidation of idpf_vc_xn_shutdown and idpf_deinit_dflt_mbx
> under the latter name. This has some additional consequences that are
> addressed in the following patches.
>
> Signed-off-by: Pavan Kumar Linga <pavan.kumar.linga@intel.com>
> Reviewed-by: Michal Kubiak <michal.kubiak@intel.com>
> Signed-off-by: Larysa Zaremba <larysa.zaremba@intel.com>
...
> diff --git a/drivers/net/ethernet/intel/idpf/idpf.h b/drivers/net/ethernet/intel/idpf/idpf.h
...
> @@ -488,7 +486,10 @@ struct idpf_vc_xn_manager;
> * @state: Init state machine
> * @flags: See enum idpf_flags
> * @reset_reg: See struct idpf_reset_reg
> - * @hw: Device access data
> + * @ctlq_ctx: controlq context
> + * @asq: Send control queue info
> + * @arq: Receive control queue info
> + * @xn_init_params: Xn transaction manager parameters
> * @num_req_msix: Requested number of MSIX vectors
> * @num_avail_msix: Available number of MSIX vectors
> * @num_msix_entries: Number of entries in MSIX table
> @@ -540,7 +541,10 @@ struct idpf_adapter {
> enum idpf_state state;
> DECLARE_BITMAP(flags, IDPF_FLAGS_NBITS);
> struct idpf_reset_reg reset_reg;
> - struct idpf_hw hw;
> + struct libeth_ctlq_ctx ctlq_ctx;
> + struct libeth_ctlq_info *asq;
> + struct libeth_ctlq_info *arq;
> + struct libeth_ctlq_xn_init_params xn_init_params;
> u16 num_req_msix;
> u16 num_avail_msix;
> u16 num_msix_entries;
> @@ -573,7 +577,6 @@ struct idpf_adapter {
> struct delayed_work stats_task;
> struct workqueue_struct *stats_wq;
> struct virtchnl2_get_capabilities caps;
> - struct idpf_vc_xn_manager *vcxn_mngr;
nit: Please also drop the vcxn_mngr from the Kernel doc for struct idpf_adapter.
>
> struct idpf_dev_ops dev_ops;
> int num_vfs;
next prev parent reply other threads:[~2025-04-21 14:25 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-08 12:47 [Intel-wired-lan] [PATCH iwl-next 00/14] Introduce iXD driver Larysa Zaremba
2025-04-08 12:47 ` Larysa Zaremba
2025-04-08 12:47 ` [Intel-wired-lan] [PATCH iwl-next 01/14] virtchnl: create 'include/linux/intel' and move necessary header files Larysa Zaremba
2025-04-08 12:47 ` Larysa Zaremba
2025-04-15 18:53 ` [Intel-wired-lan] " Tony Nguyen
2025-04-15 18:53 ` Tony Nguyen
2025-04-08 12:47 ` [Intel-wired-lan] [PATCH iwl-next 02/14] virtchnl: introduce control plane version fields Larysa Zaremba
2025-04-08 12:47 ` Larysa Zaremba
2025-04-08 12:47 ` [Intel-wired-lan] [PATCH iwl-next 03/14] libeth: add PCI device initialization helpers to libeth Larysa Zaremba
2025-04-08 12:47 ` Larysa Zaremba
2025-04-21 14:08 ` [Intel-wired-lan] " Simon Horman
2025-04-21 14:08 ` Simon Horman
2025-04-08 12:47 ` [Intel-wired-lan] [PATCH iwl-next 04/14] libeth: allow to create fill queues without NAPI Larysa Zaremba
2025-04-08 12:47 ` Larysa Zaremba
2025-04-08 12:47 ` [Intel-wired-lan] [PATCH iwl-next 05/14] libeth: add control queue support Larysa Zaremba
2025-04-08 12:47 ` Larysa Zaremba
2025-04-10 8:21 ` [Intel-wired-lan] " Leon Romanovsky
2025-04-10 8:21 ` Leon Romanovsky
2025-04-10 10:44 ` [Intel-wired-lan] " Larysa Zaremba
2025-04-10 10:44 ` Larysa Zaremba
2025-04-10 11:23 ` [Intel-wired-lan] " Leon Romanovsky
2025-04-10 11:23 ` Leon Romanovsky
2025-04-10 12:58 ` [Intel-wired-lan] " Larysa Zaremba
2025-04-10 12:58 ` Larysa Zaremba
2025-04-10 13:27 ` [Intel-wired-lan] " Leon Romanovsky
2025-04-10 13:27 ` Leon Romanovsky
2025-04-10 13:33 ` [Intel-wired-lan] " Alexander Lobakin
2025-04-10 13:33 ` Alexander Lobakin
2025-04-10 13:58 ` [Intel-wired-lan] " Leon Romanovsky
2025-04-10 13:58 ` Leon Romanovsky
2025-04-10 14:04 ` [Intel-wired-lan] " Alexander Lobakin
2025-04-10 14:04 ` Alexander Lobakin
2025-04-10 13:05 ` [Intel-wired-lan] " Alexander Lobakin
2025-04-10 13:05 ` Alexander Lobakin
2025-04-10 13:44 ` [Intel-wired-lan] " Leon Romanovsky
2025-04-10 13:44 ` Leon Romanovsky
2025-04-10 13:59 ` [Intel-wired-lan] " Larysa Zaremba
2025-04-10 13:59 ` Larysa Zaremba
2025-04-11 17:18 ` [Intel-wired-lan] " Leon Romanovsky
2025-04-11 17:18 ` Leon Romanovsky
2025-04-10 14:00 ` [Intel-wired-lan] " Alexander Lobakin
2025-04-08 12:47 ` [Intel-wired-lan] [PATCH iwl-next 06/14] libeth: add bookkeeping support for control queue messages Larysa Zaremba
2025-04-08 12:47 ` Larysa Zaremba
2025-04-15 18:54 ` [Intel-wired-lan] " Tony Nguyen
2025-04-15 18:54 ` Tony Nguyen
2025-04-21 14:19 ` [Intel-wired-lan] " Simon Horman
2025-04-21 14:19 ` Simon Horman
2025-04-08 12:47 ` [Intel-wired-lan] [PATCH iwl-next 07/14] idpf: remove 'vport_params_reqd' field Larysa Zaremba
2025-04-08 12:47 ` Larysa Zaremba
2025-04-08 12:47 ` [Intel-wired-lan] [PATCH iwl-next 08/14] idpf: refactor idpf to use libeth controlq and Xn APIs Larysa Zaremba
2025-04-08 12:47 ` Larysa Zaremba
2025-04-21 14:25 ` Simon Horman [this message]
2025-04-21 14:25 ` Simon Horman
2025-04-08 12:47 ` [Intel-wired-lan] [PATCH iwl-next 09/14] idpf: make mbx_task queueing and cancelling more consistent Larysa Zaremba
2025-04-08 12:47 ` Larysa Zaremba
2025-04-08 12:47 ` [Intel-wired-lan] [PATCH iwl-next 10/14] idpf: print a debug message and bail in case of non-event ctlq message Larysa Zaremba
2025-04-08 12:47 ` Larysa Zaremba
2025-04-08 12:47 ` [Intel-wired-lan] [PATCH iwl-next 11/14] ixd: add basic driver framework for Intel(R) Control Plane Function Larysa Zaremba
2025-04-08 12:47 ` Larysa Zaremba
2025-04-08 12:47 ` [Intel-wired-lan] [PATCH iwl-next 12/14] ixd: add reset checks and initialize the mailbox Larysa Zaremba
2025-04-08 12:47 ` Larysa Zaremba
2025-04-08 12:47 ` [Intel-wired-lan] [PATCH iwl-next 13/14] ixd: add the core initialization Larysa Zaremba
2025-04-08 12:47 ` Larysa Zaremba
2025-04-08 12:48 ` [Intel-wired-lan] [PATCH iwl-next 14/14] ixd: add devlink support Larysa Zaremba
2025-04-08 12:48 ` Larysa Zaremba
2025-04-15 18:54 ` [Intel-wired-lan] " Tony Nguyen
2025-04-15 18:54 ` Tony Nguyen
2025-04-16 15:49 ` [Intel-wired-lan] [PATCH iwl-next 00/14] Introduce iXD driver Alexander Lobakin
2025-04-16 15:49 ` Alexander Lobakin
2025-04-16 16:23 ` [Intel-wired-lan] " Keller, Jacob E
2025-04-16 16:23 ` Keller, Jacob E
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=20250421142505.GJ2789685@horms.kernel.org \
--to=horms@kernel.org \
--cc=ahmed.zaki@intel.com \
--cc=aleksander.lobakin@intel.com \
--cc=andrew+netdev@lunn.ch \
--cc=anjali.singhai@intel.com \
--cc=anthony.l.nguyen@intel.com \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=emil.s.tantilov@intel.com \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=jacob.e.keller@intel.com \
--cc=jiri@resnulli.us \
--cc=joshua.a.hay@intel.com \
--cc=kuba@kernel.org \
--cc=larysa.zaremba@intel.com \
--cc=lee@trager.us \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maciej.fijalkowski@intel.com \
--cc=maddy@linux.ibm.com \
--cc=madhu.chittim@intel.com \
--cc=magnus.karlsson@intel.com \
--cc=mateusz.polchlopek@intel.com \
--cc=michal.kubiak@intel.com \
--cc=michal.swiatkowski@linux.intel.com \
--cc=milena.olech@intel.com \
--cc=mpe@ellerman.id.au \
--cc=mustafa.ismail@intel.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pavan.kumar.linga@intel.com \
--cc=przemyslaw.kitszel@intel.com \
--cc=sridhar.samudrala@intel.com \
--cc=tatyana.e.nikolova@intel.com \
--cc=wenjun1.wu@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.