From nobody Sun Jul 27 13:22:09 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bqj294G1Qz62Qjt; Sun, 27 Jul 2025 13:22:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bqj291TG4z3HdT; Sun, 27 Jul 2025 13:22:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1753622529; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zJPjvmGuegVFybd8ogSaaZWi4UoTrEujUKQyspY1edk=; b=QqB4qyM/aWiZNTogqV7YBV0J+PPbonvDzEr8vcK6vYMzX4/+MZSsaLb+FKdsWNHVNtH5kA 2FzJ/OcuzBZPk/boqEhrtIf+/6mzfvFSsgwUi/HJplUASJc5XM9v546qXzTLXIJzsb1Jss ngQQ8D0/WmFwjDLyptXUNCeSyT2jj1CHa+6GriPZqEsJP9QkBZiPAvnqZvN+LrPRKZT0s0 PBS/OPmo0VzSI/kFd/Q3gwwJ0denNKK0+cu91GZJqdlMfSr+eoKn9jptCwmn4Ywag7OulZ O0Z7As02us/XoG7m7ncbPwDtTkaowKCLIcnEuwr4SwrJEgKTANYGjNTjZxQCyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1753622529; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zJPjvmGuegVFybd8ogSaaZWi4UoTrEujUKQyspY1edk=; b=BC3hkys7hO/H9xE0xnpQ5e1DK+IVEOHDB5GWxE34qXEqQoKWYDMImsGd5n5aNOJKofusEF UNQ62kWWK/8HsV8FinGZFUTwzDa1xdx7zH8TmB49dxnTiNT8FekavZNrkOsS3hk/i9akWe kGDMUJSfo00ePlpxoa7VgYKAO1mhXqjGkX3XHtXt5MdSzXKw8eg1uPSZyZRiuDTVd+5Kn+ Ky3WaYp/Yf0Fhe/aOjMIf0cAYJkBnSV5CXDzwn18iY0o8od7vDha3mlz7ufhat4PBbH6E4 1Uzq2NBNeyKMwLI7oK+vbfzjS5Tf7z3KV9DjQBNiyKoTaM1IxxAYSPN8Wm9TzA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1753622529; a=rsa-sha256; cv=none; b=N+Df37HEGLWaCy4Cm+1o78PmikL3kd83XqvpWyZbnqDZke78YaLGdvGT9yn3Gg9AXtf58n 16Wehy573F8n6AbqkaDVs9CAuAN8KjYEY0LGdoNiOegWQ2uyyN0T7rc+EmETmnyUyFqrdU B+8BKy+1WrYlV4EUd1j45pd+o4Yx0rqUv3aWLY+SK9K2fyLe9OwevV9jKENY7bv5V1kU03 LRpphIjXB6eHTrUfJnFC0F9CZN3ldDbUKYCEvgTbXWg/2VqeQnoYPkmjBJpPlnZhNFkZmk U5sJ08n+OUxH1xhlER3zDvEAngI+zkyZgJIhhsr0xyviS1GG5Aue24lJ+7ljhA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bqj290yShz1GD3; Sun, 27 Jul 2025 13:22:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 56RDM95t057531; Sun, 27 Jul 2025 13:22:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 56RDM9JB057528; Sun, 27 Jul 2025 13:22:09 GMT (envelope-from git) Date: Sun, 27 Jul 2025 13:22:09 GMT Message-Id: <202507271322.56RDM9JB057528@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Aymeric Wibo Subject: git: f2de5a6dd7bb - main - amdsmu: Read and dump idlemask List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: obiwac X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f2de5a6dd7bb32f09d5ad290307c2533d3071fee Auto-Submitted: auto-generated The branch main has been updated by obiwac: URL: https://cgit.FreeBSD.org/src/commit/?id=f2de5a6dd7bb32f09d5ad290307c2533d3071fee commit f2de5a6dd7bb32f09d5ad290307c2533d3071fee Author: Aymeric Wibo AuthorDate: 2025-06-19 04:17:09 +0000 Commit: Aymeric Wibo CommitDate: 2025-07-27 13:17:51 +0000 amdsmu: Read and dump idlemask Read and dump the SMU's idlemask value in `dev.amdsmu.0.idlemask` sysctl. The idlemask is used internally by AMD and its value is not documented anywhere. This patch exposes it mainly to help AMD diagnose issues with S0i3 entry on FreeBSD. Reviewed by: cem, emaste, kib, mckusick (mentor) Approved by: emaste, kib, mckusick (mentor) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D51487 --- sys/dev/amdsmu/amdsmu.c | 15 +++++++++++++++ sys/dev/amdsmu/amdsmu.h | 1 + sys/dev/amdsmu/amdsmu_reg.h | 1 + 3 files changed, 17 insertions(+) diff --git a/sys/dev/amdsmu/amdsmu.c b/sys/dev/amdsmu/amdsmu.c index d46b0fc4f5ec..416f875c6176 100644 --- a/sys/dev/amdsmu/amdsmu.c +++ b/sys/dev/amdsmu/amdsmu.c @@ -281,6 +281,14 @@ amdsmu_dump_metrics(device_t dev) return (0); } +static void +amdsmu_fetch_idlemask(device_t dev) +{ + struct amdsmu_softc *sc = device_get_softc(dev); + + sc->idlemask = amdsmu_read4(sc, SMU_REG_IDLEMASK); +} + static int amdsmu_attach(device_t dev) { @@ -407,6 +415,13 @@ amdsmu_attach(device_t dev) if (err != 0) goto err_dump; + /* Get idlemask & add sysctl. */ + amdsmu_fetch_idlemask(dev); + SYSCTL_ADD_U32(sc->sysctlctx, SYSCTL_CHILDREN(sc->sysctlnode), OID_AUTO, + "idlemask", CTLFLAG_RD, &sc->idlemask, 0, "SMU idlemask. This " + "value is not documented - only used to help AMD internally debug " + "issues"); + return (0); err_dump: bus_space_unmap(sc->bus_tag, sc->reg_space, SMU_MEM_SIZE); diff --git a/sys/dev/amdsmu/amdsmu.h b/sys/dev/amdsmu/amdsmu.h index 0ec15d003984..025887f7fe5a 100644 --- a/sys/dev/amdsmu/amdsmu.h +++ b/sys/dev/amdsmu/amdsmu.h @@ -77,6 +77,7 @@ struct amdsmu_softc { bus_space_handle_t metrics_space; struct amdsmu_metrics metrics; + uint32_t idlemask; }; static inline uint32_t diff --git a/sys/dev/amdsmu/amdsmu_reg.h b/sys/dev/amdsmu/amdsmu_reg.h index 721c5ac17bd3..e685b34e6883 100644 --- a/sys/dev/amdsmu/amdsmu_reg.h +++ b/sys/dev/amdsmu/amdsmu_reg.h @@ -32,6 +32,7 @@ #define SMU_REG_MESSAGE 0x538 #define SMU_REG_RESPONSE 0x980 #define SMU_REG_ARGUMENT 0x9BC +#define SMU_REG_IDLEMASK 0xD14 enum amdsmu_res { SMU_RES_WAIT = 0x00,