From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (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 629AF4968E7 for ; Tue, 9 Jun 2026 16:45:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781023519; cv=none; b=SFk5jXFAouXy6v/XSehjPA7j8P0CDTPhTB9KROzblCbV0i0CItWP2sUovgnyi/1fgZeEtzY+GlNeIACjC2S50bvZjFw4u59IL7L1xHF6U5Mb7HVoOiBAZDpYH7iA7IOvJeQBJcQK6sx3rIUhbZEKBR4Ps9ouGtkOO9I+EYHVaKs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781023519; c=relaxed/simple; bh=8wausxUPOgNLfbiJPcncQ/auFbeylOlT/hS6b0Jagkg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=EYdfAii/jiN63X+AMGbG4XM3Xul7sSL+gv0r9iQDUNdCesM4w+STZM6yBIkyM0P8dsIobsV2Vpktgq9c78h+0QC1qbMLh3QWcdV6HvbNeRYh5m1wSOopdwlP42EN1D3REuv+cQw4RiHqVGxbudFPd5nJRdOULc6J+DcAlV6vACY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=jw9ziCqr; arc=none smtp.client-ip=209.85.128.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jw9ziCqr" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-490a76757e5so37984975e9.2 for ; Tue, 09 Jun 2026 09:45:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781023517; x=1781628317; 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=M0k7ym6VlytNaWxTXaJuUlFnXBgEzjB0STL4A4y7nWg=; b=jw9ziCqrcapOwsjAWmjsJscmOG/q+W2llTA4TY5+/25skz9FKZopocwKC4kZiOTyCE 5QKpDlXBppK8zazlR5aEj1FuD6mnLIrNRWb05w5UrL/AJiQgj5Pk55LQelS3az4xGyOj W0TOx8/xUol6ViX973NJJNXQG1ARDvJKFz0TS4tVbgS2vS/EADwrn0v+XW7u2+o+pC3G BwixQfndX2YDkIusCMOJLjVtg2n5mVBDnot7PfN1V5PEID7Ol926HLrbYh5jkggVIoIj wALfXhRJ6FFuxhrirddUEN7+dfNCzxRYxdNXvst/pdyKq+9wsoGEpL+HhGSFEivM1SJ9 Al1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781023517; x=1781628317; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=M0k7ym6VlytNaWxTXaJuUlFnXBgEzjB0STL4A4y7nWg=; b=L6seqFQ3X67JRzw/ZqF64ULP9Dk3fbSfhdy5XVGci2LkpG71a4ZK9cGr7sPl+4ui4c zz6BLpCAcRJQAHprX7oEikatIIcEKkAK6zekaIFRgKcVvV+B0xDFyt0sfn38795RkBCN FQZGFYNY4wr3M99KXdV/NrIR1YxGiJAJX7iZdYsM5cpiOw0cvuFmaU7zXdhlw+u7tgwZ K0FQdDBg68byb48vD9ptftmB4OW7aEYjAA7TQ7npqlYXkiUd2RYOqr5bVJRNfY+yEk6H df2FHPde8REsQXS/X8z2JjK8DB5qNf2pOMPupa8dSj4wpDDjhZUA6AJ0iSOevd+LfOkz +5Fw== X-Forwarded-Encrypted: i=1; AFNElJ932kwFTYmSYY2qETEqj3BbHnhDO50/GQlZCYY4dNLT71Z7VOyPt+WiXn3euC5b7tXDl+ZJ7xSFVmptWfo=@vger.kernel.org X-Gm-Message-State: AOJu0YzDTMddoR9bWeAu1e4yRUPTLV3Dz6VBq1aXHeNX6Ik3ItUwkhTf QgiRQ8iqd4vfGNT3LcLmNxXUfhJ0Ej0VKRJ/6oOaAEd9fUxnUpBEOouH X-Gm-Gg: Acq92OE0aLH8s+cwd5k0sW1Yjsf57meG1Ltdki2ozH2e83oQa+42nGdz7eb6O5b48Dl iWWr1nH8jKf/ViYI6vp1cb5QUpBG1P1Hnvzhh1COZNR1c0tEkqrhNLLYvQxdCpS0oMVebPKZLu0 63hCRHLIE9ZLE+cAfFLdltjURNXpCGnQ0kmDCC63aZWg49SJvz+x2dROT9+Y8UsI9I+8eB7wynD aADFFkTtPZwiiSnHxKhsvgzfsaHCDvl5CPg8s66Cuas0hH/GVGg648+FWv/nENeaggLjfdLH61P NSJrQW0eG4dIrPE3Kt9vNMCCi6D7mSHwZf/BNk2ixPxaeiyW49X19DqxabDTnesTaJ1l6TQ9faj Fow5616luYFYUZQGtXkZwcT/zzR4eSR+rLLfbQcoCeLtyEjsY6FoCSa2/dfwEHzLoDIRYEJ2Sb7 Gdym0EYW+zXyxMFvRg X-Received: by 2002:a05:600c:5488:b0:490:9d1b:f07f with SMTP id 5b1f17b1804b1-490c25b1277mr404826055e9.12.1781023516628; Tue, 09 Jun 2026 09:45:16 -0700 (PDT) Received: from localhost ([2603:c027:c000:3cde::f]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4601f2dcbe3sm59351635f8f.8.2026.06.09.09.45.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Jun 2026 09:45:16 -0700 (PDT) From: Louis Sautier To: Sathya Prakash , Sreekanth Reddy , Suganath Prabu Subramani , Ranjan Kumar , "James E.J. Bottomley" , "Martin K. Petersen" Cc: Guenter Roeck , MPT-FusionLinux.pdl@broadcom.com, linux-scsi@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 RESEND 0/2] scsi: mpt3sas: add hwmon support Date: Tue, 9 Jun 2026 18:44:21 +0200 Message-ID: <20260609164423.2829699-1-sautier.louis@gmail.com> X-Mailer: git-send-email 2.54.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Expose the IOC and board temperature sensors of LSI / Broadcom / Avago SAS HBAs that bind to mpt3sas through the hwmon interface. The data lives in MPI IO Unit Page 7. The same fields are exposed by Broadcom's userspace tooling through the /dev/mpt[23]ctl ioctl path (typically root-only): IOCTemperature and BoardTemperature in lsiutil; ROC and Controller in storcli. With this driver, sensors(1) shows them unprivileged: $ sensors mpt3sas-pci-0200 mpt3sas-pci-0200 Adapter: PCI adapter IOC: +42.0°C v2 -> v3: v2: https://lore.kernel.org/r/20260518184109.770185-1-sautier.louis@gmail.com * Removed stale Documentation/hwmon/mpt3sas.rst reference from Kconfig help text. v1 -> v2: v1: https://lore.kernel.org/r/20260512214703.655633-1-sautier.louis@gmail.com * Dropped misleading Documentation/hwmon/mpt3sas.rst. * Dropped inaccurate concurrency-wait figure from Testing; corrected empirical data is in the on-list discussion. Testing ------- Validated across three Broadcom SAS chip generations. None of the cards had a board sensor present, so the testing only covers the IOC channel: * LSI 9500-8i / SAS3816, SAS-3: - hwmon device registers as "mpt3sas" with only temp1 (IOC) exposed - IOC reading matches `storcli /c0 show temperature` and `lsiutil -p1 -a 25,2,0,0` - rmmod / modprobe cycle goes through the explicit unregister/register paths cleanly * LSI 9305-24i / SAS3224, SAS-3: same behaviour. * LSI 9211-4i / SAS2004, SAS-2: firmware reports both *TemperatureUnits = NOT_PRESENT, no hwmon device registered (graceful-skip path). Not verified (no available hardware): * Path with both IOC and board sensors present. * Fahrenheit-units conversion. * Sub-zero readings (signed-cast path). Louis Sautier (2): scsi: mpt3sas: add IO Unit Page 7 config accessor scsi: mpt3sas: add hwmon support drivers/scsi/mpt3sas/Kconfig | 9 ++ drivers/scsi/mpt3sas/Makefile | 2 + drivers/scsi/mpt3sas/mpt3sas_base.h | 19 +++ drivers/scsi/mpt3sas/mpt3sas_config.c | 36 +++++ drivers/scsi/mpt3sas/mpt3sas_hwmon.c | 200 ++++++++++++++++++++++++++ drivers/scsi/mpt3sas/mpt3sas_scsih.c | 6 + 6 files changed, 272 insertions(+) create mode 100644 drivers/scsi/mpt3sas/mpt3sas_hwmon.c base-commit: 5d6919055dec134de3c40167a490f33c74c12581 -- 2.54.0