get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.2/patches/2235028/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2235028,
    "url": "http://patchwork.ozlabs.org/api/1.2/patches/2235028/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20260508124208.11622-9-przemyslaw.kitszel@intel.com/",
    "project": {
        "id": 46,
        "url": "http://patchwork.ozlabs.org/api/1.2/projects/46/?format=api",
        "name": "Intel Wired Ethernet development",
        "link_name": "intel-wired-lan",
        "list_id": "intel-wired-lan.osuosl.org",
        "list_email": "intel-wired-lan@osuosl.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260508124208.11622-9-przemyslaw.kitszel@intel.com>",
    "list_archive_url": null,
    "date": "2026-05-08T12:42:01",
    "name": "[iwl-next,v1,08/15] iavf: extend iavf_configure_queues() to support more queues",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "31bc80a776dabfe6460934a8084e16a4e6e065d9",
    "submitter": {
        "id": 85252,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/85252/?format=api",
        "name": "Przemek Kitszel",
        "email": "przemyslaw.kitszel@intel.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20260508124208.11622-9-przemyslaw.kitszel@intel.com/mbox/",
    "series": [
        {
            "id": 503388,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/503388/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=503388",
            "date": "2026-05-08T12:41:53",
            "name": "devlink, mlx5, iavf, ice: XLVF for iavf",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/503388/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2235028/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2235028/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<intel-wired-lan-bounces@osuosl.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@legolas.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=CwbTnYmR;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=140.211.166.137; helo=smtp4.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"
        ],
        "Received": [
            "from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4gBq385dxbz1yCg\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 08 May 2026 23:00:04 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id F3AD240E67;\n\tFri,  8 May 2026 12:59:57 +0000 (UTC)",
            "from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id crjFYIsFzHkX; Fri,  8 May 2026 12:59:57 +0000 (UTC)",
            "from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 602B74100A;\n\tFri,  8 May 2026 12:59:57 +0000 (UTC)",
            "from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])\n by lists1.osuosl.org (Postfix) with ESMTP id 04998317\n for <intel-wired-lan@lists.osuosl.org>; Fri,  8 May 2026 12:59:56 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n by smtp4.osuosl.org (Postfix) with ESMTP id 01DA940F62\n for <intel-wired-lan@lists.osuosl.org>; Fri,  8 May 2026 12:59:56 +0000 (UTC)",
            "from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id c-U0S3UUaH4k for <intel-wired-lan@lists.osuosl.org>;\n Fri,  8 May 2026 12:59:55 +0000 (UTC)",
            "from mgamail.intel.com (mgamail.intel.com [198.175.65.17])\n by smtp4.osuosl.org (Postfix) with ESMTPS id 2D89841053\n for <intel-wired-lan@lists.osuosl.org>; Fri,  8 May 2026 12:59:55 +0000 (UTC)",
            "from fmviesa005.fm.intel.com ([10.60.135.145])\n by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 08 May 2026 05:59:55 -0700",
            "from irvmail002.ir.intel.com ([10.43.11.120])\n by fmviesa005.fm.intel.com with ESMTP; 08 May 2026 05:59:49 -0700",
            "from vecna.igk.intel.com (vecna.igk.intel.com [10.123.220.17])\n by irvmail002.ir.intel.com (Postfix) with ESMTP id 7C8272FC44;\n Fri,  8 May 2026 13:59:47 +0100 (IST)"
        ],
        "X-Virus-Scanned": [
            "amavis at osuosl.org",
            "amavis at osuosl.org"
        ],
        "X-Comment": "SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ",
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 smtp4.osuosl.org 602B74100A",
            "OpenDKIM Filter v2.11.0 smtp4.osuosl.org 2D89841053"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1778245197;\n\tbh=vbQw2y7v23UaXpxycIQfCM4aoDdmvIwGc+GKDcKE2YI=;\n\th=From:To:Cc:Date:In-Reply-To:References:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t From;\n\tb=CwbTnYmRIFDaq3UMFE6+b5yEfLYfzR94of4M7YPqlpoNggFqCSGLpzUJr0WNz1MUp\n\t b9EnCdD0BFIdnxzQ91oFQ3hb+Ud5m2jo97RtDre7lWj5yhR6hh+O74DLRWji+1aAvy\n\t TO+Jz+GLHvEXXOQShuTM3Ryi/3ZVEXv7kHDyGnQPBxwu30blzwSvkEEHQat0T2Epjq\n\t ko6zOeAFsfakmEIH6Ji4Ab4zNHgOAp8rR5lWdA1NiP1TzPdROVQiEUBj5PecB7HBnL\n\t rOqRbY+291w+1mhWfgko/R7GtiqkjsBKx/0XChmQtQcK7opfK1CYa1WN5psSmwdBqY\n\t oSap3ruDF+sqg==",
        "Received-SPF": "Pass (mailfrom) identity=mailfrom; client-ip=198.175.65.17;\n helo=mgamail.intel.com; envelope-from=przemyslaw.kitszel@intel.com;\n receiver=<UNKNOWN>",
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 smtp4.osuosl.org 2D89841053",
        "X-CSE-ConnectionGUID": [
            "UHMCuz7cSgesJFTuXRoZCA==",
            "swZOTk4ZQf2P85VUdshBQQ=="
        ],
        "X-CSE-MsgGUID": [
            "NmEqXQpMQZOFgM8eFzzKpw==",
            "wubMeUzcSOiZStO1K992YA=="
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6800,10657,11779\"; a=\"79199931\"",
            "E=Sophos;i=\"6.23,223,1770624000\"; d=\"scan'208\";a=\"79199931\"",
            "E=Sophos;i=\"6.23,223,1770624000\"; d=\"scan'208\";a=\"241730132\""
        ],
        "X-ExtLoop1": "1",
        "From": "Przemek Kitszel <przemyslaw.kitszel@intel.com>",
        "To": "intel-wired-lan@lists.osuosl.org, Michal Schmidt <mschmidt@redhat.com>,\n Jakub Kicinski <kuba@kernel.org>, Jiri Pirko <jiri@resnulli.us>",
        "Cc": "netdev@vger.kernel.org, Simon Horman <horms@kernel.org>,\n Tony Nguyen <anthony.l.nguyen@intel.com>,\n Michal Swiatkowski <michal.swiatkowski@linux.intel.com>,\n bruce.richardson@intel.com,\n Vladimir Medvedkin <vladimir.medvedkin@intel.com>,\n padraig.j.connolly@intel.com, ananth.s@intel.com,\n timothy.miskell@intel.com, Jacob Keller <jacob.e.keller@intel.com>,\n Lukasz Czapnik <lukasz.czapnik@intel.com>,\n Aleksandr Loktionov <aleksandr.loktionov@intel.com>,\n Andrew Lunn <andrew+netdev@lunn.ch>,\n \"David S. Miller\" <davem@davemloft.net>,\n Eric Dumazet <edumazet@google.com>, Paolo Abeni <pabeni@redhat.com>,\n Saeed Mahameed <saeedm@nvidia.com>, Leon Romanovsky <leon@kernel.org>,\n Tariq Toukan <tariqt@nvidia.com>, Mark Bloch <mbloch@nvidia.com>,\n Przemek Kitszel <przemyslaw.kitszel@intel.com>",
        "Date": "Fri,  8 May 2026 14:42:01 +0200",
        "Message-Id": "<20260508124208.11622-9-przemyslaw.kitszel@intel.com>",
        "X-Mailer": "git-send-email 2.39.3",
        "In-Reply-To": "<20260508124208.11622-1-przemyslaw.kitszel@intel.com>",
        "References": "<20260508124208.11622-1-przemyslaw.kitszel@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-Mailman-Original-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1778245196; x=1809781196;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=MHtnV2d7on0QOsG7JkOnFzWyzfm4So4mltVlVNW1uq0=;\n b=a+xtx97B0IBzfliOEfHlRQ/jsAQSCEfFIY3vh8e2rzFhY16VFz+dpgmk\n CRCVzXfsBkCJi0edQbe03ocQ9IA2V7zt0iKQaSABfRo8r2AM6Equmrb3X\n BwxX0NmqmXhWE9Al+WYXCgH2f2Ru3x3FXKIhJWLBmWCdnkulY5LIfInGj\n bh2P+lvlgGOo6oLIL2QJt1/YVqQEVUkJdlL7xTHyZjlimVLHuZnkcwU1x\n Sv/MhVxN/ZmyxcUZ4FidpzkGsTVRQiYM1z8zLN5d4Zd7imWmFG4HhbcOZ\n dVTfpGhwfQ8+3/Hu0Nr+DfK8qjGnkwMZml+ROsdUrFSHXy7ExD4q2yvmh\n A==;",
        "X-Mailman-Original-Authentication-Results": [
            "smtp4.osuosl.org;\n dmarc=pass (p=none dis=none)\n header.from=intel.com",
            "smtp4.osuosl.org;\n dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com\n header.a=rsa-sha256 header.s=Intel header.b=a+xtx97B"
        ],
        "Subject": "[Intel-wired-lan] [PATCH iwl-next v1 08/15] iavf: extend\n iavf_configure_queues() to support more queues",
        "X-BeenThere": "intel-wired-lan@osuosl.org",
        "X-Mailman-Version": "2.1.30",
        "Precedence": "list",
        "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>",
        "List-Unsubscribe": "<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>",
        "List-Post": "<mailto:intel-wired-lan@osuosl.org>",
        "List-Help": "<mailto:intel-wired-lan-request@osuosl.org?subject=help>",
        "List-Subscribe": "<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>",
        "Errors-To": "intel-wired-lan-bounces@osuosl.org",
        "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"
    },
    "content": "Extend iavf_configure_queues() to support more than 31 queues.\nVirtchnl opcode used was already generic, but we have just not needed\nmore than one message before.\n\nAdd helper, iavf_max_vc_entries(), that determines how many entries we\ncould fit into virtchnl message (ending by flex array member). Will be\nalso used on another op later in this series.\n\nSigned-off-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>\n---\n .../net/ethernet/intel/iavf/iavf_virtchnl.c   | 55 +++++++++++++++----\n 1 file changed, 45 insertions(+), 10 deletions(-)",
    "diff": "diff --git a/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c b/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c\nindex a2f75bb4a74e..7a97fc76420f 100644\n--- a/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c\n+++ b/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c\n@@ -8,6 +8,11 @@\n #include \"iavf_ptp.h\"\n #include \"iavf_prototype.h\"\n \n+/* how many Flex Array Member entires do fit into VC message of type *ptr */\n+#define iavf_max_vc_entries(ptr, flex_member) \\\n+\t((IAVF_MAX_AQ_BUF_SIZE - virtchnl_struct_size(ptr, flex_member, 1)) / \\\n+\t sizeof(ptr->flex_member[0]) + 1)\n+\n /**\n  * iavf_send_pf_msg\n  * @adapter: adapter structure\n@@ -366,6 +371,14 @@ int iavf_get_vf_ptp_caps(struct iavf_adapter *adapter)\n \treturn err;\n }\n \n+static bool iavf_match_vc_op_cb(struct iavf_adapter *adapter, const void *data,\n+\t\t\t\tenum virtchnl_ops recv_op)\n+{\n+\tenum virtchnl_ops wanted_op = (enum virtchnl_ops)data;\n+\n+\treturn recv_op == wanted_op;\n+}\n+\n /**\n  * iavf_configure_queues\n  * @adapter: adapter structure\n@@ -377,8 +390,9 @@ void iavf_configure_queues(struct iavf_adapter *adapter)\n \tstruct virtchnl_vsi_queue_config_info *vqci;\n \tint pairs = adapter->num_active_queues;\n \tstruct virtchnl_queue_pair_info *vqpi;\n-\tu32 i, max_frame;\n \tu8 rx_flags = 0;\n+\tu32 max_frame;\n+\tint max_pairs;\n \tsize_t len;\n \n \tmax_frame = LIBIE_MAX_RX_FRM_LEN(adapter->rx_rings->pp->p.offset);\n@@ -390,22 +404,22 @@ void iavf_configure_queues(struct iavf_adapter *adapter)\n \t\t\tadapter->current_op);\n \t\treturn;\n \t}\n-\tadapter->current_op = VIRTCHNL_OP_CONFIG_VSI_QUEUES;\n-\tlen = virtchnl_struct_size(vqci, qpair, pairs);\n+\n+\tmax_pairs = iavf_max_vc_entries(vqci, qpair);\n+\tlen = virtchnl_struct_size(vqci, qpair, min(pairs, max_pairs));\n \tvqci = kzalloc(len, GFP_KERNEL);\n \tif (!vqci)\n \t\treturn;\n \n \tif (iavf_ptp_cap_supported(adapter, VIRTCHNL_1588_PTP_CAP_RX_TSTAMP))\n \t\trx_flags |= VIRTCHNL_PTP_RX_TSTAMP;\n \n \tvqci->vsi_id = adapter->vsi_res->vsi_id;\n-\tvqci->num_queue_pairs = pairs;\n \tvqpi = vqci->qpair;\n-\t/* Size check is not needed here - HW max is 16 queue pairs, and we\n-\t * can fit info for 31 of them into the AQ buffer before it overflows.\n-\t */\n-\tfor (i = 0; i < pairs; i++) {\n+\n+\tfor (int i = 0, in_msg = 0; i < pairs; i++) {\n+\t\tconst bool last = i + 1 == pairs;\n+\n \t\tvqpi->txq.vsi_id = vqci->vsi_id;\n \t\tvqpi->txq.queue_id = i;\n \t\tvqpi->txq.ring_len = adapter->tx_rings[i].count;\n@@ -423,11 +437,32 @@ void iavf_configure_queues(struct iavf_adapter *adapter)\n \t\t\t\t\t\t   NETIF_F_RXFCS);\n \t\tvqpi->rxq.flags = rx_flags;\n \t\tvqpi++;\n+\t\tin_msg++;\n+\t\tif (last || in_msg == max_pairs) {\n+\t\t\tint err;\n+\n+\t\t\tadapter->current_op = VIRTCHNL_OP_CONFIG_VSI_QUEUES;\n+\t\t\tvqci->num_queue_pairs = in_msg;\n+\n+\t\t\tiavf_send_pf_msg(adapter,\n+\t\t\t\t\t VIRTCHNL_OP_CONFIG_VSI_QUEUES,\n+\t\t\t\t\t (u8 *)vqci,\n+\t\t\t\t\t virtchnl_struct_size(vqci, qpair, in_msg));\n+\t\t\terr = iavf_poll_virtchnl_response(adapter,\n+\t\t\t\t\t\t\t  iavf_match_vc_op_cb,\n+\t\t\t\t\t\t\t  (void *)VIRTCHNL_OP_CONFIG_VSI_QUEUES,\n+\t\t\t\t\t\t\t  1000);\n+\t\t\tif (err)\n+\t\t\t\tdev_warn(&adapter->pdev->dev,\n+\t\t\t\t\t \"config queues poll failed, err: %d\\n\",\n+\t\t\t\t\t err);\n+\n+\t\t\tvqpi = vqci->qpair;\n+\t\t\tin_msg = 0;\n+\t\t}\n \t}\n \n \tadapter->aq_required &= ~IAVF_FLAG_AQ_CONFIGURE_QUEUES;\n-\tiavf_send_pf_msg(adapter, VIRTCHNL_OP_CONFIG_VSI_QUEUES,\n-\t\t\t (u8 *)vqci, len);\n \tkfree(vqci);\n }\n \n",
    "prefixes": [
        "iwl-next",
        "v1",
        "08/15"
    ]
}