From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (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 2439E38238D for ; Mon, 18 May 2026 18:41:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779129686; cv=none; b=L4O8qzHjo8y/WHT9JG1zLO20XGYRFD+mepAjek6NWsSpZzdLyDbLz2Yc3gOsqsh99BJ6Fc7meIH7bcU1ZONNgiMVYwrK8spN3gGwvmNtcLc1GLa6rODZuFjxTA+cLgrrKtQ29FWIQqKooZt1NEBFTz0qhJndVUOQH7UbdZPzfpM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779129686; c=relaxed/simple; bh=OzEYtXnV85GnF+LqOcz5UNsNvTkWQ53yW9dRfFpIzTo=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=ALowmN2c3RPLU0t66KSHP8BaqmYUgJnNAoqNVzZnl5x0XnlYwrAAfTRuGH0F4Vl1khG44w5KWHR1HtZWZAN5ffpi3PxcUgfiMlwRfngA6+kK9M6KBt0TNOj65WwiGfDW2bUSxlNbbHcU/c0YoJRcSXBnIy8/TJzp4bkxpyDJVKY= 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=Jo+j94yS; arc=none smtp.client-ip=209.85.221.44 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="Jo+j94yS" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-449de065cb3so2533136f8f.2 for ; Mon, 18 May 2026 11:41:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779129683; x=1779734483; 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=U7pmfatTAGCFopvwOxekiavKhWvJwuVBKlcaz6/af+I=; b=Jo+j94ySkMhMW7OIVytFRNRxxPNESIum42HrGU3sfwOrtDF6tfKSasKcheKgfyruhL EkYIriQgzR8e0NrFAe5n3yuUwSqUHN9cRN9foad99O1j4cHnjoWkdhKAVOf5eOoQVdfE qQQpZEMKgYfen1tFlHD97dtCeZVF85YZFIALrGGzBC68PGKkZte9DqDcYGmacElXKtex 8JFT+qINcM/zr2yqJCIyISp8Jm8JE2fsDNQ0OMfjWuRqHPLmFylgHYOyjGW/VL7nwYQS uXkoehVWtEn+ZvLKzcSAd+vgJPY4K8QLIzzoeMT/QfovEGFiL58gbGXNWvnmRPlxAchG NKLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779129683; x=1779734483; 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=U7pmfatTAGCFopvwOxekiavKhWvJwuVBKlcaz6/af+I=; b=dF9QQndnHnTgOXuajRVZLj+O+e31m2xZ8WxMksMIpJntjBG00cVn3P1Pew5MygcfHD 0VjyXmh7YjrxEZfWVtfoy1th67x2XE2y7wZhiJWbSKq3USp3+PWHHiohvXm9uiJBnIXG vq8mqiq95nXxH6gGSLRL4r154bhnWjjMQfyVqB6oJKKwSYa5PODvseFFCpC+LlINKRo+ gXHGYY5T0VSxJmKpht9jiCTj1pob2Jrnx+jlKkNSexRSbVbw9Du8V/F/liZ4VPBH8Y8o cQfzCffPlqR0h8YLajTocphQimb+H/sz+itJHh8ul6M13EDrV03xPHzQ/3rxUio95gX0 ttWg== X-Forwarded-Encrypted: i=1; AFNElJ896DLlnzJ2UXita/7AK2oWh6vODvUSclNe0WjuukCdC/ASvt2CXYIlAEmogmRjAMHUJmeAbhb58g6Rd2I=@vger.kernel.org X-Gm-Message-State: AOJu0YyuGGb0LwiDZy2Cz1d71kDIKTED5DRRLutlDeoVlTeo+HyaCNM+ rVu1a816g0CZUheTD19gAZTk/7w5GD8doR4DMt/4lrGNj13YkRoiFvfg X-Gm-Gg: Acq92OHnffc/bu+deQpSpeNuOY48BUFg9YK11njKq8/1D5lkF2RYDlKb8PU5X3O7Ei9 2gzNgIGu43rjj0cuKX+GPmu0LteTP4VV/ivsG80xRNDetmYCYDC1td9oZNGmGx9hHF2Bm5CSWvF /Kzym5nkh7UIMR+7Vk1upceLaRWGBmplNSHxXGfjv+/XiYU+kOw3RGb51s9Mr5r4yIMRqXUmalh ZVvJUi9sf/V6LeoCOMqwfrcPvPGsoym1m5qYbWv62SaiTRH47vwxRTPHkRC50Y4snkuW5UHyMuP J2OONThbiQfV4/S3Yqrx0ixbC6rQ5yilZ8WM6WP3Qk6FexNJUHuCdSe8z5dahPx1TZrKBT7H3pb 3RACiemmwx3eDo36OjugQY8JJ7TW3oJvP52KRIhYastA9Nw9+LsuX27zvHcRAJ5bxhnhc01Zol/ 272Q1gCbo= X-Received: by 2002:a05:6000:2902:b0:45a:e3dd:586b with SMTP id ffacd0b85a97d-45e5c59a269mr26461049f8f.18.1779129683293; Mon, 18 May 2026 11:41:23 -0700 (PDT) Received: from localhost ([2603:c027:c000:3cde::f]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45d9e768c4fsm39305594f8f.8.2026.05.18.11.41.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 May 2026 11:41:22 -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 v2 0/2] scsi: mpt3sas: add hwmon support Date: Mon, 18 May 2026 20:41:07 +0200 Message-ID: <20260518184109.770185-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 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