* [PATCH iwl-net] idpf: fix LAN memory regions command on some NVMs
@ 2025-10-07 11:46 Larysa Zaremba
2025-10-07 12:06 ` [Intel-wired-lan] " Paul Menzel
2025-11-24 19:37 ` Singh, Krishneil K
0 siblings, 2 replies; 4+ messages in thread
From: Larysa Zaremba @ 2025-10-07 11:46 UTC (permalink / raw)
To: intel-wired-lan, Tony Nguyen
Cc: Larysa Zaremba, Przemek Kitszel, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Joshua Hay,
Chittim Madhu, netdev, linux-kernel, Emil Tantilov,
Michal Swiatkowski, Aleksandr Loktionov
IPU SDK versions 1.9 through 2.0.5 require send buffer to contain a single
empty memory region. Set number of regions to 1 and use appropriate send
buffer size to satisfy this requirement.
Suggested-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Signed-off-by: Larysa Zaremba <larysa.zaremba@intel.com>
---
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
index fa3ce1e4f6ac..af8b3ebee4d4 100644
--- a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
+++ b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
@@ -1016,6 +1016,9 @@ static int idpf_send_get_lan_memory_regions(struct idpf_adapter *adapter)
struct idpf_vc_xn_params xn_params = {
.vc_op = VIRTCHNL2_OP_GET_LAN_MEMORY_REGIONS,
.recv_buf.iov_len = IDPF_CTLQ_MAX_BUF_LEN,
+ .send_buf.iov_len =
+ sizeof(struct virtchnl2_get_lan_memory_regions) +
+ sizeof(struct virtchnl2_mem_region),
.timeout_ms = IDPF_VC_XN_DEFAULT_TIMEOUT_MSEC,
};
int num_regions, size;
@@ -1028,6 +1031,8 @@ static int idpf_send_get_lan_memory_regions(struct idpf_adapter *adapter)
return -ENOMEM;
xn_params.recv_buf.iov_base = rcvd_regions;
+ rcvd_regions->num_memory_regions = cpu_to_le16(1);
+ xn_params.send_buf.iov_base = rcvd_regions;
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
if (reply_sz < 0)
return reply_sz;
--
2.47.0
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [Intel-wired-lan] [PATCH iwl-net] idpf: fix LAN memory regions command on some NVMs
2025-10-07 11:46 [PATCH iwl-net] idpf: fix LAN memory regions command on some NVMs Larysa Zaremba
@ 2025-10-07 12:06 ` Paul Menzel
2025-10-07 12:44 ` Larysa Zaremba
2025-11-24 19:37 ` Singh, Krishneil K
1 sibling, 1 reply; 4+ messages in thread
From: Paul Menzel @ 2025-10-07 12:06 UTC (permalink / raw)
To: Larysa Zaremba
Cc: intel-wired-lan, Tony Nguyen, Przemek Kitszel, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Joshua Hay, Chittim Madhu, netdev, linux-kernel, Emil Tantilov,
Michal Swiatkowski, Aleksandr Loktionov
Dear Larysa,
Am 07.10.25 um 13:46 schrieb Larysa Zaremba:
> IPU SDK versions 1.9 through 2.0.5 require send buffer to contain a single
> empty memory region. Set number of regions to 1 and use appropriate send
> buffer size to satisfy this requirement.
Where are the SDK requirements documented?
What are the current SDK versions?
Do you have a reproducer?
> Suggested-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
> Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
> Signed-off-by: Larysa Zaremba <larysa.zaremba@intel.com>
> ---
> drivers/net/ethernet/intel/idpf/idpf_virtchnl.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
> index fa3ce1e4f6ac..af8b3ebee4d4 100644
> --- a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
> +++ b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
> @@ -1016,6 +1016,9 @@ static int idpf_send_get_lan_memory_regions(struct idpf_adapter *adapter)
> struct idpf_vc_xn_params xn_params = {
> .vc_op = VIRTCHNL2_OP_GET_LAN_MEMORY_REGIONS,
> .recv_buf.iov_len = IDPF_CTLQ_MAX_BUF_LEN,
> + .send_buf.iov_len =
> + sizeof(struct virtchnl2_get_lan_memory_regions) +
> + sizeof(struct virtchnl2_mem_region),
> .timeout_ms = IDPF_VC_XN_DEFAULT_TIMEOUT_MSEC,
> };
> int num_regions, size;
> @@ -1028,6 +1031,8 @@ static int idpf_send_get_lan_memory_regions(struct idpf_adapter *adapter)
> return -ENOMEM;
>
> xn_params.recv_buf.iov_base = rcvd_regions;
> + rcvd_regions->num_memory_regions = cpu_to_le16(1);
> + xn_params.send_buf.iov_base = rcvd_regions;
> reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
> if (reply_sz < 0)
> return reply_sz;
Kind regards,
Paul
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [Intel-wired-lan] [PATCH iwl-net] idpf: fix LAN memory regions command on some NVMs
2025-10-07 12:06 ` [Intel-wired-lan] " Paul Menzel
@ 2025-10-07 12:44 ` Larysa Zaremba
0 siblings, 0 replies; 4+ messages in thread
From: Larysa Zaremba @ 2025-10-07 12:44 UTC (permalink / raw)
To: Paul Menzel
Cc: intel-wired-lan, Tony Nguyen, Przemek Kitszel, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Joshua Hay, Chittim Madhu, netdev, linux-kernel, Emil Tantilov,
Michal Swiatkowski, Aleksandr Loktionov
On Tue, Oct 07, 2025 at 02:06:55PM +0200, Paul Menzel wrote:
> Dear Larysa,
>
>
> Am 07.10.25 um 13:46 schrieb Larysa Zaremba:
> > IPU SDK versions 1.9 through 2.0.5 require send buffer to contain a single
> > empty memory region. Set number of regions to 1 and use appropriate send
> > buffer size to satisfy this requirement.
>
> Where are the SDK requirements documented?
>
IPU SDK is a fancy name for the FW. AFAIK, aside idpf specification intel did
not publish any additional resources for it.
idpf specification [1] is unclear on the exact get command contents. What I am
fixing is the reality of the implementation of the NVMs that support CPFs too
(supported by ixd [0]).
> What are the current SDK versions?
2.1, I tested with 2.0.5 that was the latest when this patch was first
implemented in August.
>
> Do you have a reproducer?
I can reliably reproduce this on my machine with intel IPU SDK 2.0.5, the
command fails every time without this patch, causing the probe to fail. Also,
other developers such as Michal S reported such problem. It is most probably
present on older NVMs too, its just that the command was not used before the
RDMA patchset.
I have checked that the patch does not cause regression on the platforms that
use another idpf-only NVMs, used by most intel IPUs.
[0]
https://lore.kernel.org/netdev/20250516145814.5422-1-larysa.zaremba@intel.com/
[1]
https://github.com/oasis-tcs/idpf-specification/blob/main/idpf_specification.pdf
>
> > Suggested-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
> > Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
> > Signed-off-by: Larysa Zaremba <larysa.zaremba@intel.com>
> > ---
> > drivers/net/ethernet/intel/idpf/idpf_virtchnl.c | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
> > index fa3ce1e4f6ac..af8b3ebee4d4 100644
> > --- a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
> > +++ b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
> > @@ -1016,6 +1016,9 @@ static int idpf_send_get_lan_memory_regions(struct idpf_adapter *adapter)
> > struct idpf_vc_xn_params xn_params = {
> > .vc_op = VIRTCHNL2_OP_GET_LAN_MEMORY_REGIONS,
> > .recv_buf.iov_len = IDPF_CTLQ_MAX_BUF_LEN,
> > + .send_buf.iov_len =
> > + sizeof(struct virtchnl2_get_lan_memory_regions) +
> > + sizeof(struct virtchnl2_mem_region),
> > .timeout_ms = IDPF_VC_XN_DEFAULT_TIMEOUT_MSEC,
> > };
> > int num_regions, size;
> > @@ -1028,6 +1031,8 @@ static int idpf_send_get_lan_memory_regions(struct idpf_adapter *adapter)
> > return -ENOMEM;
> > xn_params.recv_buf.iov_base = rcvd_regions;
> > + rcvd_regions->num_memory_regions = cpu_to_le16(1);
> > + xn_params.send_buf.iov_base = rcvd_regions;
> > reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
> > if (reply_sz < 0)
> > return reply_sz;
>
>
> Kind regards,
>
> Paul
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [PATCH iwl-net] idpf: fix LAN memory regions command on some NVMs
2025-10-07 11:46 [PATCH iwl-net] idpf: fix LAN memory regions command on some NVMs Larysa Zaremba
2025-10-07 12:06 ` [Intel-wired-lan] " Paul Menzel
@ 2025-11-24 19:37 ` Singh, Krishneil K
1 sibling, 0 replies; 4+ messages in thread
From: Singh, Krishneil K @ 2025-11-24 19:37 UTC (permalink / raw)
To: Zaremba, Larysa, intel-wired-lan, Nguyen, Anthony L
Cc: Zaremba, Larysa, Kitszel, Przemyslaw, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Hay,
Joshua A, Chittim, Madhu, netdev, linux-kernel, Tantilov, Emil S,
Michal Swiatkowski, Loktionov, Aleksandr
> -----Original Message-----
> From: Larysa Zaremba <larysa.zaremba@intel.com>
> Sent: Tuesday, October 7, 2025 4:46 AM
> To: intel-wired-lan@lists.osuosl.org; Nguyen, Anthony L
> <anthony.l.nguyen@intel.com>
> Cc: Zaremba, Larysa <larysa.zaremba@intel.com>; Kitszel, Przemyslaw
> <przemyslaw.kitszel@intel.com>; Andrew Lunn <andrew+netdev@lunn.ch>;
> David S. Miller <davem@davemloft.net>; Eric Dumazet
> <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; Paolo Abeni
> <pabeni@redhat.com>; Hay, Joshua A <joshua.a.hay@intel.com>; Chittim,
> Madhu <madhu.chittim@intel.com>; netdev@vger.kernel.org; linux-
> kernel@vger.kernel.org; Tantilov, Emil S <emil.s.tantilov@intel.com>; Michal
> Swiatkowski <michal.swiatkowski@linux.intel.com>; Loktionov, Aleksandr
> <aleksandr.loktionov@intel.com>
> Subject: [PATCH iwl-net] idpf: fix LAN memory regions command on some
> NVMs
>
> IPU SDK versions 1.9 through 2.0.5 require send buffer to contain a single
> empty memory region. Set number of regions to 1 and use appropriate send
> buffer size to satisfy this requirement.
>
> Suggested-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
> Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
> Signed-off-by: Larysa Zaremba <larysa.zaremba@intel.com>
> ---
> drivers/net/ethernet/intel/idpf/idpf_virtchnl.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
> b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
> index fa3ce1e4f6ac..af8b3ebee4d4 100644
> --- a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
> +++ b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
> @@ -1016,6 +1016,9 @@ static int
Tested-by: Krishneil Singh <krishneil.k.singh@intel.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-11-24 19:37 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-10-07 11:46 [PATCH iwl-net] idpf: fix LAN memory regions command on some NVMs Larysa Zaremba
2025-10-07 12:06 ` [Intel-wired-lan] " Paul Menzel
2025-10-07 12:44 ` Larysa Zaremba
2025-11-24 19:37 ` Singh, Krishneil K
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®