From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-vs1-f97.google.com (mail-vs1-f97.google.com [209.85.217.97]) (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 6ADDB35E93E for ; Thu, 2 Jul 2026 05:49:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.217.97 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782971360; cv=none; b=ouGSAEXI8pqX7P6asQ5gdOEvn+Evbw83649k2whuC2TIwef4CJhFIoAugafmQi54EsrNOV4u/hlrvNTVLzfHrjiDmpt9xpUF9EQoRyDLEH7MDRhz3VovHaIg/RtPLLjOXloAWVoYKn8u7ZPZuWjNvwMYSr2+qYMGum4Jm0bmPcs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782971360; c=relaxed/simple; bh=yb8648gDJbgA0x7dKoKKbZHJlsxd4CyPkW3GGpCYFVA=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=XC4zwG/WRNS+lq1wpNuvjhhOWJ7Ux5NbRbgUqqx2G7jcIgRg79Y5vu9VKEHsEqgPc38pb0tmvDUpZir/OaTJhUBYGETrOTsoyTKegRD9OSBFdtnaJoBYcOsusTU/Vziwg5UGZFq/MKHMWkLDIkbyYi93KdkPYGXMFbw8h3OvBcY= 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=F4fNgxAD; arc=none smtp.client-ip=209.85.217.97 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="F4fNgxAD" Received: by mail-vs1-f97.google.com with SMTP id ada2fe7eead31-6cf48482ddeso411427137.2 for ; Wed, 01 Jul 2026 22:49:18 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782971357; x=1783576157; 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=2dIxMGZPvgbjRa46++tm7rlt0JbpniyNTxsI+lGaK7o=; b=bznmyMjNVbYQQPZxD/jPx/WFDdx3kkYIgRPa/fNF0I2aaE2Yg5n3AVP5lnP7iTwpT6 jn+aLhgRKOFY7ALH2o4XJ8F79oESqUFe5WpFPotsLYMItLloHgZ94UmF1PZ/fyamsaiU LE1stHBVelXGcyUtPIqcVEZkaGR7MEx5mt8Gm6YEzAK5yh5nwve5rjJ8JXvRmaZh8UX1 pjxMhSraWgngYja5RO5w7D+H0Lt4cMd/8tsHBabIiXUc/BaI8cINwUZeUuHwlmjHuYFm YT5Ba3JlSFoyjj+JDY8Iz3VHx7ndhAnm0uPBFLLhDTUsV/xr72s9CuHJk3xFYSocdE3q pWtQ== X-Gm-Message-State: AOJu0Ywi9Oam6VunOVNfPGCaCVXgIoBkSRYyJmGxnxpaW/ocuicmRoiK jSy7y60UyG9DysV7KZiYU3Ni6a9dB7QYv8uLrSDgsMKteprCVFiA1V6g3/k0j4Vteqw89QPMJhf dVrNjI3cGYmJlG+QFeoSYgtQ5W0xeIBO0hwzJr3p8C4X873u8+/avMVgGjEmchLVTfufL/vc/Gn oOE5CC5TNisIVlUF1TEQHPFPbogF1jbcOjfVLTBucEQz31Y+kSzXq7JbSntE+17IH4fN+innVRa HlISijGzeGyrPcQWB0= X-Gm-Gg: AfdE7clN+6PFMz9QFgnTT4dviCcsS1yqbwix6cQqbRX3h7QZpK815zQELt2FqZb259O AgQgotI2zRk60qtIhCtfSQ4vk/rZvogDsRq7PaUG1u2hIHTinu+9VXWm03js4NYX/Y7gRd8f41s oTKyNx/mlhjp2jtQLzGMqqEjnA82LeeCXUMs3gylnhzpsKJGokwWqHXrkV3cInrbobvgbYJDD4H DJcF990gu2h0kLFwDNZVm8zLFgLWxIlhfWeJy9/CQob2WEuRz0I3fB0Gync2TlOD31GStYKkKuK 86Ko1AB210M/iUKTLt1+imw49aZHR/aULnwhDNjOlXrc5e9Kcb7k3D1wlVYHnL5PvcgVP2A5LK7 9XFhxX6GUPuBdo1oWH5xLlQiuP4WqjIrN4FlRdLdd6SU1Agu4MYiJfvV7pqsKfpCjxDKkCftCp8 pqslxHc9i0WTFe/vl0xPNQyIJZHHLgeHWx8+PpWgHxHYOMKA== X-Received: by 2002:a05:6102:a4a:b0:71e:1c56:e78e with SMTP id ada2fe7eead31-73dab0e7a8amr1834906137.17.1782971357346; Wed, 01 Jul 2026 22:49:17 -0700 (PDT) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-77.dlp.protect.broadcom.com. [144.49.247.77]) by smtp-relay.gmail.com with ESMTPS id a1e0cc1a2514c-96983a417afsm57817241.8.2026.07.01.22.49.16 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Jul 2026 22:49:17 -0700 (PDT) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-37fd8d36025so1642395a91.2 for ; Wed, 01 Jul 2026 22:49:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1782971355; x=1783576155; 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=2dIxMGZPvgbjRa46++tm7rlt0JbpniyNTxsI+lGaK7o=; b=F4fNgxAD0kgz6GJi6FJRxj0DsxKSpJmBwpngZNlkoCBOWPzCLzmtLwxYbedSOJBvJn iCoM9RQAJJSLtAGsPOCDr0b9f5mdxD3LyvW6X1L7HzLs/FFim50PpsQ/vlDGo7wSjGJj n4UQpQwa5iOZrBKmGCVJhDyXKxwoueHdFGl0o= X-Received: by 2002:a17:90b:3c03:b0:368:d839:28d5 with SMTP id 98e67ed59e1d1-380aa206bc3mr4520706a91.18.1782971355304; Wed, 01 Jul 2026 22:49:15 -0700 (PDT) X-Received: by 2002:a17:90b:3c03:b0:368:d839:28d5 with SMTP id 98e67ed59e1d1-380aa206bc3mr4520676a91.18.1782971354827; Wed, 01 Jul 2026 22:49:14 -0700 (PDT) Received: from pc-hpe-top-git-sendmail-server.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-30f0bc38e5fsm4656033eec.29.2026.07.01.22.49.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Jul 2026 22:49:13 -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 v4 fwctl 0/3] fwctl/bnxt: DMA buffer support for HWRM commands Date: Thu, 2 Jul 2026 11:21:22 +0530 Message-ID: <20260702055125.557963-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. v4: Collected Rb tag from Dave for patch #1. Thanks Dave 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