From patchwork Fri Aug 11 11:21:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shyam Sundar S K X-Patchwork-Id: 13350736 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 9D4FEC04A6A for ; Fri, 11 Aug 2023 11:24:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236408AbjHKLYz (ORCPT ); Fri, 11 Aug 2023 07:24:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53606 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234201AbjHKLYz (ORCPT ); Fri, 11 Aug 2023 07:24:55 -0400 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2055.outbound.protection.outlook.com [40.107.93.55]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4E0C8100 for ; Fri, 11 Aug 2023 04:24:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ajfOorNuppjyHo8HgVxWNwYtEHRz/3Oz+GUYgdYe08CnszQokIbPpUkc07RBiZNqwpjh69D5oXJs100q1HOl3m4IZlIoBrHatjO0fI75wacU4MVbcI4utRKhrTZb7vB4JWnGm2r/ahSLc5QI4tqqGiwoV5AlUrr45RBvwCcjIwQo26/IA4ybEPrPo94i6qwU9mN7hErKQcHltpKUXeEOiu10WlFOGAbAHt4mkJmGJUceZMXq39sfP2Sve6Y28GM90EV0bUhmWEwo+ozRDDUKC7l0irSLy0cBabTc7NPYsT4lgMJqZVd4YH791HyIaNWjq3yeOTqFI1HrYAp4rfMJlQ== 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=2vtaGoDTPee8MHviIWZi/G70SDOSIQ9OsI1wUMCE860=; b=Winm8XUqY7CAuWMEM389eCql0IVQ1VJ9fJh0SF3Iv+qdCiDjeWFXWqp84izOBg0xlj1GP5ZOw5cqQEiufe23uvmxcBMCKJ3aXSrJGO0Che+dAWPeEceWy4ZasJfBOS+IfYk++vvqYAka+irzp0OU4RB/ZnC9bszdGAC7UMwhiQgtTzzDtdgRKtEFIvoeZ0JetlT/LwORAJzdEWFpX/0cCKDzhBDIoi4mkeUDSJOrWeQXvzQdUQWNWFN/B1LXjsxJ+oNlDbIqo8Zn0R5ev6UGMBKht/QRpRV3EF8/qDldPGemRfuB3PDR00T4qEl6RtVbGdHe3gkTEYz1IYCrqLEhJw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=redhat.com 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=2vtaGoDTPee8MHviIWZi/G70SDOSIQ9OsI1wUMCE860=; b=kZ8gAZUGQ2N3euXWRDUSfNzVhefM5wryufKulJToIGc6Pmpo6ZeJ5KRvHAsEyJ1xwAT0dI6evs0DCo22+WIAiVVROtOsqexsXJ9ZUeo7Xg9shIw+YjLnNAseMjpCxyEhUjFwnP4PijLIjp50XKdaptiYseIJdwUl8Cw9O8cOSHA= Received: from BYAPR01CA0037.prod.exchangelabs.com (2603:10b6:a03:94::14) by IA0PR12MB8863.namprd12.prod.outlook.com (2603:10b6:208:488::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Fri, 11 Aug 2023 11:22:11 +0000 Received: from CO1PEPF000042A7.namprd03.prod.outlook.com (2603:10b6:a03:94:cafe::91) by BYAPR01CA0037.outlook.office365.com (2603:10b6:a03:94::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25 via Frontend Transport; Fri, 11 Aug 2023 11:22:10 +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 CO1PEPF000042A7.mail.protection.outlook.com (10.167.243.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6652.20 via Frontend Transport; Fri, 11 Aug 2023 11:22:10 +0000 Received: from jatayu.amd.com (10.180.168.240) 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.2507.27; Fri, 11 Aug 2023 06:22:04 -0500 From: Shyam Sundar S K To: , CC: , , , Shyam Sundar S K Subject: [PATCH 1/4] platform/x86/amd/pmc: Move PMC driver to separate directory Date: Fri, 11 Aug 2023 16:51:13 +0530 Message-ID: <20230811112116.2279419-2-Shyam-sundar.S-k@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230811112116.2279419-1-Shyam-sundar.S-k@amd.com> References: <20230811112116.2279419-1-Shyam-sundar.S-k@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000042A7:EE_|IA0PR12MB8863:EE_ X-MS-Office365-Filtering-Correlation-Id: 25cb90eb-3040-46fa-21e2-08db9a5d345d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fJyVldyIIaN8IB+Ye0O65mYjFCPdmmCjL8QqD8R0dky7wz76C6wDWyjHjje3MMTyFSBEpXLfMlybtZGkxxy5UJdKlFYivmXacAsBVIBYK5IiBHynHTtw8mBiWllErG1d779OonHWRQMAIVb5Zn7j+s5/S/3LmekaKSGv9ZA+lK+jyPExaJx5CUNN+LXcYEi8m/xaoE4MyrH+yfEcqoVzQn1G+G9cIItACSZD3YOdcrm4MxEgZyaPuc5HLdg2M+b9B+CyU08FZDwoiwbwp6xbwYcz9gvIbA0Th+QpHzOdUdU2z6sN7zfAgnSARQyeeLO+kXJh9EqTqqx16raNOvJsE7oP80hx/DyBNsutE/fJFUFw8+v3IQil7uUTESflkfaMvoH2+vALW28dWLwlnuj9HYVNCHm9bd5xlnqgfcVezlDWEpjfmiY+E3ZkgG3GYCbs2HTPinKiVsPDMNSMdHMP+wcOAocF+WwrvHYjHE1/wrTN5tUJafcU5SD5My5mmmhDg5W2SSglAfMv3K2EhxdwDYStqu30uiCGd5RZN0RjM5QmlIG/lqqtc/lk5SelKoDksTpTdDDRVm7Snm0ENjLkpz9XwNu8FuJErgKbIcHyeOM4DbnbzS6PtWV7wASgN/zjLLkikz6sYBmP99KIwptmZojtyU/WFNYIYjDwIasNpHqocIKBBHdQ4aBMdcadeRENAzEL6UVHPJD/g6LyAWIY/YJzmy2FNDyYKZgCXKOs/bJ6rArVog61tq89SmP7tpoUfSyyCzPTM0Qcu6yWP9fTzQ== 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)(376002)(39860400002)(346002)(451199021)(1800799006)(186006)(82310400008)(40470700004)(46966006)(36840700001)(426003)(83380400001)(40480700001)(2616005)(40460700003)(110136005)(54906003)(478600001)(86362001)(2906002)(36860700001)(82740400003)(356005)(6666004)(7696005)(81166007)(8936002)(41300700001)(5660300002)(8676002)(70586007)(70206006)(316002)(4326008)(336012)(47076005)(26005)(16526019)(36756003)(1076003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2023 11:22:10.2805 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 25cb90eb-3040-46fa-21e2-08db9a5d345d 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: CO1PEPF000042A7.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8863 Precedence: bulk List-ID: X-Mailing-List: platform-driver-x86@vger.kernel.org With latest commits having PMC code spread across multiple files, it would be easier to maintain them in a separate directory under amd/pmc. Co-developed-by: Sanket Goswami Signed-off-by: Sanket Goswami Signed-off-by: Shyam Sundar S K --- MAINTAINERS | 2 +- drivers/platform/x86/amd/Kconfig | 16 +--------------- drivers/platform/x86/amd/Makefile | 3 +-- drivers/platform/x86/amd/pmc/Kconfig | 19 +++++++++++++++++++ drivers/platform/x86/amd/pmc/Makefile | 8 ++++++++ .../platform/x86/amd/{ => pmc}/pmc-quirks.c | 0 drivers/platform/x86/amd/{ => pmc}/pmc.c | 0 drivers/platform/x86/amd/{ => pmc}/pmc.h | 0 8 files changed, 30 insertions(+), 18 deletions(-) create mode 100644 drivers/platform/x86/amd/pmc/Kconfig create mode 100644 drivers/platform/x86/amd/pmc/Makefile rename drivers/platform/x86/amd/{ => pmc}/pmc-quirks.c (100%) rename drivers/platform/x86/amd/{ => pmc}/pmc.c (100%) rename drivers/platform/x86/amd/{ => pmc}/pmc.h (100%) diff --git a/MAINTAINERS b/MAINTAINERS index 0f966f05fb0d..366d4b4c9c8f 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1006,7 +1006,7 @@ AMD PMC DRIVER M: Shyam Sundar S K L: platform-driver-x86@vger.kernel.org S: Maintained -F: drivers/platform/x86/amd/pmc.c +F: drivers/platform/x86/amd/pmc/ AMD PMF DRIVER M: Shyam Sundar S K diff --git a/drivers/platform/x86/amd/Kconfig b/drivers/platform/x86/amd/Kconfig index d9685aef0887..55f3a2fc6aec 100644 --- a/drivers/platform/x86/amd/Kconfig +++ b/drivers/platform/x86/amd/Kconfig @@ -4,21 +4,7 @@ # source "drivers/platform/x86/amd/pmf/Kconfig" - -config AMD_PMC - tristate "AMD SoC PMC driver" - depends on ACPI && PCI && RTC_CLASS && AMD_NB - select SERIO - help - The driver provides support for AMD Power Management Controller - primarily responsible for S2Idle transactions that are driven from - a platform firmware running on SMU. This driver also provides a debug - mechanism to investigate the S2Idle transactions and failures. - - Say Y or M here if you have a notebook powered by AMD RYZEN CPU/APU. - - If you choose to compile this driver as a module the module will be - called amd-pmc. +source "drivers/platform/x86/amd/pmc/Kconfig" config AMD_HSMP tristate "AMD HSMP Driver" diff --git a/drivers/platform/x86/amd/Makefile b/drivers/platform/x86/amd/Makefile index 65732f0a3913..f04932b7a7d1 100644 --- a/drivers/platform/x86/amd/Makefile +++ b/drivers/platform/x86/amd/Makefile @@ -4,8 +4,7 @@ # AMD x86 Platform-Specific Drivers # -amd-pmc-y := pmc.o pmc-quirks.o -obj-$(CONFIG_AMD_PMC) += amd-pmc.o +obj-$(CONFIG_AMD_PMC) += pmc/ amd_hsmp-y := hsmp.o obj-$(CONFIG_AMD_HSMP) += amd_hsmp.o obj-$(CONFIG_AMD_PMF) += pmf/ diff --git a/drivers/platform/x86/amd/pmc/Kconfig b/drivers/platform/x86/amd/pmc/Kconfig new file mode 100644 index 000000000000..8db9e82de00b --- /dev/null +++ b/drivers/platform/x86/amd/pmc/Kconfig @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# AMD PMC Driver +# + +config AMD_PMC + tristate "AMD SoC PMC driver" + depends on ACPI && PCI && RTC_CLASS && AMD_NB + select SERIO + help + The driver provides support for AMD Power Management Controller + primarily responsible for S2Idle transactions that are driven from + a platform firmware running on SMU. This driver also provides a debug + mechanism to investigate the S2Idle transactions and failures. + + Say Y or M here if you have a notebook powered by AMD RYZEN CPU/APU. + + If you choose to compile this driver as a module the module will be + called amd-pmc. diff --git a/drivers/platform/x86/amd/pmc/Makefile b/drivers/platform/x86/amd/pmc/Makefile new file mode 100644 index 000000000000..4aaa29d351c9 --- /dev/null +++ b/drivers/platform/x86/amd/pmc/Makefile @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# Makefile for linux/drivers/platform/x86/amd/pmc +# AMD Power Management Controller Driver +# + +amd-pmc-objs := pmc.o pmc-quirks.o +obj-$(CONFIG_AMD_PMC) += amd-pmc.o diff --git a/drivers/platform/x86/amd/pmc-quirks.c b/drivers/platform/x86/amd/pmc/pmc-quirks.c similarity index 100% rename from drivers/platform/x86/amd/pmc-quirks.c rename to drivers/platform/x86/amd/pmc/pmc-quirks.c diff --git a/drivers/platform/x86/amd/pmc.c b/drivers/platform/x86/amd/pmc/pmc.c similarity index 100% rename from drivers/platform/x86/amd/pmc.c rename to drivers/platform/x86/amd/pmc/pmc.c diff --git a/drivers/platform/x86/amd/pmc.h b/drivers/platform/x86/amd/pmc/pmc.h similarity index 100% rename from drivers/platform/x86/amd/pmc.h rename to drivers/platform/x86/amd/pmc/pmc.h From patchwork Fri Aug 11 11:21:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shyam Sundar S K X-Patchwork-Id: 13350734 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 A17ADC001DB for ; Fri, 11 Aug 2023 11:24:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233181AbjHKLYK (ORCPT ); Fri, 11 Aug 2023 07:24:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55738 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236191AbjHKLYK (ORCPT ); Fri, 11 Aug 2023 07:24:10 -0400 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on20601.outbound.protection.outlook.com [IPv6:2a01:111:f400:7eae::601]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7474B26B6 for ; Fri, 11 Aug 2023 04:23:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HdL+d0mGldeZ25Jw7LutsszTtt75NilQicLOHpNttumtlPdZfEqmIY/otcZu3GktuIys67DWtaxLVQXEuFVW0FidCnKhMn4N/JHqTvZUxlJ+/e5NXlbbyvjaLilJ+mKbA22LlSq0z7QueYREeHgrkwfuVlWhTUSLILt9dmcMWrIi8W7717tzTjzqEDdR48QGCZVILG8ih1AzFYwO7F4h71vTjH5RaNv3f+GXfQpq8JQAWKX8muL52BmxlVXqPtDImSafh7U5EAoP77UnpbunoVmme1d4c0a+pOUlJ2QDNxL5m7zj00OoO3RpoYA44+LusXr7jK9eBtYh1poZrU/dOQ== 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=NswqKKqJOmLEQo30qG5+b8/1ftg3lEQDF35Ld7qGieQ=; b=AmmPTwBoZy5M3SyCei8F1IpyFDEruQjD8DIUtbE1P0C/e73zK+Q+NTeSM33cl4S29aDFuPs1U8GOYbDCoFHsIMsVsSqsFvv/BU6wNeN2nRI/hWTFFSre9RehA4lZE091DlfzZM+wmAUosgdOKguvotiTTcXeTBGGJHizdU4svpvf7ec8Bi87nhLnM3U5Je78/EKsDELXIaMyiGuqk2OsVqdos6LagepkatpSJy5/qfYGBObmR7a/euqF/fVD0/qkuZCvWNJjwjZcfhCU+dZ7M14PwadvOLSlLXcuYRn43piw+wRHfWkgPzYaIonYTwsCpZEB/f9Zkey94PS1aFwLdg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=redhat.com 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=NswqKKqJOmLEQo30qG5+b8/1ftg3lEQDF35Ld7qGieQ=; b=x56fIB60cnI3LX91nrJ+EyvOC/eyr28mgCX9SkoFSETmRJGMCFfR3gWG5grsKeWBDHqQMpqa+AEOJgKqY+zymB6naQhJIXgqa/ny36wg62mvmBcoLgAWlCjq/lIeXacuxvMNzZzadnbG+vsigyVa7R5cllSfC297/IUMT5nzbQc= Received: from MW4PR04CA0259.namprd04.prod.outlook.com (2603:10b6:303:88::24) by DM4PR12MB6664.namprd12.prod.outlook.com (2603:10b6:8:bb::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Fri, 11 Aug 2023 11:22:10 +0000 Received: from CO1PEPF000042AB.namprd03.prod.outlook.com (2603:10b6:303:88:cafe::58) by MW4PR04CA0259.outlook.office365.com (2603:10b6:303:88::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.31 via Frontend Transport; Fri, 11 Aug 2023 11:22:10 +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 CO1PEPF000042AB.mail.protection.outlook.com (10.167.243.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6652.20 via Frontend Transport; Fri, 11 Aug 2023 11:22:10 +0000 Received: from jatayu.amd.com (10.180.168.240) 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.2507.27; Fri, 11 Aug 2023 06:22:06 -0500 From: Shyam Sundar S K To: , CC: , , , Shyam Sundar S K Subject: [PATCH 2/4] platform/x86/amd/pmc: Read SMU version at the time of probe Date: Fri, 11 Aug 2023 16:51:14 +0530 Message-ID: <20230811112116.2279419-3-Shyam-sundar.S-k@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230811112116.2279419-1-Shyam-sundar.S-k@amd.com> References: <20230811112116.2279419-1-Shyam-sundar.S-k@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000042AB:EE_|DM4PR12MB6664:EE_ X-MS-Office365-Filtering-Correlation-Id: 7547e92e-c803-4bc8-e108-08db9a5d3464 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KYyzuu2iNae8hlzjWR8x2HIumcRJKlcCFgJRwYcYtPGMel4lwj36Rf4y1scxlPj6Qf4RwQlUAhWnQBVFngMHL/vnUxL3Bh/PB5qJIXDj6ZC1swGIaY2gNKvK+V6oT82+kUNDI+fP6bLAwMCNXi7TybuzNRwmuSrGyNmrv0gJQlnyiYpnE3UW6PD7Jr9ZrOqoBo9fpAgVjVonCXjLkwkO5MZVK64QTv9ADnB0h08sLY4GBaQWKHhGuCXvRV5io7J0JbvxMUw1rXZw6TSuiuDNi+LzuxYJ7h7a2lzoY6S3FVE/GBTpaGRGokTu1Z7lIKv7945ibJ1UFtxutzWFVFG1/PlQURqtHhU74xbx9ZOV58m2I9HjJYeMsnp88zTxgFlLynqw493GjYO5k645V8q9lZXieP3OLOecJ7wQej3Nlk/3QDqRQRdnCoDwYybT/Yj5WK+E5IDKrmJZ8enS2Eh75ClimXYYyqkzSZz8c4FkUo0sK4/yxWSwSchZbKfbh7+6RnQlWfvHjVytaujsS9eVgj3E06dQQDjzvyQvRRFUVhzTh1GTrj+WJSmGHI7eeFUHxFSa2iqPKbZeV1IL028MfUlSrX0fitb9uPnUvA7xxwdf4FnvIP1pXuYwOuTvpbXcoA4jk212WLK24NUBayJpFCO6zx2ruvK88fQu8p1FGBI0UBwabPWIMxUbQuZyIPsKL44GHkbMbrdoNpZd6xuDVic2uDsAjwGn0eKFOghC6Qd6rau1CrbgRylWBR7DTgJfHjE+ID0oQYZyd8IyM6T7xQ== 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)(39860400002)(346002)(376002)(396003)(136003)(1800799006)(451199021)(186006)(82310400008)(40470700004)(46966006)(36840700001)(40460700003)(40480700001)(16526019)(336012)(1076003)(26005)(478600001)(6666004)(70206006)(110136005)(70586007)(54906003)(36756003)(83380400001)(36860700001)(2616005)(426003)(47076005)(41300700001)(316002)(4326008)(7696005)(2906002)(86362001)(82740400003)(81166007)(356005)(8676002)(5660300002)(8936002)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2023 11:22:10.3157 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7547e92e-c803-4bc8-e108-08db9a5d3464 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: CO1PEPF000042AB.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6664 Precedence: bulk List-ID: X-Mailing-List: platform-driver-x86@vger.kernel.org Currently the SMU version is being read at multiple places, unify all of them and get the SMU version at the time of probe. Co-developed-by: Sanket Goswami Signed-off-by: Sanket Goswami Signed-off-by: Shyam Sundar S K --- drivers/platform/x86/amd/pmc/pmc.c | 39 +++++------------------------- 1 file changed, 6 insertions(+), 33 deletions(-) diff --git a/drivers/platform/x86/amd/pmc/pmc.c b/drivers/platform/x86/amd/pmc/pmc.c index c1e788b67a74..043451fabbbe 100644 --- a/drivers/platform/x86/amd/pmc/pmc.c +++ b/drivers/platform/x86/amd/pmc/pmc.c @@ -405,12 +405,6 @@ static ssize_t smu_fw_version_show(struct device *d, struct device_attribute *at { struct amd_pmc_dev *dev = dev_get_drvdata(d); - if (!dev->major) { - int rc = amd_pmc_get_smu_version(dev); - - if (rc) - return rc; - } return sysfs_emit(buf, "%u.%u.%u\n", dev->major, dev->minor, dev->rev); } @@ -419,12 +413,6 @@ static ssize_t smu_program_show(struct device *d, struct device_attribute *attr, { struct amd_pmc_dev *dev = dev_get_drvdata(d); - if (!dev->major) { - int rc = amd_pmc_get_smu_version(dev); - - if (rc) - return rc; - } return sysfs_emit(buf, "%u\n", dev->smu_program); } @@ -526,16 +514,9 @@ static int amd_pmc_idlemask_read(struct amd_pmc_dev *pdev, struct device *dev, struct seq_file *s) { u32 val; - int rc; switch (pdev->cpu_id) { case AMD_CPU_ID_CZN: - /* we haven't yet read SMU version */ - if (!pdev->major) { - rc = amd_pmc_get_smu_version(pdev); - if (rc) - return rc; - } if (pdev->major > 56 || (pdev->major >= 55 && pdev->minor >= 37)) val = amd_pmc_reg_read(pdev, AMD_PMC_SCRATCH_REG_CZN); else @@ -717,13 +698,6 @@ static int amd_pmc_get_os_hint(struct amd_pmc_dev *dev) static int amd_pmc_czn_wa_irq1(struct amd_pmc_dev *pdev) { struct device *d; - int rc; - - if (!pdev->major) { - rc = amd_pmc_get_smu_version(pdev); - if (rc) - return rc; - } if (pdev->major > 64 || (pdev->major == 64 && pdev->minor > 65)) return 0; @@ -749,13 +723,6 @@ static int amd_pmc_verify_czn_rtc(struct amd_pmc_dev *pdev, u32 *arg) struct rtc_time tm; int rc; - /* we haven't yet read SMU version */ - if (!pdev->major) { - rc = amd_pmc_get_smu_version(pdev); - if (rc) - return rc; - } - if (pdev->major < 64 || (pdev->major == 64 && pdev->minor < 53)) return 0; @@ -1059,6 +1026,12 @@ static int amd_pmc_probe(struct platform_device *pdev) mutex_init(&dev->lock); + err = amd_pmc_get_smu_version(dev); + if (err) { + dev_err(dev->dev, "error reading SMU version\n"); + goto err_pci_dev_put; + } + if (enable_stb && amd_pmc_is_stb_supported(dev)) { err = amd_pmc_s2d_init(dev); if (err) From patchwork Fri Aug 11 11:21:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shyam Sundar S K X-Patchwork-Id: 13350733 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 CB961C0015E for ; Fri, 11 Aug 2023 11:23:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235248AbjHKLXS (ORCPT ); Fri, 11 Aug 2023 07:23:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44668 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236137AbjHKLXR (ORCPT ); Fri, 11 Aug 2023 07:23:17 -0400 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on20631.outbound.protection.outlook.com [IPv6:2a01:111:f400:7eab::631]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 43727C3 for ; Fri, 11 Aug 2023 04:22:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LCnpdJEBCup/+WoX9W/SgG0AJWWATwCRVZ0cbSQLWLihZQgncfwBKyay3zNlU331eJXJoOEP+t3YY6i5GsBsvbZEWd+THCFLyHEBwNGkOKfg6fr2b345iGX6YOwf09hKoOFY7JENQ0ggRsqnLFus+K3/92FOoa7baOv0x10gTO+WTphf/Q16emMvOvjY1gl5nqWmo4HZMzngVb8urjzFFKPktZ9O0HOSoWqoUcIXFqj5wDoW9g4AWyOra6zehTH6Mi4Dx91yvdI8WX3rr7YUHPRf83WUwD1Z0o/0vjjcVPfHAKdsM9RuFPdzv8WkDmGwT02Pddm7nalu2iwVBIX3lw== 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=H2h03YdqUupiAtN2RKrLOdDnrhVn9vqoF/fDzK0uhMA=; b=h1kGO0HGGR4/3cAkehUjGYTXmLyyZsQibOkTtoIocL74tCilaMI+/zvoR8DPype8uuf95cz7H6kysgwFekzpbyMIa/f7SBlQMoWqZVEfGH2h/6xD/J3/ZttPkJOr8bRadrAQwB6posBujs5fEqqKv+zQN03B36HAEEQyI5hlCZ9aUQKd/W/dlNu7vSN1rO3haFIDn91p5ljop5rrc2M3U8368d3RCKgNgVrADR20YXQa5jhS61ymXl6+JxOPURZ1owLUKKf0tMaQiPTm8nv1z6n7CsHaFkD4LK1hX8aM+VQda8KuaqS7K4umavesTuuazJg2mi3K0dVLvNAq5Y5hWw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=redhat.com 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=H2h03YdqUupiAtN2RKrLOdDnrhVn9vqoF/fDzK0uhMA=; b=49HOztW1SgEWknwCYQTBQxHVyA4U6SVkAoohXD+INA3HdQio+umMIhPf271G+/78pj3bc+annmkImt30d2q/QTuP1/buHrzzcsrjkGS1hWtH3VjsdO8AAPSwnu3fKIAIKCPWfsmLqfc4bK3AnNBMaWXuPUpYHuBd8odE2U2b2XE= Received: from BYAPR01CA0071.prod.exchangelabs.com (2603:10b6:a03:94::48) by BL1PR12MB5031.namprd12.prod.outlook.com (2603:10b6:208:31a::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.19; Fri, 11 Aug 2023 11:22:12 +0000 Received: from CO1PEPF000042A7.namprd03.prod.outlook.com (2603:10b6:a03:94:cafe::89) by BYAPR01CA0071.outlook.office365.com (2603:10b6:a03:94::48) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28 via Frontend Transport; Fri, 11 Aug 2023 11:22:11 +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 CO1PEPF000042A7.mail.protection.outlook.com (10.167.243.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6652.20 via Frontend Transport; Fri, 11 Aug 2023 11:22:11 +0000 Received: from jatayu.amd.com (10.180.168.240) 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.2507.27; Fri, 11 Aug 2023 06:22:09 -0500 From: Shyam Sundar S K To: , CC: , , , Shyam Sundar S K Subject: [PATCH 3/4] platform/x86/amd/pmc: Add PMFW command id to support S2D force flush Date: Fri, 11 Aug 2023 16:51:15 +0530 Message-ID: <20230811112116.2279419-4-Shyam-sundar.S-k@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230811112116.2279419-1-Shyam-sundar.S-k@amd.com> References: <20230811112116.2279419-1-Shyam-sundar.S-k@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000042A7:EE_|BL1PR12MB5031:EE_ X-MS-Office365-Filtering-Correlation-Id: 44eb0898-617c-45e5-de18-08db9a5d351b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aZQkhjaVrn6QQzHYiku5V9rcc3hHbAKyfs+E+YfoO28JYiTu9q9f0X075PR1i5KRYFL9JZ0qoJIJcyUKrGfLj6WeWUUKguMJC0vaSG02dOf0mYHl6Viv7DtB/6VXFpiJjs/lV7d0MrIoxNWh9N3SH1UZFjVqmOvgVrefk9zUwz2syJTQs09QbmqNONFUdSDPNrQx5Uxl0kADVmXlya7+peF4efSd0vcVKduA0rJQlyjaXVaksNJiLsU7P2IA6c9ThlFIYD+y+6iGApkK/ff2xU3OawxYrXPOHDSlwejXDpB+pnMDDHdrguCl7r7DDwtBX5OXs+1N8vmMXs25FOuoXVtMTC9oEGGyu+ZGmrOEZdDc0UnaYVLRkYc1D837jWnv45tFIkZrv4LLzH1Z3eFO/vLYTA9GYcosiTnX0LdzhYAzhfzTfBtxjAn6A16iZnxXLCIRNmbAYlD9w62AkS264WAOmGrhBM//cHcCE9TmOEf+WGiLpH7lpL05MK43/shm9a2fLNm20oh5Qoh+VZHNr4xw5uzZhguv30NvSvYDl7eXSzYCbc4tzFKgVPcUA6i/qhYQjkYGTafH8MXIIW+6TzcMS0K9pfHPxtKve27UG6nI7GPv79SWqe2JxQuG9GU9NiJxXFmPQxRlgmNICZCB6JWtMRMJXnGRQxGgmDlPoIA6CDqw3gznGDzIpwOMB2lw0L2GbQ3Tvvg7uMFrypqbN7baC5p+7K8LbOgbIS2Rj2Om5DkV2aN2iTc67v5xeYaWreqmix7hQiDi+XU9mn5bgQ== 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)(39860400002)(396003)(346002)(136003)(376002)(1800799006)(82310400008)(186006)(451199021)(40470700004)(46966006)(36840700001)(4326008)(70586007)(70206006)(41300700001)(316002)(36860700001)(2616005)(26005)(47076005)(83380400001)(426003)(1076003)(336012)(16526019)(54906003)(86362001)(40480700001)(81166007)(356005)(82740400003)(40460700003)(110136005)(6666004)(7696005)(36756003)(478600001)(2906002)(8676002)(8936002)(5660300002)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2023 11:22:11.5305 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 44eb0898-617c-45e5-de18-08db9a5d351b 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: CO1PEPF000042A7.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5031 Precedence: bulk List-ID: X-Mailing-List: platform-driver-x86@vger.kernel.org Recent PMFW have the capability that can force flush the FIFO contents to DRAM on sending a command id via the mailbox. Add this support to the driver. Co-developed-by: Sanket Goswami Signed-off-by: Sanket Goswami Signed-off-by: Shyam Sundar S K --- drivers/platform/x86/amd/pmc/pmc.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/platform/x86/amd/pmc/pmc.c b/drivers/platform/x86/amd/pmc/pmc.c index 043451fabbbe..45f7d21276bb 100644 --- a/drivers/platform/x86/amd/pmc/pmc.c +++ b/drivers/platform/x86/amd/pmc/pmc.c @@ -55,6 +55,9 @@ #define S2D_TELEMETRY_BYTES_MAX 0x100000 #define S2D_TELEMETRY_DRAMBYTES_MAX 0x1000000 +/* STB Spill to DRAM Message Definition */ +#define STB_FORCE_FLUSH_DATA 0xCF + /* Base address of SMU for mapping physical address to virtual address */ #define AMD_PMC_MAPPING_SIZE 0x01000 #define AMD_PMC_BASE_ADDR_OFFSET 0x10000 @@ -236,7 +239,7 @@ static const struct file_operations amd_pmc_stb_debugfs_fops = { static int amd_pmc_stb_debugfs_open_v2(struct inode *inode, struct file *filp) { struct amd_pmc_dev *dev = filp->f_inode->i_private; - u32 *buf, fsize, num_samples, stb_rdptr_offset = 0; + u32 *buf, fsize, num_samples, val, stb_rdptr_offset = 0; int ret; /* Write dummy postcode while reading the STB buffer */ @@ -251,6 +254,10 @@ static int amd_pmc_stb_debugfs_open_v2(struct inode *inode, struct file *filp) /* Spill to DRAM num_samples uses separate SMU message port */ dev->msg_port = 1; + ret = amd_pmc_send_cmd(dev, 0, &val, STB_FORCE_FLUSH_DATA, 1); + if (ret) + dev_warn_once(dev->dev, "S2D force flush not supported\n"); + /* Get the num_samples to calculate the last push location */ ret = amd_pmc_send_cmd(dev, S2D_NUM_SAMPLES, &num_samples, dev->s2d_msg_id, true); /* Clear msg_port for other SMU operation */ From patchwork Fri Aug 11 11:21:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shyam Sundar S K X-Patchwork-Id: 13350735 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 07AA3C0015E for ; Fri, 11 Aug 2023 11:24:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236196AbjHKLYU (ORCPT ); Fri, 11 Aug 2023 07:24:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56114 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236191AbjHKLYT (ORCPT ); Fri, 11 Aug 2023 07:24:19 -0400 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2067.outbound.protection.outlook.com [40.107.223.67]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 254C41FEC for ; Fri, 11 Aug 2023 04:24:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=STdlNs/4KjkgyMTMkalTzbXR0asYQltGMEpTM+2eTy6sB/aoj827oKJUptHaKFAF8n7OXT5PhNSQpuen3noebBrkkNoNNRej0mO1dxYzRgGsHBpNaP7bxrTxnW0UapcoJl+Q2sfK7DWKtE9k5wJpdz8ympgYiv7tdy+X6Sqqvh9zsbVbfFs19dgbKAHmFWjuK1h3IpleDa5amMLA0NaenW4patIz+z9AxQmJRNTdVipStIcASrXhjPT5ICmUfOIzfdpaDNpQGrjjxUrPi7jLQAfBV4iwLzfmc/kzKI3MpXiU7hel37XwHG4GPav5iCGpY75wKs5c70P7gXoFDg8wrw== 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=Y5ynKp312ZqpiHcehms+bMCoI0wBYhONTKfiiVY12Yo=; b=nk79XL3rZKP5TL0WNTpD122pF/tPPPFuAF1I+yFK+R1Ogfyuy57Jn7l68+kdXW6nnyegmAQJe6rm8OreF/60eN7qd6XCAxDMP5j5zYOT40Z0wlA5o8pmOdDHPck+BhU1sHZCf0DCoHPDeJK/98detGOVPFkWWjGS8WTE/5XhOGqcX4czpC9409+U5f8Mhhv35qvXc0yp2gw+ueBls5Nzhw+5wKQko2ufIVU96OgnqNruDVEYOJLPbxq+9cWuZDUz0Mldfu4nP0rNTkQWN8w/Pfb1ImwIorkRIrvXkgszTFGeWwnT9wP0gF6faWHG2uLBaauYtmQrVRS2AH7tlnSjHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=redhat.com 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=Y5ynKp312ZqpiHcehms+bMCoI0wBYhONTKfiiVY12Yo=; b=S3gHfhGSX9iDDOgN5L32SbHN9zVXPBBLqqtK/6N+RsWsMKvNjvBhg+xS40nvoQ8YLejiqSuiX4LbwVB1GEYpBmGnQQv2AK4Y7js1EptPZd87fd8VGCSKewVsQ6KYJt5IUFtAWS5TxOW0LktBCYDmliaZwzxiMMPkteLCtergNv4= Received: from MW4PR03CA0108.namprd03.prod.outlook.com (2603:10b6:303:b7::23) by IA1PR12MB7520.namprd12.prod.outlook.com (2603:10b6:208:42f::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Fri, 11 Aug 2023 11:22:14 +0000 Received: from CO1PEPF000042AA.namprd03.prod.outlook.com (2603:10b6:303:b7:cafe::4) by MW4PR03CA0108.outlook.office365.com (2603:10b6:303:b7::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.31 via Frontend Transport; Fri, 11 Aug 2023 11:22:14 +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 CO1PEPF000042AA.mail.protection.outlook.com (10.167.243.39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6652.20 via Frontend Transport; Fri, 11 Aug 2023 11:22:13 +0000 Received: from jatayu.amd.com (10.180.168.240) 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.2507.27; Fri, 11 Aug 2023 06:22:11 -0500 From: Shyam Sundar S K To: , CC: , , , Shyam Sundar S K , Harsh Jain Subject: [PATCH 4/4] platform/x86/amd/pmc: Add dump_custom_stb module parameter Date: Fri, 11 Aug 2023 16:51:16 +0530 Message-ID: <20230811112116.2279419-5-Shyam-sundar.S-k@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230811112116.2279419-1-Shyam-sundar.S-k@amd.com> References: <20230811112116.2279419-1-Shyam-sundar.S-k@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000042AA:EE_|IA1PR12MB7520:EE_ X-MS-Office365-Filtering-Correlation-Id: 927b2dbb-17ed-446f-b0d7-08db9a5d368f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: EzM53z5cFnzIPZude+VpjiT41QeClLzefTz1w/8tfizN31HmOXfkwh9BSbZ4zvLSQ5Bh1EsA98QvPee3iwAPndkBxIkp+w18WalxBBBZLQWn+/v1NbthGo029eSzKVE2sKVh8S4Tyh5be4zPPhsvyLRrFxUzJPlQ6Scm4OLNEwO7YDMYmK6x6IR/bqUV6B/D4/037zP55RoatBDqbrGkgFMvNbrAcH+1IuXgByf/ynhdchO7EFhSfxtKrynvq5l2PuND33/qBq2MyaVGfw0kdCG3DLf6RaIiIjXsPAJELg6mpwdKRBIBkeioJTbbSsiMOIAKCFImHBCTDU9y+BKLCMcoQFTl9ZnfIFijvNIFcyv0bbhrbCSoc8kicJH9TGA/aIK44bdqzzAuRyloaaHe9irC0bMYfBCzBz30Zz+xcZHBOau3nf9T5vjVVZrwg6zjKDeomJPexG7eoPkWL4zByLYovchTE8NZ0E92BR08Wmd/IKXr4osAhm3q/s59BGxUizJCHftNBr7IDplgeymxh5eODrZV6SOuxMKzbufnXvt+54hUO+LyLqh/+pG3ymOa1n5gzPEHEX8ITHB3yCoAeeEAmR0PvlDPKdc9zPh0LlCNGvzalxMkh5nX+D5df0Yx7tbYqfgHMFRSxjlqbLuKRRzARYxt9pMaRGsRGWj/mbnuv7whBj7xcW0FvmLddJ4Cc477hcPl1fpksVSXpYzSImIE3pSvlOVsyKMNQR3LHEghhzTOQbL7zs33A+6RHKphEpAnMZACdQd3+HOMM1iP4Q== 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)(346002)(396003)(39860400002)(376002)(186006)(451199021)(82310400008)(1800799006)(40470700004)(46966006)(36840700001)(40460700003)(2616005)(4326008)(81166007)(336012)(82740400003)(16526019)(356005)(36756003)(41300700001)(70586007)(47076005)(36860700001)(40480700001)(5660300002)(426003)(83380400001)(70206006)(7696005)(316002)(110136005)(8936002)(54906003)(8676002)(86362001)(2906002)(478600001)(26005)(1076003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2023 11:22:13.9517 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 927b2dbb-17ed-446f-b0d7-08db9a5d368f 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: CO1PEPF000042AA.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7520 Precedence: bulk List-ID: X-Mailing-List: platform-driver-x86@vger.kernel.org There have been instances when the default size (1M) of the STB is not sufficient to get the complete traces of the failure. In such scenarios we can use a module_param to enable full trace that shall contain more debugging data. This is not a regular case and hence not enabling this capability by default. Co-developed-by: Harsh Jain Signed-off-by: Harsh Jain Signed-off-by: Sanket Goswami Signed-off-by: Shyam Sundar S K --- drivers/platform/x86/amd/pmc/pmc.c | 34 +++++++++++++++++++----------- drivers/platform/x86/amd/pmc/pmc.h | 1 + 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/drivers/platform/x86/amd/pmc/pmc.c b/drivers/platform/x86/amd/pmc/pmc.c index 45f7d21276bb..06d901a8f6e5 100644 --- a/drivers/platform/x86/amd/pmc/pmc.c +++ b/drivers/platform/x86/amd/pmc/pmc.c @@ -53,6 +53,7 @@ /* STB Spill to DRAM Parameters */ #define S2D_TELEMETRY_BYTES_MAX 0x100000 +#define S2D_TELEMETRY_FSIZE_MAX 0x200000 #define S2D_TELEMETRY_DRAMBYTES_MAX 0x1000000 /* STB Spill to DRAM Message Definition */ @@ -160,6 +161,10 @@ static bool disable_workarounds; module_param(disable_workarounds, bool, 0644); MODULE_PARM_DESC(disable_workarounds, "Disable workarounds for platform bugs"); +static bool dump_custom_stb; +module_param(dump_custom_stb, bool, 0644); +MODULE_PARM_DESC(dump_custom_stb, "Enable to dump full STB buffer"); + static struct amd_pmc_dev pmc; static int amd_pmc_send_cmd(struct amd_pmc_dev *dev, u32 arg, u32 *data, u8 msg, bool ret); static int amd_pmc_read_stb(struct amd_pmc_dev *dev, u32 *buf); @@ -239,7 +244,7 @@ static const struct file_operations amd_pmc_stb_debugfs_fops = { static int amd_pmc_stb_debugfs_open_v2(struct inode *inode, struct file *filp) { struct amd_pmc_dev *dev = filp->f_inode->i_private; - u32 *buf, fsize, num_samples, val, stb_rdptr_offset = 0; + u32 *buf, num_samples, val, stb_rdptr_offset = 0; int ret; /* Write dummy postcode while reading the STB buffer */ @@ -247,10 +252,6 @@ static int amd_pmc_stb_debugfs_open_v2(struct inode *inode, struct file *filp) if (ret) dev_err(dev->dev, "error writing to STB: %d\n", ret); - buf = kzalloc(S2D_TELEMETRY_BYTES_MAX, GFP_KERNEL); - if (!buf) - return -ENOMEM; - /* Spill to DRAM num_samples uses separate SMU message port */ dev->msg_port = 1; @@ -264,20 +265,27 @@ static int amd_pmc_stb_debugfs_open_v2(struct inode *inode, struct file *filp) dev->msg_port = 0; if (ret) { dev_err(dev->dev, "error: S2D_NUM_SAMPLES not supported : %d\n", ret); - kfree(buf); return ret; } /* Start capturing data from the last push location */ - if (num_samples > S2D_TELEMETRY_BYTES_MAX) { - fsize = S2D_TELEMETRY_BYTES_MAX; - stb_rdptr_offset = num_samples - fsize; + if (dump_custom_stb && + (dev->dram_size - S2D_TELEMETRY_BYTES_MAX <= S2D_TELEMETRY_FSIZE_MAX)) { + dev->fsize = dev->dram_size - S2D_TELEMETRY_BYTES_MAX; + stb_rdptr_offset = 0; + } else if (num_samples > S2D_TELEMETRY_BYTES_MAX) { + dev->fsize = S2D_TELEMETRY_BYTES_MAX; + stb_rdptr_offset = num_samples - dev->fsize; } else { - fsize = num_samples; + dev->fsize = num_samples; stb_rdptr_offset = 0; } - memcpy_fromio(buf, dev->stb_virt_addr + stb_rdptr_offset, fsize); + buf = kzalloc(dev->fsize, GFP_KERNEL); + if (!buf) + return -ENOMEM; + + memcpy_fromio(buf, dev->stb_virt_addr + stb_rdptr_offset, dev->fsize); filp->private_data = buf; return 0; @@ -286,11 +294,13 @@ static int amd_pmc_stb_debugfs_open_v2(struct inode *inode, struct file *filp) static ssize_t amd_pmc_stb_debugfs_read_v2(struct file *filp, char __user *buf, size_t size, loff_t *pos) { + struct amd_pmc_dev *dev = filp->f_inode->i_private; + if (!filp->private_data) return -EINVAL; return simple_read_from_buffer(buf, size, pos, filp->private_data, - S2D_TELEMETRY_BYTES_MAX); + dev->fsize); } static int amd_pmc_stb_debugfs_release_v2(struct inode *inode, struct file *filp) diff --git a/drivers/platform/x86/amd/pmc/pmc.h b/drivers/platform/x86/amd/pmc/pmc.h index c27bd6a5642f..f73d265430b8 100644 --- a/drivers/platform/x86/amd/pmc/pmc.h +++ b/drivers/platform/x86/amd/pmc/pmc.h @@ -26,6 +26,7 @@ struct amd_pmc_dev { u32 dram_size; u32 num_ips; u32 s2d_msg_id; + u32 fsize; /* SMU version information */ u8 smu_program; u8 major;