From nobody Mon Oct 6 21:50:13 2025 X-Original-To: dev-commits-src-all@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 4cgXxd4qQPz6BdYM; Mon, 06 Oct 2025 21:50:13 +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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cgXxd3ZtGz3WyH; Mon, 06 Oct 2025 21:50:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1759787413; 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=jJ+TgInlCs9pOXKgQVDNOC4VXwNQEAShRrg4PJkoO7Q=; b=vNpz2EAWaupvWZiBt36kRGQlPJw+P7/SnKWiKBkzsbZBuRR5+516QHwEkZYt8ThUq6E2eg ISTQ/ATNJYsifbG3sgthxY++Uztg6uJEgSF0Led+LwMwwzawY042RqrUmxCBMDsqJEarBR QIiJV+DgPk8Re7MOJifRLC2WstCMgysdrbEkJmP2glxBwjLjw0P2DVhtWXqydu7IKU/QSS aTs1so19r7RnyJ9dGQCx/xUlBQQhjs4GdhrUYj6Yh42/VkNxOfeqvM2Xa5rXLo/bhFKlgI B/xuTo83PBb4j9HQ0Bu2xQ7S007KJ4oHGx0HU66E0a5SDKCGq5iRQqXEnWNYqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1759787413; 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=jJ+TgInlCs9pOXKgQVDNOC4VXwNQEAShRrg4PJkoO7Q=; b=X6E/x9xf32aggnORitCVCRa4pJJrMC8JOqnJ4I/7dElc4oP9hyOhieMFz7x0vVpms6S+/z 54TgfQdcF31Qr3W5UQXjaUT+awp3p6XrSX1A3pEUOMyN78KPY8QcgzyFqqjp8gRuW810sU yQXtaajlbGG+U7/CDesMHM02LpMIt6UWezCgrUVg1x7iBdjNwGa9UZ4MJJXpAunCz6TyEz sl/eGgSFgxy0LQIITkPqFRzQP8Pmp/ke2eGswHkPcIBEF/tJ//iNKUDK17S3eTEm230BV8 TmxqBq0exq3wqgPtBs+yZw6tKlWefGqsVfPIm/R/9p6VG+MEO4M8Z8y1krp+iA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1759787413; a=rsa-sha256; cv=none; b=LFTgzSmbIvntSBsyTKvTzWBFCvOkKdaEBduzK+UCY/353albuy/3SxfrSBCP6yaPzOlv/E jHmNldcGgKrNIqzbdyTCWp/Lnm5TNNVHP1irL1Bf+6gDVViU9+QrpGwSUSwZnuyRL7pB0R l6Hvy7I7M3b8AngPFRYi/+lZNIMTljUOLnFeGX5i7p8M9+bu6LLVWj23CfngdfEQ6J93jt r2MZpoNcFw4dROAb82VNNV2GouwDOt9VyeJIEc5iC2PIuHzXBIQRJNHbShTmKlvzPsutZS bRaJMfPc2DG/ZrF3i0KXYM88gOHroCmlYflGnAR6J8SE+bxY7hrIkUWLuFsUAw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none 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 4cgXxd39Ncz1xv; Mon, 06 Oct 2025 21:50:13 +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 596LoD93072202; Mon, 6 Oct 2025 21:50:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 596LoDYv072197; Mon, 6 Oct 2025 21:50:13 GMT (envelope-from git) Date: Mon, 6 Oct 2025 21:50:13 GMT Message-Id: <202510062150.596LoDYv072197@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: a25cfcab9a9d - main - linuxkpi: Support s2idle in `pm_suspend_target_state` List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: a25cfcab9a9d2c7d733b85bf04b504369623de1c Auto-Submitted: auto-generated The branch main has been updated by obiwac: URL: https://cgit.FreeBSD.org/src/commit/?id=a25cfcab9a9d2c7d733b85bf04b504369623de1c commit a25cfcab9a9d2c7d733b85bf04b504369623de1c Author: Aymeric Wibo AuthorDate: 2025-10-06 21:38:58 +0000 Commit: Aymeric Wibo CommitDate: 2025-10-06 21:49:54 +0000 linuxkpi: Support s2idle in `pm_suspend_target_state` When going to s2idle, set Linux' pm_suspend_target_state to PM_SUSPEND_TO_IDLE instead of setting PM_SUSPEND_MEM (for S3) in all cases. This is necessary because more recent versions of the amdgpu DRM drivers have different paths for when entering s2idle & S0ix is supported than S3. Reviewed by: bz Approved by: bz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D51591 --- sys/compat/linuxkpi/common/src/linux_acpi.c | 30 +++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_acpi.c b/sys/compat/linuxkpi/common/src/linux_acpi.c index 60e14cfc98c5..c7d62c745c7e 100644 --- a/sys/compat/linuxkpi/common/src/linux_acpi.c +++ b/sys/compat/linuxkpi/common/src/linux_acpi.c @@ -119,17 +119,27 @@ acpi_evaluate_dsm(ACPI_HANDLE ObjHandle, const guid_t *guid, } static void -linux_handle_power_suspend_event(void *arg __unused, - enum power_stype stype __unused) +linux_handle_power_suspend_event(void *arg __unused, enum power_stype stype) { - /* - * Only support S3 for now. - * acpi_sleep_event isn't always called so we use power_suspend_early - * instead which means we don't know what state we're switching to. - * TODO: Make acpi_sleep_event consistent - */ - linux_acpi_target_sleep_state = ACPI_STATE_S3; - pm_suspend_target_state = PM_SUSPEND_MEM; + switch (stype) { + case POWER_STYPE_SUSPEND_TO_IDLE: + /* + * XXX: obiwac Not 100% sure this is correct, but + * acpi_target_sleep_state does seem to be set to + * ACPI_STATE_S3 during s2idle on Linux. + */ + linux_acpi_target_sleep_state = ACPI_STATE_S3; + pm_suspend_target_state = PM_SUSPEND_TO_IDLE; + break; + case POWER_STYPE_SUSPEND_TO_MEM: + linux_acpi_target_sleep_state = ACPI_STATE_S3; + pm_suspend_target_state = PM_SUSPEND_MEM; + break; + default: + printf("%s: sleep type %d not yet supported\n", + __func__, stype); + break; + } } static void