From nobody Mon Feb 9 10:26:33 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CDC35C76196 for ; Wed, 29 Mar 2023 01:52:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229765AbjC2BwH (ORCPT ); Tue, 28 Mar 2023 21:52:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46572 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229451AbjC2BwD (ORCPT ); Tue, 28 Mar 2023 21:52:03 -0400 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2089.outbound.protection.outlook.com [40.107.243.89]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 04A92E2 for ; Tue, 28 Mar 2023 18:52:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OE1W+1Yn4e1GuhToKTgyqqQkSt4+1nf9pHRzq/K8aayY0TJbPJS0et8BsoHq1HG1W03UY3GakTiWe3U5A9E4tvwD2LCujtjswNxdtsJLhIjkRyDr1/KPL19g7Wbn3gJzoZS/jy5JSjLT5t0T1v0XHzVOSWmQ0SFN+rDVs2LTC4W7w2XCc60wPyK7BC0DIU9zhP0azqzXf5KDGfBPAhLwdwoKahoV2mCceshQ03OxAfezseBrpxWzOWxXO7iiOqexidINe+G/uQq9Tvw80dcUxxcJ1gsn6I/mYfTjkyEW2R4UfSTWHT62M6L5VLKqPsbwApWNSJk/9ZkRRBwZ5na8Yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=TpPRzCVoU8SBia0TGgRHF/JJ9H0otrGk+VZwN8hLMXk=; b=KRgYRppkUKFnsx+n+hctGeHSkFOUE7uU9CIb8JQvx2wJBguzEHLCmoT5dgIIN47yFOwp81Yx1LJU5+FbXqylrYvPa+lAw0pFTPw2IWJedW2+NR/J5rRm7YGKbyuERXG3nhzZ33oDetKQbDdysMV0iY8yHnzMS8sk5S8f7AtOH0q55oD5oI4AY39ZdAaQacs8UO8txGD6pR7jLtK03GNmc/BVca3Q/FVEpNgEUdYHj3Z8lBeA5FA4cQAR3cQw8TMute61U2kh6zY0pPkTO2YszRGHp4IzVQ9D3CfUVakCy84htLrHoqdJN3sjJdODQF5ID8hUMwmF9DlTuT6S8HQs6A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=suse.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TpPRzCVoU8SBia0TGgRHF/JJ9H0otrGk+VZwN8hLMXk=; b=gUOrB8TbLJi8mGzf2ZQ55hT+vglwjbXZurXTtNRT/W5rqAg0XtMiiUBpTjwMH1tqn2SQPzTTJSbGjkDKL0uWt/JqCDS44N6WcG5UfMYBQj47XEkIpGz/pfbrjvdH9prIUIEh+jHg+RTnlHpUZLD8N5XVqSb9qq6ktRjhH5NiQqM= Received: from BN6PR17CA0058.namprd17.prod.outlook.com (2603:10b6:405:75::47) by CY8PR12MB7434.namprd12.prod.outlook.com (2603:10b6:930:52::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 29 Mar 2023 01:52:00 +0000 Received: from BN8NAM11FT106.eop-nam11.prod.protection.outlook.com (2603:10b6:405:75:cafe::ca) by BN6PR17CA0058.outlook.office365.com (2603:10b6:405:75::47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.20 via Frontend Transport; Wed, 29 Mar 2023 01:52:00 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BN8NAM11FT106.mail.protection.outlook.com (10.13.177.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6222.22 via Frontend Transport; Wed, 29 Mar 2023 01:51:59 +0000 Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 28 Mar 2023 20:51:59 -0500 Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 28 Mar 2023 18:51:58 -0700 Received: from archlinux.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend Transport; Tue, 28 Mar 2023 20:51:54 -0500 From: Wenyou Yang To: , , , , , , , , , CC: , , , , , , , Wenyou Yang Subject: [PATCH v3 1/2] cpu/smt: add a notifier to notify the SMT changes Date: Wed, 29 Mar 2023 09:51:48 +0800 Message-ID: <20230329015149.870132-2-WenYou.Yang@amd.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230329015149.870132-1-WenYou.Yang@amd.com> References: <20230329015149.870132-1-WenYou.Yang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN8NAM11FT106:EE_|CY8PR12MB7434:EE_ X-MS-Office365-Filtering-Correlation-Id: e5581fd5-11a5-47fd-72d9-08db2ff82f81 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tklSoLZxpcSdaRow6cPs65gwtZnDOycajN8akLuB/0CW9wdwRlkXZ/DL18h+edTpj4Xf9WdtTIjcugeYkgXLu+eRfiOK47TVmfmcy3vIgQpQtXgkMl8YkMrCmhWWzCX6L8amPoHz0tR2tEJ1nDuZKFo2Ef0m7Vb6HqloA5BwKbXyHVMD4npLM420K3eJrd/wiOSo1tRP8onfGPCYUpHygo7+FJczvDDy1iU75+5YuQi9ZrQ9RtDjCqI68md4porJrdGwmpd/KBp1vfHcnuDfWJzarll6TipGypHiHPbDZV8W6hpPBIZGEhQ/6hrf+tkbRfA1XM5USLA8q92PID93Bsq/2J877Y2gv7GmDvWGXqds9UOv78QAt/Zx7W0bora4RdJrFp+oO1qoJTlQ56ZhuEcdeDZD+hg+c5SUwM+Uff77/911nYcRWXsrj7YwTu/7/zNQZE7KSa3kouESc0wT8thfhLxZVvRvNaSDXoCFkvJajYVzs+Ue5WPAa6JmPeo96YmzlkBsrMy1e0hV/zPgplVdX/Mo4u6O83o3k66BInCvqfgPu/hhDuB5Nek7neQQGqkKTOrJJX2duReSfON8YQdQ/MWNl/7Lx6kppaDn/2kW8a7BvL7pDnvUrWC+6P3VAaVj4tBBmsDBKGIsfp9Zq3GQgzVVgd6ZSgDLviH6ooqqvKJVe39kuUyQs29p8Ci3CwA91GZs5wyVYl1V4CivMceWACY81CESE3Ywbur5dPdtpJ+OuhB67vCp9NvNOvtl X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(136003)(396003)(346002)(376002)(39860400002)(451199021)(36840700001)(46966006)(40470700004)(83380400001)(336012)(36860700001)(70586007)(2906002)(921005)(40480700001)(356005)(54906003)(1076003)(316002)(4326008)(86362001)(41300700001)(5660300002)(110136005)(6666004)(81166007)(8936002)(40460700003)(47076005)(426003)(8676002)(7696005)(82310400005)(70206006)(82740400003)(478600001)(26005)(2616005)(36756003)(186003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 01:51:59.7683 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e5581fd5-11a5-47fd-72d9-08db2ff82f81 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT106.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7434 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Add the notifier chain to notify the cpu SMT status changes Signed-off-by: Wenyou Yang --- include/linux/cpu.h | 5 +++++ kernel/cpu.c | 10 +++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/include/linux/cpu.h b/include/linux/cpu.h index 314802f98b9d..9a842317fe2d 100644 --- a/include/linux/cpu.h +++ b/include/linux/cpu.h @@ -213,6 +213,11 @@ enum cpuhp_smt_control { CPU_SMT_NOT_IMPLEMENTED, }; =20 +enum cpuhp_smt_status { + SMT_ENABLED, + SMT_DISABLED, +}; + #if defined(CONFIG_SMP) && defined(CONFIG_HOTPLUG_SMT) extern enum cpuhp_smt_control cpu_smt_control; extern void cpu_smt_disable(bool force); diff --git a/kernel/cpu.c b/kernel/cpu.c index 6c0a92ca6bb5..1af66a3ffd99 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -89,6 +89,9 @@ static DEFINE_PER_CPU(struct cpuhp_cpu_state, cpuhp_state= ) =3D { cpumask_t cpus_booted_once_mask; #endif =20 +RAW_NOTIFIER_HEAD(smt_notifier_head); +EXPORT_SYMBOL(smt_notifier_head); + #if defined(CONFIG_LOCKDEP) && defined(CONFIG_SMP) static struct lockdep_map cpuhp_state_up_map =3D STATIC_LOCKDEP_MAP_INIT("cpuhp_state-up", &cpuhp_state_up_map); @@ -2281,8 +2284,10 @@ int cpuhp_smt_disable(enum cpuhp_smt_control ctrlval) */ cpuhp_offline_cpu_device(cpu); } - if (!ret) + if (!ret) { cpu_smt_control =3D ctrlval; + raw_notifier_call_chain(&smt_notifier_head, SMT_DISABLED, NULL); + } cpu_maps_update_done(); return ret; } @@ -2303,6 +2308,9 @@ int cpuhp_smt_enable(void) /* See comment in cpuhp_smt_disable() */ cpuhp_online_cpu_device(cpu); } + if (!ret) + raw_notifier_call_chain(&smt_notifier_head, SMT_ENABLED, NULL); + cpu_maps_update_done(); return ret; } --=20 2.39.2 From nobody Mon Feb 9 10:26:33 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BBFE6C76196 for ; Wed, 29 Mar 2023 01:52:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229806AbjC2BwN (ORCPT ); Tue, 28 Mar 2023 21:52:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46874 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229805AbjC2BwL (ORCPT ); Tue, 28 Mar 2023 21:52:11 -0400 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2056.outbound.protection.outlook.com [40.107.244.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 43A5E270F for ; Tue, 28 Mar 2023 18:52:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=a3MnHwJCs17lF2336iyATNBK4ALwOsAqRai5TjGGHpDHxRT3hn4ImzOZP/cF2pnBHomkPwlXjCNWdxudruuxPnF78pZt/DsrmkR7j+cYTV9DQNxTSocv3jvjLrcxZlSSYD/6bo+EH1h1L7EEedEpwViA1pHIH1l82g7rpNooWbfnZXxQyhNItHIut7qnPM+C0/yoXUAjnr5UPwJWPWkOpSGOXVjSCJP+PLE65IhfZMqU0BNE+PjNXaz5THSkDil65WQJ60T0jM8kWQuj/z1VqgZOzhL/+cuWBV/+n8NKcT5ym+e7xjG2tqkxtsnnSSF0E/9T7gjPwW6fJvuN85Hgmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=uoKjHgaz+O6qb9LcdbBmRo8EcqmvbtRPBBiNrkHl9DY=; b=Qhqv541z/pWX6rxi8QSvildpznS71Ygi72iBOEZRRsz6Vorboi4sJEifBjtiSBhMdS0zsYpIj5JyUD3JV4VvYmZOG2KsPX4VbAM0XZOWxIPJtsl+NAdZn2zwDxrIRRxYT++hItkzYLEywdJqk3r7RVg+UDu0nc0DgD/wUn1qDoiyYLWJNJEA651SXKJOLxDRWvx0bNoh0s2PCaAGyw0+e7KmMM8S8ap7ohcJHUCgCif6NbPF1x+88O3aiZXMHrxDkkRJwiVbViguBWkioCVAWnMOC/Yq7gveKRalTRRRYeds3HitwEIu/Wjerfj0tpP/6JcA3ELRr/Rjx5xxVP2Fmw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=suse.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uoKjHgaz+O6qb9LcdbBmRo8EcqmvbtRPBBiNrkHl9DY=; b=A9LzA2InWveFNuu3io1fS5ks1PE4+40kI99FIcQVS/YtTS4xytWyxMLjSri0cZ0p0lx32A6oyQU6VYflTefFZ+EnOtnVkukZexiXw2FGP/fSnQowijPg+DaOUb3pQehHsWLmX8baUDthxWvg0lh5qvsa0ouiascK4yzmEx/+TlE= Received: from BN6PR17CA0034.namprd17.prod.outlook.com (2603:10b6:405:75::23) by IA1PR12MB6186.namprd12.prod.outlook.com (2603:10b6:208:3e6::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Wed, 29 Mar 2023 01:52:05 +0000 Received: from BN8NAM11FT106.eop-nam11.prod.protection.outlook.com (2603:10b6:405:75:cafe::d8) by BN6PR17CA0034.outlook.office365.com (2603:10b6:405:75::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.43 via Frontend Transport; Wed, 29 Mar 2023 01:52:05 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BN8NAM11FT106.mail.protection.outlook.com (10.13.177.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6222.22 via Frontend Transport; Wed, 29 Mar 2023 01:52:05 +0000 Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 28 Mar 2023 20:52:03 -0500 Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 28 Mar 2023 20:52:03 -0500 Received: from archlinux.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend Transport; Tue, 28 Mar 2023 20:51:59 -0500 From: Wenyou Yang To: , , , , , , , , , CC: , , , , , , , Wenyou Yang Subject: [PATCH v3 2/2] drm/amd/pm: vangogh: send the SMT enable message to pmfw Date: Wed, 29 Mar 2023 09:51:49 +0800 Message-ID: <20230329015149.870132-3-WenYou.Yang@amd.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230329015149.870132-1-WenYou.Yang@amd.com> References: <20230329015149.870132-1-WenYou.Yang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN8NAM11FT106:EE_|IA1PR12MB6186:EE_ X-MS-Office365-Filtering-Correlation-Id: a14d831e-7859-4c51-5281-08db2ff832f8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Yflm0ZgqILXKEiibCE9w9WGdWhjHh57K8YPpxoH8/BRNaVlQXain2wKcLP2R5dD7c2gJqVwrjhy3jnrXhS7KDfrJnSb8l7abyX2PfBJI3EMe15oQ+Vphfi6laJEkcyxpa+QieLQnSHPBwfpul5HvZ42LtUOd7sBDn2h+37P4/Xq2MWu4QXoe47TcGOwW8K+3aPizYx0huikNdRzzl/WukkwOw4T5RfD0sgokGb1b211f/C2AvdEir2UO9cTF5Kk4B+rOeqB5YD/On/wSdw8KsuBJQIJOpBiuR3DMRrqXQ5rLz5mD3CcZXgWQtAZlPUTwQ6fta2vCmJY++DGJ0KoJH/yFaYb7kwsYaKaPyXaeyMwogHc78QKzvFap6ywNylCuZfv9xXy43qBhLckNyW2Wg78ZFXvVFU55xiOSbtrBZk5UcVbsZY3/Sf0XBGVBqBqDwHgL94wc5YXb9BSaxIcKF5WB/iuJ0iSbspjeYd9eyCDOy7WQrh4V1AunG7E9c49R1xN/w6ddGfh91jgPAs5yHNsiHhd66b0GzzhHGrR7RYFUNJXZwczBbcqsB8o33S62yx7QHhAYzNArR5tIsbO0t+iMPNz6kyLREPCMgDtzyaQS3RAJvgzAajJLMbpEgSGpMpfzHOuiwTVjHXdWoOkh/LrMEi6N7URe/dqU6G/NCCK75N5vJncyFV5QTGxTmhrASMKhRdROV2Sv2OAmhVWOGsE3QpPQ9S5JJI0lXZ5/bpFwO9WsLohRM/6pOt7IhOWe X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(396003)(136003)(346002)(39860400002)(376002)(451199021)(46966006)(36840700001)(40470700004)(7696005)(6666004)(1076003)(26005)(54906003)(110136005)(316002)(478600001)(186003)(47076005)(36860700001)(83380400001)(70206006)(70586007)(426003)(336012)(8676002)(2616005)(41300700001)(81166007)(8936002)(5660300002)(921005)(356005)(4326008)(2906002)(82740400003)(15650500001)(40460700003)(40480700001)(86362001)(82310400005)(36756003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 01:52:05.5180 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a14d831e-7859-4c51-5281-08db2ff832f8 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT106.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6186 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" When the CPU SMT status is changed in the fly, sent the SMT enable message to pmfw to notify it that the SMT status changed. Add the support to send PPSMC_MSG_SetCClkSMTEnable(0x58) message to pmfw for vangogh. Signed-off-by: Wenyou Yang --- drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 5 +++ drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h | 7 +++ .../pm/swsmu/inc/pmfw_if/smu_v11_5_ppsmc.h | 3 +- drivers/gpu/drm/amd/pm/swsmu/inc/smu_types.h | 3 +- .../gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c | 43 +++++++++++++++++++ 5 files changed, 59 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c b/drivers/gpu/drm/am= d/pm/swsmu/amdgpu_smu.c index b5d64749990e..d53d2acc9b46 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c @@ -69,6 +69,8 @@ static int smu_set_fan_speed_rpm(void *handle, uint32_t s= peed); static int smu_set_gfx_cgpg(struct smu_context *smu, bool enabled); static int smu_set_mp1_state(void *handle, enum pp_mp1_state mp1_state); =20 +extern struct raw_notifier_head smt_notifier_head; + static int smu_sys_get_pp_feature_mask(void *handle, char *buf) { @@ -1122,6 +1124,9 @@ static int smu_sw_fini(void *handle) =20 smu_fini_microcode(smu); =20 + if (smu->nb.notifier_call !=3D NULL) + raw_notifier_chain_unregister(&smt_notifier_head, &smu->nb); + return 0; } =20 diff --git a/drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h b/drivers/gpu/dr= m/amd/pm/swsmu/inc/amdgpu_smu.h index 09469c750a96..4d51ac5ec8ba 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h +++ b/drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h @@ -566,6 +566,8 @@ struct smu_context =20 struct firmware pptable_firmware; =20 + struct notifier_block nb; + u32 param_reg; u32 msg_reg; u32 resp_reg; @@ -1354,6 +1356,11 @@ struct pptable_funcs { * @init_pptable_microcode: Prepare the pptable microcode to upload via P= SP */ int (*init_pptable_microcode)(struct smu_context *smu); + + /** + * @set_cpu_smt_enable: Set the CPU SMT status. + */ + int (*set_cpu_smt_enable)(struct smu_context *smu, bool smt_enable); }; =20 typedef enum { diff --git a/drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu_v11_5_ppsmc.h b/d= rivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu_v11_5_ppsmc.h index 7471e2df2828..a6bfa1912c42 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu_v11_5_ppsmc.h +++ b/drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu_v11_5_ppsmc.h @@ -111,7 +111,8 @@ #define PPSMC_MSG_GetGfxOffStatus 0x50 #define PPSMC_MSG_GetGfxOffEntryCount 0x51 #define PPSMC_MSG_LogGfxOffResidency 0x52 -#define PPSMC_Message_Count 0x53 +#define PPSMC_MSG_SetCClkSMTEnable 0x58 +#define PPSMC_Message_Count 0x59 =20 //Argument for PPSMC_MSG_GfxDeviceDriverReset enum { diff --git a/drivers/gpu/drm/amd/pm/swsmu/inc/smu_types.h b/drivers/gpu/drm= /amd/pm/swsmu/inc/smu_types.h index 297b70b9388f..820812d910bf 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/inc/smu_types.h +++ b/drivers/gpu/drm/amd/pm/swsmu/inc/smu_types.h @@ -245,7 +245,8 @@ __SMU_DUMMY_MAP(AllowGpo), \ __SMU_DUMMY_MAP(Mode2Reset), \ __SMU_DUMMY_MAP(RequestI2cTransaction), \ - __SMU_DUMMY_MAP(GetMetricsTable), + __SMU_DUMMY_MAP(GetMetricsTable), \ + __SMU_DUMMY_MAP(SetCClkSMTEnable), =20 #undef __SMU_DUMMY_MAP #define __SMU_DUMMY_MAP(type) SMU_MSG_##type diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c b/drivers/gpu= /drm/amd/pm/swsmu/smu11/vangogh_ppt.c index 7433dcaa16e0..07f8822f2eb0 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c +++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c @@ -35,6 +35,7 @@ #include "asic_reg/gc/gc_10_3_0_offset.h" #include "asic_reg/gc/gc_10_3_0_sh_mask.h" #include +#include =20 /* * DO NOT use these for err/warn/info/debug messages. @@ -70,6 +71,8 @@ FEATURE_MASK(FEATURE_DCFCLK_DPM_BIT)| \ FEATURE_MASK(FEATURE_GFX_DPM_BIT)) =20 +extern struct raw_notifier_head smt_notifier_head; + static struct cmn2asic_msg_mapping vangogh_message_map[SMU_MSG_MAX_COUNT] = =3D { MSG_MAP(TestMessage, PPSMC_MSG_TestMessage, 0), MSG_MAP(GetSmuVersion, PPSMC_MSG_GetSmuVersion, 0), @@ -141,6 +144,7 @@ static struct cmn2asic_msg_mapping vangogh_message_map[= SMU_MSG_MAX_COUNT] =3D { MSG_MAP(GetGfxOffStatus, PPSMC_MSG_GetGfxOffStatus, 0), MSG_MAP(GetGfxOffEntryCount, PPSMC_MSG_GetGfxOffEntryCount, 0), MSG_MAP(LogGfxOffResidency, PPSMC_MSG_LogGfxOffResidency, 0), + MSG_MAP(SetCClkSMTEnable, PPSMC_MSG_SetCClkSMTEnable, 0), }; =20 static struct cmn2asic_mapping vangogh_feature_mask_map[SMU_FEATURE_COUNT]= =3D { @@ -221,6 +225,9 @@ static const uint8_t vangogh_throttler_map[] =3D { [THROTTLER_STATUS_BIT_TDC_CVIP] =3D (SMU_THROTTLER_TDC_CVIP_BIT), }; =20 +static int smt_notifier_callback(struct notifier_block *nb, + unsigned long action, void *data); + static int vangogh_tables_init(struct smu_context *smu) { struct smu_table_context *smu_table =3D &smu->smu_table; @@ -477,6 +484,9 @@ static int vangogh_init_smc_tables(struct smu_context *= smu) smu->cpu_core_num =3D 4; #endif =20 + smu->nb.notifier_call =3D smt_notifier_callback; + raw_notifier_chain_register(&smt_notifier_head, &smu->nb); + return smu_v11_0_init_smc_tables(smu); } =20 @@ -2428,6 +2438,12 @@ static u32 vangogh_get_gfxoff_entrycount(struct smu_= context *smu, uint64_t *entr return ret; } =20 +static int vangogh_set_cpu_smt_enable(struct smu_context *smu, bool enable) +{ + return smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetCClkSMTEnable, + enable ? 1 : 0, NULL); +} + static const struct pptable_funcs vangogh_ppt_funcs =3D { =20 .check_fw_status =3D smu_v11_0_check_fw_status, @@ -2474,6 +2490,7 @@ static const struct pptable_funcs vangogh_ppt_funcs = =3D { .get_power_limit =3D vangogh_get_power_limit, .set_power_limit =3D vangogh_set_power_limit, .get_vbios_bootup_values =3D smu_v11_0_get_vbios_bootup_values, + .set_cpu_smt_enable =3D vangogh_set_cpu_smt_enable, }; =20 void vangogh_set_ppt_funcs(struct smu_context *smu) @@ -2486,3 +2503,29 @@ void vangogh_set_ppt_funcs(struct smu_context *smu) smu->is_apu =3D true; smu_v11_0_set_smu_mailbox_registers(smu); } + +static int smu_set_cpu_smt_enable(struct smu_context *smu, bool enable) +{ + int ret =3D -EINVAL; + + if (smu->ppt_funcs && smu->ppt_funcs->set_cpu_smt_enable) + ret =3D smu->ppt_funcs->set_cpu_smt_enable(smu, enable); + + return ret; +} + +static int smt_notifier_callback(struct notifier_block *nb, + unsigned long action, void *data) +{ + struct smu_context *smu =3D container_of(nb, struct smu_context, nb); + int ret; + + smu =3D container_of(nb, struct smu_context, nb); + + ret =3D smu_set_cpu_smt_enable(smu, action =3D=3D SMT_ENABLED); + + dev_dbg(smu->adev->dev, "failed to set cclk_pd_limit for SMT %sabled: %d\= n", + action =3D=3D SMT_ENABLED ? "en" : "dis", ret); + + return ret ? NOTIFY_BAD : NOTIFY_OK; +} --=20 2.39.2