From: Simon Horman <horms@kernel.org>
To: Mateusz Polchlopek <mateusz.polchlopek@intel.com>
Cc: intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org,
Jacob Keller <jacob.e.keller@intel.com>,
Wojciech Drewek <wojciech.drewek@intel.com>
Subject: Re: [Intel-wired-lan] [PATCH iwl-next v7 04/12] iavf: add support for negotiating flexible RXDID format
Date: Sat, 8 Jun 2024 13:56:30 +0100 [thread overview]
Message-ID: <20240608125630.GT27689@kernel.org> (raw)
In-Reply-To: <20240604131400.13655-5-mateusz.polchlopek@intel.com>
On Tue, Jun 04, 2024 at 09:13:52AM -0400, Mateusz Polchlopek wrote:
> From: Jacob Keller <jacob.e.keller@intel.com>
>
> Enable support for VIRTCHNL_VF_OFFLOAD_RX_FLEX_DESC, to enable the VF
> driver the ability to determine what Rx descriptor formats are
> available. This requires sending an additional message during
> initialization and reset, the VIRTCHNL_OP_GET_SUPPORTED_RXDIDS. This
> operation requests the supported Rx descriptor IDs available from the
> PF.
>
> This is treated the same way that VLAN V2 capabilities are handled. Add
> a new set of extended capability flags, used to process send and receipt
> of the VIRTCHNL_OP_GET_SUPPORTED_RXDIDS message.
>
> This ensures we finish negotiating for the supported descriptor formats
> prior to beginning configuration of receive queues.
>
> This change stores the supported format bitmap into the iavf_adapter
> structure. Additionally, if VIRTCHNL_VF_OFFLOAD_RX_FLEX_DESC is enabled
> by the PF, we need to make sure that the Rx queue configuration
> specifies the format.
>
> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
> Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
> Co-developed-by: Mateusz Polchlopek <mateusz.polchlopek@intel.com>
> Signed-off-by: Mateusz Polchlopek <mateusz.polchlopek@intel.com>
Hi Mateusz, Jacob, all,
The nit below notwithstanding, this looks good to me.
Reviewed-by: Simon Horman <horms@kernel.org>
...
> @@ -262,6 +276,45 @@ int iavf_get_vf_vlan_v2_caps(struct iavf_adapter *adapter)
> return err;
> }
>
> +int iavf_get_vf_supported_rxdids(struct iavf_adapter *adapter)
> +{
> + struct iavf_hw *hw = &adapter->hw;
> + struct iavf_arq_event_info event;
> + enum virtchnl_ops op;
> + enum iavf_status err;
> + u16 len;
> +
> + len = sizeof(struct virtchnl_supported_rxdids);
> + event.buf_len = len;
> + event.msg_buf = kzalloc(event.buf_len, GFP_KERNEL);
> + if (!event.msg_buf) {
> + err = -ENOMEM;
> + goto out;
> + }
> +
> + while (1) {
> + /* When the AQ is empty, iavf_clean_arq_element will return
> + * nonzero and this loop will terminate.
> + */
> + err = iavf_clean_arq_element(hw, &event, NULL);
> + if (err != IAVF_SUCCESS)
> + goto out_alloc;
> + op = (enum virtchnl_ops)le32_to_cpu(event.desc.cookie_high);
> + if (op == VIRTCHNL_OP_GET_SUPPORTED_RXDIDS)
> + break;
> + }
> +
> + err = (enum iavf_status)le32_to_cpu(event.desc.cookie_low);
> + if (err)
> + goto out_alloc;
> +
> + memcpy(&adapter->supported_rxdids, event.msg_buf, min(event.msg_len, len));
If you need to respin for some other reason,
please consider wrapping the above to <= 80 columns wide.
Likewise for the 2nd call to iavf_ptp_cap_supported() in
iavf_ptp_process_caps() in
[PATCH v7 06/12] iavf: add initial framework for registering PTP clock
Flagged by: checkpatch.pl --max-line-length=80
> +out_alloc:
> + kfree(event.msg_buf);
> +out:
> + return err;
> +}
> +
> /**
> * iavf_configure_queues
> * @adapter: adapter structure
...
next prev parent reply other threads:[~2024-06-08 12:56 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-04 13:13 [Intel-wired-lan] [PATCH iwl-next v7 00/12] Add support for Rx timestamping for both ice and iavf drivers Mateusz Polchlopek
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 01/12] virtchnl: add support for enabling PTP on iAVF Mateusz Polchlopek
2024-06-08 12:55 ` Simon Horman
2024-06-10 10:18 ` Mateusz Polchlopek
2024-06-10 18:35 ` Jacob Keller
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 02/12] ice: support Rx timestamp on flex descriptor Mateusz Polchlopek
2024-06-08 12:56 ` Simon Horman
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 03/12] virtchnl: add enumeration for the rxdid format Mateusz Polchlopek
2024-06-08 12:57 ` Simon Horman
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 04/12] iavf: add support for negotiating flexible RXDID format Mateusz Polchlopek
2024-06-08 12:56 ` Simon Horman [this message]
2024-06-08 12:58 ` Simon Horman
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 05/12] iavf: negotiate PTP capabilities Mateusz Polchlopek
2024-06-08 12:58 ` Simon Horman
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 06/12] iavf: add initial framework for registering PTP clock Mateusz Polchlopek
2024-06-08 12:58 ` Simon Horman
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 07/12] iavf: add support for indirect access to PHC time Mateusz Polchlopek
2024-06-08 12:59 ` Simon Horman
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 08/12] iavf: periodically cache " Mateusz Polchlopek
2024-06-08 12:59 ` Simon Horman
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 09/12] iavf: refactor iavf_clean_rx_irq to support legacy and flex descriptors Mateusz Polchlopek
2024-06-08 12:59 ` Simon Horman
2024-06-11 11:47 ` Alexander Lobakin
2024-06-11 20:52 ` Jacob Keller
2024-06-12 11:51 ` Przemek Kitszel
2024-06-12 12:33 ` Alexander Lobakin
2024-06-21 14:21 ` Alexander Lobakin
2024-06-21 15:08 ` Tony Nguyen
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 10/12] iavf: Implement checking DD desc field Mateusz Polchlopek
2024-06-08 12:59 ` Simon Horman
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 11/12] iavf: handle set and get timestamps ops Mateusz Polchlopek
2024-06-08 13:00 ` Simon Horman
2024-06-04 13:14 ` [Intel-wired-lan] [PATCH iwl-next v7 12/12] iavf: add support for Rx timestamps to hotpath Mateusz Polchlopek
2024-06-08 13:00 ` Simon Horman
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=20240608125630.GT27689@kernel.org \
--to=horms@kernel.org \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=jacob.e.keller@intel.com \
--cc=mateusz.polchlopek@intel.com \
--cc=netdev@vger.kernel.org \
--cc=wojciech.drewek@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).