From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-yx1-f97.google.com (mail-yx1-f97.google.com [74.125.224.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 EC37231987D for ; Sat, 23 May 2026 17:24:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.224.97 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779557042; cv=none; b=YaX9+6wuoiH2s/a/0lisn3Rev/bs4EO4ccifuPRWnk5SZbAIoRtg12HKcjCaCEmz6w9wRTMBsBho/3rBV79NS/QIIjZjp9Fo0+aK+2b5srcx29RUEED5YtdgBYPqvwhWx1SJzDjHNMJEm8rBiYdnznRJ+ONd0cuvzMuPa60IcBM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779557042; c=relaxed/simple; bh=YtfnH98Kv/1nmNJF9SlSNHv6IS3NnyKmKW5iLBJUEFs=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=SguQbe1PkTuJwsGPe9FVcW5zsCSHSx+CxrvxH2BHxhoLFsJAPJnB1NYuW+2Y/vx+C6WqJL27coz6Ln5oX+bNPCV1OU7ec5Kb4iPfESMKd0mZmrIbHwgKay5BwKSVycqY7AKW0A8l7RJr6eQp36RIw/UJ+p7bRQ2ykDMNZsdkmuQ= 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=bnGEd17s; arc=none smtp.client-ip=74.125.224.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="bnGEd17s" Received: by mail-yx1-f97.google.com with SMTP id 956f58d0204a3-65c5361142fso8009640d50.0 for ; Sat, 23 May 2026 10:24:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779557040; x=1780161840; 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=CvShgkUk0LLFexu2oj8MOC+qUkWXWSYbkffsSPaOuSc=; b=k08eZa8JtoHi/aFVVCoefW1SiwK/7aCJ+n7C13Z0KXfrS8eUBgAb+I08rBUaPCnV0o 2Vpj4JlwwdWurMCWfasQ3YejvITuhkhPSDnkD/J3hSZXXTW10nP7kuHnfI7NO054n9w+ lRBtc6+DxDsglLGhffMB0wRZU9mbVKxZrWDX0sghy1vVez+G9sZhHi86L23aRK8KDTUe XBChfG5Q2d7Hy6r2VaMAEOZL0A057xURShJuIhO6vZ389SKXGrJTwJ1HRhUWpwExkWwG MzywqQ9Un18tEsMF/PIDlhz15WwoNpXcksgOJKxwB6p9Gf0c37fA1+MwaKD4V3mpHnVE 4yPA== X-Gm-Message-State: AOJu0YxuFoYXoYfzdAaq8AC4lzZguLT9C1A7sr9Q/asReaDN/FHkzdPV c/qCwqi4Pwuz0TDu753VX0P8AavLsLWt2XZwZNq170Tx5xIHTfF5EVCuox8DVETvq9Ef4BjKy+7 0Qe604YJtIyYw4KUlF+myZFOhCAr509LiLa8SYqU8mb9ZfhP9EaEEQiYM7bWM/2K3GzaHi8Q4EH +PyOCfOBksGxQl0EHDBqhLymgcvEIhzN/OAdTJtsepueYmOmPclKF7v6VTrHJel/Ut5gJEDq0Sg IY2Z3ABjC3tnUfrs9k= X-Gm-Gg: Acq92OEj6tOajx70viuMcmZGZcOqWeq1PwB0sQ7sWMN4FwLW/Oi1dKDiADwPwGeD75W m4HNNKb2azzDdlG1bk1z8T/u4RTjXhCJuG09a6tj92+enVfGtU70P0oOfV3ZBy/hs4QQMI1tnGE dKjOIdAAeV9v4XUCKGyJ9nBTvmoLXw2oDwaxMKMvYxjp/y/TTS2xcaI27snKW8OQ9Hb1HHaCcDN imSQChJpy8W6P9xWJ8aWI3AbY8gg7PJClQo65kRHJubleOiWnbxvbsx0TQbZ85JUWTYL1DcjIzh HnwGvHT867cXkNpZbZzRl9U3oMse2JUsQyAVL01+ypdkMsSNzmfRZda2AMq/C8YXScbgovHcGBi HGSwIkKuOd6SUTimfa5QQulmvCtCar4Rr7P3zzY8W00Ms1a79fvRQbc9K8WWMbDuUS65FpowQyM Mr7C8e1xoXb+BjL3p32krx+QeJY5c0Wmu1yRSfFpFGkey/TGnQCT2nGYEN3Lo= X-Received: by 2002:a05:690e:2504:20b0:651:ccc1:b4f1 with SMTP id 956f58d0204a3-65ec961a160mr6437691d50.2.1779557039852; Sat, 23 May 2026 10:23:59 -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 956f58d0204a3-65ecf6bef8asm344514d50.0.2026.05.23.10.23.59 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 23 May 2026 10:23:59 -0700 (PDT) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-367fd7b8825so8159565a91.0 for ; Sat, 23 May 2026 10:23:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1779557038; x=1780161838; 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=CvShgkUk0LLFexu2oj8MOC+qUkWXWSYbkffsSPaOuSc=; b=bnGEd17sLSmnysOfM3Pv36rbRrs0LgoD6Rev1zpHwwDhsvKpzRx7qK0/W6BMMPj8qW jpR37gezShFECz2JQxvCIwmLuTcRkwXUFHkom8bgYEDzwD/Vkt1unNj0g2YoNDISBjlF Ql8EnXrxRSUhCFcorXSLR5DZ3ypKFzXnQ3Mwc= X-Received: by 2002:a17:90b:4c50:b0:369:bddb:79bd with SMTP id 98e67ed59e1d1-36a676c6a95mr8117869a91.25.1779557038399; Sat, 23 May 2026 10:23:58 -0700 (PDT) X-Received: by 2002:a17:90b:4c50:b0:369:bddb:79bd with SMTP id 98e67ed59e1d1-36a676c6a95mr8117862a91.25.1779557037953; Sat, 23 May 2026 10:23:57 -0700 (PDT) Received: from pc-hpe-top-git-sendmail-server.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-36a725d0109sm6839847a91.17.2026.05.23.10.23.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 May 2026 10:23:56 -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 v2 fwctl 0/3] fwctl/bnxt: DMA buffer support for HWRM commands Date: Sat, 23 May 2026 22:55:17 +0530 Message-ID: <20260523172520.627531-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. 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 | 38 +++ include/uapi/fwctl/fwctl.h | 3 + 9 files changed, 987 insertions(+), 8 deletions(-) -- 2.52.0