From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-vk1-f225.google.com (mail-vk1-f225.google.com [209.85.221.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D9CAA3B9D8B for ; Tue, 26 May 2026 14:43:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.225 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779806605; cv=none; b=sPfbigC+Lo+pocPKYjQkbJsw4QQz7aXXK+msnN0DKWcBC9OcLWEsKQ/oHIV6p+7sep4rZpc99aKh9w6yqOGjoRSkwQtht9S50//lN0zSXKvL1Rm+Gt1eGH6bthwg60hdVpEZVqgDpn4dOX910FjZFH+ggFQfWx8fPv0MmMf48go= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779806605; c=relaxed/simple; bh=2cxJqhlPVyiyJMcsVTXH7+vTJjIQaD9J7fQg/P28ByI=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=b5/Fsq8vz/Xc23Wxkk1QUS8EOAop9kT0y/BBGbcNImF9AMgZeMjYLTm1XxSIXHv8NNl7QbHfVn/WDiJapVua3tqN+q9yVEckI5ka5nOwnjYLI2zJcqjrIjbvtufBe8H4xHejmQXno0Sk4LDmi2pTaNNsxySlT/y0SynK0s1MF5c= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=RzuBZGK+; arc=none smtp.client-ip=209.85.221.225 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="RzuBZGK+" Received: by mail-vk1-f225.google.com with SMTP id 71dfb90a1353d-57516e08474so8204476e0c.3 for ; Tue, 26 May 2026 07:43:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779806603; x=1780411403; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6h8xFOoViEfs5PXWgfq/3kpdd7Q0DcghOcrnw4UuAAc=; b=A8LRXTV7hpGKjr5wGhrBw0ANhVPF+cKuzbd1DAA44Xo9NsqasNNqb/Y4wB1+NbsQNv JK7vAyeUAKI4iXpaJ31TcmKp/XL8l1rFRvUu84H3ztXKj032taOzKq+tNLinOO52HoRu NWOe88HdSprOCIBjBxHEyy9YkXe/HzgwP/1SbY7UANaXn6B+g/3MYcUHl63ofP2817ZV xOtvabpD8gcTvNp6P2HrvCmbm+M2KOWuXAq+07W8FeAG//ZhEIdWal9A3EI9vqQhZLa7 zafZu325CVz8JfLcyHFj6gsmRQ90a1b2xHduzdWh24OUZxLLyQL4z3BWcUfkffFT2PuQ qZGg== X-Gm-Message-State: AOJu0YxCJUEJbDpoi/ZbtaGOx09L5Z1m2+zHEoi3Y8jklZJYpyC++O16 hCxkVZej/QtM5PPGqs7+5HSxG2Jp6rh3ONvh59tlZK2hqO+pZrKTelWRT7hm6/NsvFBWnmNscKM VjfwolYLsVPbK/ANAxewsj+pHejw5UAZZONBC/vkf+3nDnb3kpXlY3dULiHVBgqu+q/VswC+gyN 2ZAENjb4NcXYdtnrY4k+xABKGUmoF4ZH17WzVv3IolnZucsdb6CBh51ScqJNNo1xXUB0CXyZW3r Jxd4A2rtUlL3D2t3+jPgQ== X-Gm-Gg: Acq92OGvruGO7mqGOncU/Zxo5T9KoD7I0h2hDW29jaj8ZGGrnn40Bzuzjdnp+ybYSHr +jpFX9OiroJ7gqGOnZnX0LaNkFSkv28b4Qs22a9w618b6AVWDvaN6B7Ki8n9QAfuLk+dgGZnGXt VJEr+FZO1NIej/imnzoX3zFVSh3DSGKIyVGOLAVqct5WfypIiXTgzkfnnias80AZwLYxF4qxMmK kTVWKkw33kYGLTU5oEzOZb49qeTRWtnZoyrWkDBb4VEufOPnV0PmcD/N5QkYhb50NAQnP+Byoni UKuVcSMofksdTfeicWOxferrOjYPkn88V8jAE/AAyZ0KLdk+UbmgDaK81roUUWzMRRBj6quU2Hl grroigbrCaFJ794AvUmTv+5zkMMcfc48/4eaBFxX/t99H5L4OlBJEwb7OBnfbS3sY0ddAvIMZeU 36+CLYPSnPUVYHVBFPmAZJyLSzK12tqPAHefS5jLf1bSBFO6GzZJcm51z/+wCglWOTOC4= X-Received: by 2002:a05:6122:390c:b0:575:19a7:ae16 with SMTP id 71dfb90a1353d-58662da22a6mr9979259e0c.11.1779806602604; Tue, 26 May 2026 07:43:22 -0700 (PDT) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-18.dlp.protect.broadcom.com. [144.49.247.18]) by smtp-relay.gmail.com with ESMTPS id 71dfb90a1353d-586f689654asm815798e0c.3.2026.05.26.07.43.22 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 26 May 2026 07:43:22 -0700 (PDT) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2ba3245a43dso118656875ad.0 for ; Tue, 26 May 2026 07:43:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1779806601; x=1780411401; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=6h8xFOoViEfs5PXWgfq/3kpdd7Q0DcghOcrnw4UuAAc=; b=RzuBZGK+WtUOvCx6/UVgj4gErQ1fCV8wFkZ/si3lfMNos5ZESQrn/IyiZTfaBEPEtW WiUkPPachcA/oi/iaKf3nEEbVj+b+A3ZHoNOgobZPPq/cfDKbRbPiWnSxH3SK4a/P35A DkOx2qqifLiaNFjgvJQd1ERtv+teb+Rg27hE0= X-Received: by 2002:a17:903:2390:b0:2bc:b80f:6782 with SMTP id d9443c01a7336-2beb0356171mr212574125ad.11.1779806601321; Tue, 26 May 2026 07:43:21 -0700 (PDT) X-Received: by 2002:a17:903:2390:b0:2bc:b80f:6782 with SMTP id d9443c01a7336-2beb0356171mr212573815ad.11.1779806600867; Tue, 26 May 2026 07:43:20 -0700 (PDT) Received: from pc-hpe-top-git-sendmail-server.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb5695b83sm117657605ad.9.2026.05.26.07.43.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 07:43:20 -0700 (PDT) From: Pavan Chebbi To: jgg@ziepe.ca, michael.chan@broadcom.com Cc: linux-kernel@vger.kernel.org, dave.jiang@intel.com, saeedm@nvidia.com, jic23@kernel.org, gospo@broadcom.com, selvin.xavier@broadcom.com, leon@kernel.org, kalesh-anakkur.purayil@broadcom.com, Pavan Chebbi Subject: [PATCH v3 fwctl 0/3] fwctl/bnxt: DMA buffer support for HWRM commands Date: Tue, 26 May 2026 20:15:04 +0530 Message-ID: <20260526144507.822095-1-pavan.chebbi@broadcom.com> X-Mailer: git-send-email 2.52.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e Several HWRM (HardWare Resource Manager) commands used for diagnostics, firmware management, and NVM access carry one or more DMA address fields in their input structures. Until now these commands could not be issued through the fwctl interface because the driver had no mechanism to safely broker the host-side DMA buffers on userspace's behalf. This series adds that mechanism in three steps. In patch #1, the fwctl core UAPI adds a new driver_data field in struct fwctl_rpc. Drivers that need a driver_data payload receive the value and are free to interpret it. Drivers that do not define one will reject any non-zero value with -EOPNOTSUPP. Existing mlx5 and pds fwctl drivers are updated accordingly. In patch #2, the bnxt HSI header is updated to add the missing struct definitions for the HWRM commands that the bnxt fwctl driver will support. In patch #3, the bnxt fwctl driver consumes driver_data as a pointer to a new bnxt UAPI struct fwctl_bnxt_driver_data, which describes indirect DMA buffers. v3: In patch #3, remove include of linux/sizes.h from UAPI header bnxt.h v2: In patch #1, update all the drivers that implement fw_rpc to check driver_data. In patch #2, add another HWRM command that I had missed in v1. In patch #3, update the allow-list and timeout tables for the additional commands. Pavan Chebbi (3): fwctl: Add driver_data field to fwctl_rpc bnxt_en: Update bnxt firmware spec fwctl/bnxt: add DMA buffer support for HWRM commands drivers/cxl/core/features.c | 6 +- drivers/fwctl/bnxt/main.c | 340 ++++++++++++++++++++- drivers/fwctl/main.c | 3 +- drivers/fwctl/mlx5/main.c | 6 +- drivers/fwctl/pds/main.c | 6 +- include/linux/bnxt/hsi.h | 585 ++++++++++++++++++++++++++++++++++++ include/linux/fwctl.h | 8 +- include/uapi/fwctl/bnxt.h | 37 +++ include/uapi/fwctl/fwctl.h | 3 + 9 files changed, 986 insertions(+), 8 deletions(-) -- 2.52.0