]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net/mlx5e: Add queue config ops for page size
authorDragos Tatulea <dtatulea@nvidia.com>
Mon, 23 Feb 2026 20:41:52 +0000 (22:41 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 26 Feb 2026 09:54:23 +0000 (10:54 +0100)
For now allow only PAGE_SIZE. A subsequent patch will add support for
high order pages in zero-copy mode.

Signed-off-by: Dragos Tatulea <dtatulea@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/20260223204155.1783580-13-tariqt@nvidia.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/mellanox/mlx5/core/en_main.c

index cf977273f753495aae3f3438620f8e327da69535..336e384c143a0fc5b592820562dff21f3b3cb175 100644 (file)
@@ -5572,6 +5572,22 @@ struct mlx5_qmgmt_data {
        struct mlx5e_channel *c;
 };
 
+static void mlx5e_queue_default_qcfg(struct net_device *dev,
+                                    struct netdev_queue_config *qcfg)
+{
+       qcfg->rx_page_size = PAGE_SIZE;
+}
+
+static int mlx5e_queue_validate_qcfg(struct net_device *dev,
+                                    struct netdev_queue_config *qcfg,
+                                    struct netlink_ext_ack *extack)
+{
+       if (qcfg->rx_page_size != PAGE_SIZE)
+               return -EINVAL;
+
+       return 0;
+}
+
 static int mlx5e_queue_mem_alloc(struct net_device *dev,
                                 struct netdev_queue_config *qcfg,
                                 void *newq, int queue_index)
@@ -5682,6 +5698,9 @@ static const struct netdev_queue_mgmt_ops mlx5e_queue_mgmt_ops = {
        .ndo_queue_start        =       mlx5e_queue_start,
        .ndo_queue_stop         =       mlx5e_queue_stop,
        .ndo_queue_get_dma_dev  =       mlx5e_queue_get_dma_dev,
+       .ndo_default_qcfg       =       mlx5e_queue_default_qcfg,
+       .ndo_validate_qcfg      =       mlx5e_queue_validate_qcfg,
+       .supported_params       =       QCFG_RX_PAGE_SIZE,
 };
 
 static void mlx5e_build_nic_netdev(struct net_device *netdev)