From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dy1-f227.google.com (mail-dy1-f227.google.com [74.125.82.227]) (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 93E76349CF6 for ; Fri, 22 May 2026 08:07:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.227 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779437239; cv=none; b=VB4LsU+7DfgEWTKgQrQByGQhjIyFuG5Y9e551XOi+0dCs3pkuqrK3C1tlY5cOLvPl33HngCPjqBuz3T3Z+X6ezl79mvEA516FXzsFwmCShmALvDFcjgMA8w1C6qHdnVKNjIPinQ4UOmq4byg3an6Ev0Qo9FSp0FA1N+YcxqaPEM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779437239; c=relaxed/simple; bh=zUkpV49D2nlIvmFjaD/WJ43unnetU7YIAPHaj/YsSHY=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Kn8U92qTaSnGNU2kc+a4D8ZLvy1ijJHXmdktEFpj8XJKQ9BkZ54Cct0Y72jvrS+pJIK41xbfh8lit9sttC9mnImX2+kqbWpAqCsM6JcmWHYiwLreA8Cg1kqfBFJ/mT3FozpfEwxwmzU/siKRmGB8fr7aeqVnAh81P8lr48xTvrQ= 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=Vr3ShRNF; arc=none smtp.client-ip=74.125.82.227 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="Vr3ShRNF" Received: by mail-dy1-f227.google.com with SMTP id 5a478bee46e88-2f00a567cfaso4217689eec.0 for ; Fri, 22 May 2026 01:07:17 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779437237; x=1780042037; 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=P1oEmMNNCoKmbYzpXF4XWu+0JxTs802zxBmSo9PgIZs=; b=JreJma9M1DoqiqgKc9k4+bgqdQ86K19EEsJy8EEXqwgoOKO1Zv53GB0wbblCw2SGk8 rM5IWBp7TAFbf1+q07ya0K5PJE6BlvGy+a72mlEm7xDlanRSMe3HUU+YHtlDZ4SbUw9c i4rhFUxJA7Eo73qcd5Ar45C3mUaZ+TtnKMsCsGen/JiO0bojNrHY633/B+74tu55ybaR nqjJOY+K3K8xSKo4eTF5H3UXjUHgacEt4v5UOXEl6ETj/+eE91lGS426DQ8wIBWlRa4r ltzlao6+mgjvjnEWzKEQX/sGCSzYxriS1bMb6e1jGTmd/fsjXBVOTSs75gWyCfOhHVYG 01lQ== X-Gm-Message-State: AOJu0YxTveJTaCE52vv2+SFXqB7ndnmaE2h+WgYJzN64lrIELyb+wtQj CPzR1n9YHdRH6jKzRzppC5uPydCiyYnesci/iqHsg40lgR+CkGVw7qNVeLqnsRzh5uO7Aaa9jZg 0toiytRSQYTya+jg3I3araO171tkKii6qrbqxRqK4WPMn7ktZ1wcbGRwh+8Fy0g9GIGR5PaHi04 +2rNEpg0rA6oziFOQhTevELm0VJ1eFVSI5YNxctmW2W/poNmA2JZDHgjEHFS9oSCLDRE4JnSUS9 vBRJ80YWZUBiJF0KLg= X-Gm-Gg: Acq92OHLr/2xpenytahgKS1W7kzt2fD06Fc2E7gIOQT/jvZXod2U0dgGTopS1Fno96E z0SKKSL9hd3+axnvjLgq9/I85wlDO3NpRSoJmjF7kpEBtqnTYfRuydmPUK+8fPKoJBk0uqZ7U5k E9e/1f2P8ON2IB7JHJ6NQSS0/mDXoVe92bYVbRIOz7MwAe2Lqu+KPtDlbZ3P9+P18ALjQ9pFeBA mhBtpGD8kNl1viJs67EqTjrKCJ2HOsSXlEUipLgosWB5bTZXOga/pLPxB1zZfPgbC9EVP630C+9 ImCxQXV8Tbje1NH4oTzO7+dyqFMZ5+r52ZYRm5h/OJ6+TOXbB7FUPZp8hnyKI7S5uNCcAfrmXa3 m8Je9H/lO2m9+GUxhgVFQZDSycHoiM9dDR8xZf5nqYNHb2cUx7yFKULLYQ3NZbREkiHY8cBoZcI N02/IGBrmx/5LTz6/mWTDiu6ZlgAPVZe7GcVNhEBaMjQGc1r24XnotSahSMrM= X-Received: by 2002:a05:7300:23d3:b0:2c5:c532:1fe1 with SMTP id 5a478bee46e88-304304f8840mr3290105eec.3.1779437236581; Fri, 22 May 2026 01:07:16 -0700 (PDT) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-102.dlp.protect.broadcom.com. [144.49.247.102]) by smtp-relay.gmail.com with ESMTPS id 5a478bee46e88-30452222eeasm43810eec.21.2026.05.22.01.07.16 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 22 May 2026 01:07:16 -0700 (PDT) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2babbeff9e4so76970075ad.0 for ; Fri, 22 May 2026 01:07:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1779437235; x=1780042035; 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=P1oEmMNNCoKmbYzpXF4XWu+0JxTs802zxBmSo9PgIZs=; b=Vr3ShRNFu805TWyo/SeEQfomY6rDMgFY0VrY43oP/Q45ljKR5g481EhAy8TmG3nZUC jpePL0u+uF+bKtmxIIAp4K28lcJGdJnAyJbgVeI4GdymX5g+3d6PNqUyKVI6g/Zqx1Sy y4gIxYEUZ/WwlFDm1KkVcNeKjg8S3UX99ajYk= X-Received: by 2002:a17:903:fa7:b0:2bc:ac76:c1d0 with SMTP id d9443c01a7336-2beb088e3ecmr18838625ad.17.1779437234801; Fri, 22 May 2026 01:07:14 -0700 (PDT) X-Received: by 2002:a17:903:fa7:b0:2bc:ac76:c1d0 with SMTP id d9443c01a7336-2beb088e3ecmr18838385ad.17.1779437234379; Fri, 22 May 2026 01:07: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 d9443c01a7336-2beb58b386esm10927905ad.44.2026.05.22.01.07.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 May 2026 01:07:14 -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, Jonathan.Cameron@huawei.com, gospo@broadcom.com, selvin.xavier@broadcom.com, leon@kernel.org, kalesh-anakkur.purayil@broadcom.com, Pavan Chebbi Subject: [PATCH fwctl 0/3] fwctl/bnxt: DMA buffer support for HWRM commands Date: Fri, 22 May 2026 13:38:27 +0530 Message-ID: <20260522080830.162740-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. 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/fwctl/bnxt/main.c | 323 ++++++++++++++++++++- drivers/fwctl/main.c | 3 +- drivers/fwctl/mlx5/main.c | 6 +- drivers/fwctl/pds/main.c | 6 +- include/linux/bnxt/hsi.h | 554 +++++++++++++++++++++++++++++++++++++ include/linux/fwctl.h | 8 +- include/uapi/fwctl/bnxt.h | 38 +++ include/uapi/fwctl/fwctl.h | 3 + 8 files changed, 934 insertions(+), 7 deletions(-) -- 2.52.0