From: Simon Horman <horms@kernel.org>
To: Mateusz Polchlopek <mateusz.polchlopek@intel.com>
Cc: Jacob Keller <jacob.e.keller@intel.com>,
netdev@vger.kernel.org, intel-wired-lan@lists.osuosl.org,
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
...
WARNING: multiple messages have this Message-ID (diff)
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: 67+ 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-04 13:13 ` Mateusz Polchlopek
2024-06-08 12:55 ` Simon Horman
2024-06-08 12:55 ` Simon Horman
2024-06-10 10:18 ` Mateusz Polchlopek
2024-06-10 10:18 ` Mateusz Polchlopek
2024-06-10 18:35 ` Jacob Keller
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-04 13:13 ` Mateusz Polchlopek
2024-06-08 12:56 ` Simon Horman
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-04 13:13 ` Mateusz Polchlopek
2024-06-08 12:57 ` Simon Horman
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-04 13:13 ` Mateusz Polchlopek
2024-06-08 12:56 ` Simon Horman [this message]
2024-06-08 12:56 ` Simon Horman
2024-06-08 12:58 ` Simon Horman
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-04 13:13 ` Mateusz Polchlopek
2024-06-08 12:58 ` Simon Horman
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-04 13:13 ` Mateusz Polchlopek
2024-06-08 12:58 ` Simon Horman
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-04 13:13 ` Mateusz Polchlopek
2024-06-08 12:59 ` Simon Horman
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-04 13:13 ` Mateusz Polchlopek
2024-06-08 12:59 ` Simon Horman
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-04 13:13 ` Mateusz Polchlopek
2024-06-08 12:59 ` Simon Horman
2024-06-08 12:59 ` Simon Horman
2024-06-11 11:47 ` Alexander Lobakin
2024-06-11 11:47 ` Alexander Lobakin
2024-06-11 20:52 ` Jacob Keller
2024-06-11 20:52 ` Jacob Keller
2024-06-12 11:51 ` Przemek Kitszel
2024-06-12 11:51 ` Przemek Kitszel
2024-06-12 12:33 ` Alexander Lobakin
2024-06-12 12:33 ` Alexander Lobakin
2024-06-21 14:21 ` Alexander Lobakin
2024-06-21 14:21 ` Alexander Lobakin
2024-06-21 15:08 ` Tony Nguyen
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-04 13:13 ` Mateusz Polchlopek
2024-06-08 12:59 ` Simon Horman
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-04 13:13 ` Mateusz Polchlopek
2024-06-08 13:00 ` Simon Horman
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-04 13:14 ` Mateusz Polchlopek
2024-06-08 13:00 ` Simon Horman
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 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.