From patchwork Fri Feb 7 06:58:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vijendar Mukunda X-Patchwork-Id: 13964436 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2062.outbound.protection.outlook.com [40.107.223.62]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EF2CD1991CB; Fri, 7 Feb 2025 06:59:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.62 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738911549; cv=fail; b=CXw9bvUpnUQqO0xeDcOEUKxw3AIMAjlHjpkwSBcIZnmjP2UT+mjosptnzaS83Iw4A10KwwgCmZqfSJcYKY0wjzSikgU2fyqojg9wt/i1HjLon3rpd4UsE2LlXvHw9FQfpjXVNpKYjdIlVOzqdNOVD/LwOrLf7IgIG7Gk24YyGi8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738911549; c=relaxed/simple; bh=zM2zh0uJM8rvEjfNegpihH264PTE4XAZU4iWLdI353Q=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=EU79tFAIw7D2VkJHrzPLB4xYh22Ko0brb98aaKY9AAHyOCyDauLgiGVxES0CnaV32ysWG0KE9MEgo7LBnCXUwvmHXCkLZuqL2J1Jb0s5sTbrR2UR/8NFoVRBkJBSW33clwO+YG3rOw3BPXPXZwFV11dL798UfgRCIfOcKDMgDjs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=XJIvaGir; arc=fail smtp.client-ip=40.107.223.62 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="XJIvaGir" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hQMsfDFCad3Jf6d00rWsAEqwJcDigXcB07Ows+bxcQnAqjNOaFjWuabwQFIrx4mzaDs72pd2ke401J4CODy9Lx/XQouwC7g2En9dK8Mhd1ALxfpk96lmwKnNHg8znEWDiPomBqpGZ52X7C03aZFc+Q6cENlT0QpNb8WVaPYaYk31aO4iXAxjxZUawtZC4N2FRBspNK+ck3UxShbA/co75KEA/toy/D/AYzqlBkDlepVL007drvNHh+C4MqQTHeXhlZ1iVi4HQpt67Dz2ZiL69iRgplP5fKQ7HC2QnYXrKI4FM+lfJ75gosS3w0IoiP+7pVlbkJ9YVO8I5Y1a9KfXlw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=PLKy6dTIYcrqkT+OBBEkmVnloXRQGYN6kFXV5rWHDsk=; b=Zex2wTzjqpaORXg7OaVS3pbqFBXoyW1YlB1G6+DwXLa3Sea1TplWLRVZN1lTJYpomMH57RgM6fw+Ea66DOtNr0F/q9EwZg0FeN3r3qoAfdRZaOEkiv9jF7k4YdSfh7e8zIeviszB47cQNkKb9X9TJ13ooLKHM4B7Zye5a8yEX4eTRXrHg/s9yi666glqtwd0wqmwemkrveJSrQtl6St41PCPo3vqh7pwgbN+ke9ti5dL1I4wtbm++v1wNUFIjW1jnW8VL3cyp0PCTWmQIC4MByYttYdhZMRlf7WLf5DMxcJjDflkVde2YNzTbdCvwJWECCjNvx3QkEQpQ6PlKvoX2g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org 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 (0) 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=PLKy6dTIYcrqkT+OBBEkmVnloXRQGYN6kFXV5rWHDsk=; b=XJIvaGirEqdQu1O6HhAUV0ttI+cgabeq2VNTiJx0FWN1mSvyOqW0KhBjKkSCV4o/riHhfbsIJnKE/eUJqK6l+++QBKoSnoHcilzWuz/U8/0vnGMgLJFSYcyOlwQH1dUC0plpgVi4VX+qVppyXR0kfJkzfybzs6t0mmrRkZJEN/o= Received: from SJ0PR03CA0093.namprd03.prod.outlook.com (2603:10b6:a03:333::8) by SA1PR12MB7040.namprd12.prod.outlook.com (2603:10b6:806:24f::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Fri, 7 Feb 2025 06:59:04 +0000 Received: from CO1PEPF000042AC.namprd03.prod.outlook.com (2603:10b6:a03:333:cafe::ad) by SJ0PR03CA0093.outlook.office365.com (2603:10b6:a03:333::8) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.29 via Frontend Transport; Fri, 7 Feb 2025 06:59:03 +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 CO1PEPF000042AC.mail.protection.outlook.com (10.167.243.41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 06:59:03 +0000 Received: from vijendar-X570-GAMING-X.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.39; Fri, 7 Feb 2025 00:58:58 -0600 From: Vijendar Mukunda To: CC: , , , , , , , , , , "Vijendar Mukunda" Subject: [PATCH V4 1/6] soundwire: amd: change the soundwire wake enable/disable sequence Date: Fri, 7 Feb 2025 12:28:36 +0530 Message-ID: <20250207065841.4718-2-Vijendar.Mukunda@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250207065841.4718-1-Vijendar.Mukunda@amd.com> References: <20250207065841.4718-1-Vijendar.Mukunda@amd.com> Precedence: bulk X-Mailing-List: linux-sound@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000042AC:EE_|SA1PR12MB7040:EE_ X-MS-Office365-Filtering-Correlation-Id: 87b0a815-51ec-41ef-61e6-08dd4744e826 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700013|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: GWI2r8IxwzBmBeKDHEz3OuOs8BTx0l1C4YKIrtMB0YfdjaJ1NG2ezhX1JqrluquR3wnGfZiEdx2klVZBKtHn2rt0W+96+7WqwlYaFU7sUxkV1qob7J9+2zczIYDbkbgOOXCK61srM+RfsCxqwheHQ3bZEb4Ek3hQKjz4Eh3ezyTQZqxesU2qZSGgde+oQOasYF4n/C3jUZwyw5xbpKaY/9kn3CVj3SYnL768uaIRqbZ3H7/5u4GPpEB5yZDal+cG90mwn1V6z0jxEtDM/vNNgAt5T9yVWaPZ5MREokBp9mMQ/u/Fisz+uQXH1dVkleSRBuddS8VUOKnaVqfndClZh6cVQZi1q5+0DwxeZBpbv9zMU8aIfPF4zfsxmnOQavQQvipgMv/q4Jbi0Gln70niqX1+BFm+D2LgCmhrNgcXYzQfeqVqB9uy/NH9xnmZETpVLhlTXx3lkFsjkMY4hmJbG/VNHTsTk+0CLviAcXFhyLXUEfpYrfPho6Y+90Rao/wEqr1Wbdjy97za/2J0eVatOp73jz+0Z43M3geaUFsKEO2kDjDRSpIe0MqBJjVyb7AYfUW3vfIzM8mkNUNpcNZ1Mz9x10t1OPVWEkfKm8qaVP92gpaz4+vRa5SUvQQO+TnwWi/HbsSLpXP/Dr8P2yQY9Q5PyzKHSo1oKYgvj1bhvTbJA+9QTLE4Ao0WHkXB8kUnycovF+D4LQ3kPH/b/o5VKHTZJ6ZXfK1F3DgvqiFSPol1QC+GJQp9P2wAwE778MJf3un7dSQZhYxxSqJncuuqya0JQZ5i6XNOgpwBnuZeGUApMgPonvMh9bPJYZu5UfTneO39Ma3UX4OqRC/tfYLuItjo+A4Pd+eJ/6JNRN4W1DmsOVMObxFpUYS3+UPraQkiF/ppt9SuJ0GcNyOlko6aIq8gCMJnDQlwBTcy6yE32h1uOfc2PTEh1ukhr+naQ7J79Yr+ximx0L2yYN12fPjERCaEKGfOuju58K3wx8H9Q7v5WtwBvdEpbVaQiVlUElAH48muWgdwSxRWQceLBYRm2dyxea2MiYnI9rQ2FzR0TvbkDjSohJgK0bssDgN9EmQF4s8V51utqokSo8tqPY+YP1SCkihFNtldfB/JLVFWGEwWcvMXp9fMKLDapFTWoFIGv6CWVWG+R2svS1tbtNaWdRZd0wbcb+3D2/LE1eRSmg0ezOeAwP1nyGsIWwvXOp0ZKlYoZ2iezz9RA4/yTtfCKJcLGUEmMgavKOSNfSWE6LZ1ReFmUnpzZist8dfiEsJkHYSXk7YpJMLbbDGbm6zVN2d6fMFXqaypqZzz96m4xnzPY2/h/xGwLYFh2UzYcmYo+UK5Pvh1/fB7yILmGP0x5p/88UTT1BXPAj+Ba8IoB+bT97JFNIpwsyd+RtG2HQAPusSDYlKH2Cl/TateBXBXZ+1AYDYJzfgyK824oWTxUimIPwtOac/dEzi1aFwdXC4vMCrzn6TNUYeD+P9G2hYJA5YKld8cE631qqMckorR/CI= 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:(13230040)(376014)(36860700013)(82310400026)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:59:03.3093 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 87b0a815-51ec-41ef-61e6-08dd4744e826 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: CO1PEPF000042AC.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7040 During runtime suspend scenario, SoundWire wake should be enabled and during system level suspend scenario SoundWire wake should be disabled. Implement the SoundWire wake enable/disable sequence as per design flow for SoundWire poweroff mode. Signed-off-by: Vijendar Mukunda --- drivers/soundwire/amd_manager.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/soundwire/amd_manager.c b/drivers/soundwire/amd_manager.c index 71b3cf2df89d..187006e68ad6 100644 --- a/drivers/soundwire/amd_manager.c +++ b/drivers/soundwire/amd_manager.c @@ -1139,6 +1139,7 @@ static int __maybe_unused amd_suspend(struct device *dev) amd_sdw_wake_enable(amd_manager, false); return amd_sdw_clock_stop(amd_manager); } else if (amd_manager->power_mode_mask & AMD_SDW_POWER_OFF_MODE) { + amd_sdw_wake_enable(amd_manager, false); /* * As per hardware programming sequence on AMD platforms, * clock stop should be invoked first before powering-off @@ -1166,6 +1167,7 @@ static int __maybe_unused amd_suspend_runtime(struct device *dev) amd_sdw_wake_enable(amd_manager, true); return amd_sdw_clock_stop(amd_manager); } else if (amd_manager->power_mode_mask & AMD_SDW_POWER_OFF_MODE) { + amd_sdw_wake_enable(amd_manager, true); ret = amd_sdw_clock_stop(amd_manager); if (ret) return ret; From patchwork Fri Feb 7 06:58:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vijendar Mukunda X-Patchwork-Id: 13964438 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2047.outbound.protection.outlook.com [40.107.220.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 16FCB232386; Fri, 7 Feb 2025 06:59:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.220.47 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738911556; cv=fail; b=SlURyU+jGvQ+7vnqS7zHv7nGh7vtdl62mMXZA59Fpu1ByNW6fnuJzKhix4OnanZ1Jmbx0rPRLpfWbKrvnDgJI7mEM24AlkuxAYyJPvwneg+phv8ZLopyaeT8wRBoFhmeNKtNva3DZGg7sy93Q+v4wSmkYP7EvmGdqWe1XqkMBw8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738911556; c=relaxed/simple; bh=rUDS1W7GSY9x3ufKyR5TU335l/+EBtmFCipUhA7YfhE=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=QhnWbADVhvF/H8ns1xEa3EAb0av1LSOx7F9iER0NKo3dA95lHGlknTDZJ1ikb8wYAlwjLW9bkYoQtlRuD2qxYycA6YiPd9uPRT3iMtaWlT5YEPU4Gl/U0JbtsYL93Dj+UPOSCWjJHZof+otVBWRp0sfMCz24cPJu2sOE8jYPg2E= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=R9kh928B; arc=fail smtp.client-ip=40.107.220.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="R9kh928B" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HwViN0y+euNHxNjlVsX7Tl7KBZUVrJcSfGFVZMr53kxvVtelqFqRN0QFhJI9IcGXJfHJVUxsKu53NzOb5fh1XdfPhh1ruJW1ORSiT2DJoXD9X0SlQM0qCTpFFPh8CUPG+2mpaeFVg7y4Hp9TePPEkMDRRtkM0vjuQsg4N2M6xG+P39S/3U8J9pigthzmCx7FxssySwPB3aS36ctly1aXg65Cjtri9WOsdCGUCndclhoFB3TsFQtp5F9NCaMt1Hh6iClSCKHcpIUezwFKa9d5UdGJlDPuV5ZxHIurXbHCkbYfUNzOm9msMVD+BKjAW2HnS3sAu5xY+WFzb9vjzOvK1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=o+TII58PpEldSfBplN7Tj5YOOwq3yThcAXWsizYmDV4=; b=X5XJ9hZ6Bs9DQJ5+D7q6JL6DyuLTVP8JY2GPBqbdBHYJG9zf8LV8Gy8L5gBj4sVo4YjvNf5FvDYCgFFdLezaHHLd0Bkwi7sj5z5x6wgjEQJEx5AuJTUL2+9tDzfrKbShCpZe60OO+mH7tVou+DYjSDoAZVj6EVQzsPZ7txrLBAClASo0GcAm0okVxtbaZ9c1+9sJ1puXdg8pM32iJbzU0uWH8orwn65gBDqy/6PiIGsvECl2pyBp/JHNS3RA0h9/JeVFGQmsZaFe3oXQzRMCXDwYi5AFna/RM/SsFSuipPgjn1PgYGff9o1MnxslqFQMbC4eVDDwhJwsn/Z6GXRgZg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org 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 (0) 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=o+TII58PpEldSfBplN7Tj5YOOwq3yThcAXWsizYmDV4=; b=R9kh928BvLCdB1PtdTZFPI7oa6lLtxGLfdaMhWv16H5Bqe1/t+ds7YNhht84S6gfVxESipFo1JS3qyCSW2KFjr52a384cSCaxujiRl4D+xXF3cL/icmGxt++yweylZqYtcf4VM3uVJb6mUyXLX0nFPVsTTveu3LP3VK4IzGaP4k= Received: from SJ0PR03CA0117.namprd03.prod.outlook.com (2603:10b6:a03:333::32) by CH3PR12MB8234.namprd12.prod.outlook.com (2603:10b6:610:125::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.12; Fri, 7 Feb 2025 06:59:09 +0000 Received: from CO1PEPF000042AC.namprd03.prod.outlook.com (2603:10b6:a03:333:cafe::7a) by SJ0PR03CA0117.outlook.office365.com (2603:10b6:a03:333::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.24 via Frontend Transport; Fri, 7 Feb 2025 06:59:09 +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 CO1PEPF000042AC.mail.protection.outlook.com (10.167.243.41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 06:59:09 +0000 Received: from vijendar-X570-GAMING-X.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.39; Fri, 7 Feb 2025 00:59:02 -0600 From: Vijendar Mukunda To: CC: , , , , , , , , , , "Vijendar Mukunda" Subject: [PATCH V4 2/6] soundwire: amd: add debug log for soundwire wake event Date: Fri, 7 Feb 2025 12:28:37 +0530 Message-ID: <20250207065841.4718-3-Vijendar.Mukunda@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250207065841.4718-1-Vijendar.Mukunda@amd.com> References: <20250207065841.4718-1-Vijendar.Mukunda@amd.com> Precedence: bulk X-Mailing-List: linux-sound@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000042AC:EE_|CH3PR12MB8234:EE_ X-MS-Office365-Filtering-Correlation-Id: 5d5f2359-c8b8-4192-c573-08dd4744eb93 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|376014|1800799024|82310400026; X-Microsoft-Antispam-Message-Info: 6crXQHzAw/aZvFEAUiiH30HYo5T3RPBFcvmZsCjuwLGLxgMb3ibUBmNWY4GmhXKrrsh4Bob5bY3uJv5f/d+ANZk1mMO7FxfQqUjI1QHm+kVdfhBkiQeJi70J55JSkOiBNdn38AqN/cRbrdp7EtRD5xa75GiNDEfXUwDcOMcfOLZDAb0isZBansdOYrcqaNOblOGQOZekQLBMqJwf3ROkWoC1ZX4STw9oryZrHMUmRH9aL3g/qeqs6rUXlaKxeMHdTu4Jy9XGv113XiGsNSBj6bbx1sU5gsnY1xbK+DQplheyokfccAO+fpuzt2bkGZlgI4nhk/H94X2ygsWayPF5Az6vwN/LF025rdd48QQSYAaA82UvM2VyQu5umUYuvLJMeBpcUGmxGeHhCx9Hi3LI/2evBL6cDAcWMyLDaSw4rRlJxicfb15TlBwgiUdxPvH7o/z2/nubyBBT668Pqc8VCzRuWzDtWPfEjfbr5RgppziHniUGD4wQmuT0RO0JO6qcC6+KmyHqYi/2VHBlqqMZ4JHAU75NSeKVrAxPgxmJf82HukR1WloiyBcQTVswyrunjXxTgmxc9tCT6eEHMSxjtlLZllfBeu6XVxZJazhDFBp94m2MoOyiDHa2BJfYBuAEhd2L5a6jBJ1tU8htVG1U3hnOrTsgA/0yn5swFA9IXEEDVUiSTmTUb1uObd7JNUCTpttrSm2FLxNWZTBBz30VfjRyCB+kwRj3Y2XEUv9IQLk26sj2SYr92ejwsh2QC981Jo4OsWKWEyO+e7jNE+06uWsqxjr2bo+iw799fEBUH6d4w7s4AB63ketUHEroXX0aaHSKrGIxrRJJOii9x5nZ3cNgRdXNpQe2lzLYOtmcl8s2TPMgtLkzVs1QlUhDFoAH9IkHWr4dYdYLn4uSRKT4usxuRhgIaiRzeA5jcGiMt2Z5YR8ZD/C0eHxbDQsR0Dqxg83Wqgl8F98vmPiAu3wQKTwKVDWAsVQ35bSMR+xgDANlwYQEJ5PYr2IC9AU8MpCh+j6aO1Me4WONOO5JQcpxmY+ix90pY5x1RZnpQPSNhGrI3gP1RGHaYnYnzA3ePktBNb4jwmHVTJVxu6nwmakzH4IlMW+izuvSTVGygqmDx6o8mceOociiQUnbCTjucPm2XrxXoKFn+PCSz3iC2S4Nn07SSDP9DczEdfDVj4wNhlmqXpvM3Puxf9+9KLirFi9bE7v/U622/J3bxRsoRRkzlCzUiosMju6/JMyhxTWQQjxkvd9qn0HlHoWnXa6KKp66rIcKinAuVto4/dnCWem10MaNZsX00i7oZ4er6BpFhCfbTkROMB5+Jt2pjgjRAtYYZSj02cuADIk7kT7EmUSaT1WRvmCMsWeNi1kO27tz2we7aU6Ha3zzxgcBnhqpePARUtFKV8TjLuGAYaM7taYIrhzbFUheoHIKdOJ4iY/yul+C/8kzISb4R8yAWuJ6oHob06Ak+OhdhDk3txdCt1UlLbNyVaQjCDJxdrDd5oyDDSg= 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:(13230040)(36860700013)(376014)(1800799024)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:59:09.0594 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5d5f2359-c8b8-4192-c573-08dd4744eb93 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: CO1PEPF000042AC.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8234 Add debug log in amd_sdw_process_wake_event() function. Signed-off-by: Vijendar Mukunda --- drivers/soundwire/amd_manager.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/soundwire/amd_manager.c b/drivers/soundwire/amd_manager.c index 187006e68ad6..60be5805715e 100644 --- a/drivers/soundwire/amd_manager.c +++ b/drivers/soundwire/amd_manager.c @@ -849,6 +849,7 @@ static void amd_sdw_update_slave_status(u32 status_change_0to7, u32 status_chang static void amd_sdw_process_wake_event(struct amd_sdw_manager *amd_manager) { + dev_dbg(amd_manager->dev, "SoundWire Wake event reported\n"); pm_request_resume(amd_manager->dev); writel(0x00, amd_manager->acp_mmio + ACP_SW_WAKE_EN(amd_manager->instance)); writel(0x00, amd_manager->mmio + ACP_SW_STATE_CHANGE_STATUS_8TO11); From patchwork Fri Feb 7 06:58:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vijendar Mukunda X-Patchwork-Id: 13964439 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2075.outbound.protection.outlook.com [40.107.223.75]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EA58D23312D; Fri, 7 Feb 2025 06:59:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.75 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738911558; cv=fail; b=oHs1wX4XE8hMfXEH7M/kBN4ziAzOhqAfMwXQYsYO/pG7/KI0YfSLmwbQ7nB5gWPNwwms9JE8iLUw1+cFQyv9Kw6R1D3uqh1OGEp9JBsxP34ttEJwgPc3zIZ0Y2FJUPeMUhhI1fY5eaUT015f20ebBaoJcRJwClRsA2mMV6yD9nM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738911558; c=relaxed/simple; bh=rpY0UQG0zI9sTtJedIm/Rm0zDwGSVLpnVaGyZCZLBW4=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=SAyRL8J78BaWiVTkAXtUyAr5WyhX43WXZ4f9andtZiruCwX/7dXllZL1iQ6LzdCi/tpMiFRoL0C6FkWbTxfRwjZ3xn5iWQ1IvhFbLsTsLb2MM5ukTL+wsyWP8SoMYwi1skKxn7ALuqwzpgOGzeb6a6FP4Gfu0omBvzd6OKFPw+Q= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=x4ien3CN; arc=fail smtp.client-ip=40.107.223.75 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="x4ien3CN" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SUGDKpzJlszVs5yWSazii/g2f8+xn5D8W/jhGhSIPvr/zx4J0KeCgF6Krj2KHo1/cc+WeIDJxx1FVIVdwGK/gPhqGgmIeutKOefyWLaeEumIXIpWt1J32n2j7a5s2GlB2PUV0oSWEAbcUV75F1+iRHpaik81Xw7BN7xyi/wFR4p6ynh2pwew6Typ5Zm3rr7VFGtlrIVLXzonr7nx40oh0SgqeOZFGn+y7FiMBwsVF1FmFdxkKJ7ECOiotFAkjpo7d2wIqbAL8BnI3roI0J5HO1ti9fHNrqHJ9muLpWlyKNvJBJ7q4kIxDoslW61/3ACMltkqC3IPyZVCzwkdeOdWsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=UYkKr7Jpj/LcVoCazCtSSUxDXwImCccMDO0KKt5kxQo=; b=xu3NyX1EDHgzM2VpLt8TByMavPkey3IUofDY5rv+Hgi88jn1Y9oD/fV5bYC67ekmZGPpYMDAgdnn5J93N+Ot6OLlo7NwRRM7OD320iKmwVRn7gOzgIbNQlGsZgUAfhiVsnhFGSIock3FELsPRBHQoCJIC/ZR4fGl229z9xPwlMfxwI+D72Tx5LQQnV9aFGNy+98MNs2TJvAw4g+AnzDdWaqrL6fjZeqLF4sCyrOqPPXfwCvIovzWTCPe43Xldyvkm+18IU1GY/dmlCvLiMLswwhitdE0k2EHto+i4Om3QO+UzQruSUiToS5reqCrpnNeyVOlx7zw1fuEAj4rD3eh8A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org 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 (0) 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=UYkKr7Jpj/LcVoCazCtSSUxDXwImCccMDO0KKt5kxQo=; b=x4ien3CNce3MmHHnC3w9ldrCfVdQc5leO1wqiY+OkW94bvPCCwVFj6uS5waB1WGROMtx3rQxwJqAVhiCn7aym8EemwgoJ9FBPUYFYw8vxrVf+wY2EFI8Fj26YxFxJsNZIoZad0j63ybdplEtfH82DOTJ2lNUS9+TCfEoJipA/5Y= Received: from SJ0PR03CA0105.namprd03.prod.outlook.com (2603:10b6:a03:333::20) by IA1PR12MB8239.namprd12.prod.outlook.com (2603:10b6:208:3f7::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Fri, 7 Feb 2025 06:59:11 +0000 Received: from CO1PEPF000042AC.namprd03.prod.outlook.com (2603:10b6:a03:333:cafe::c8) by SJ0PR03CA0105.outlook.office365.com (2603:10b6:a03:333::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.30 via Frontend Transport; Fri, 7 Feb 2025 06:59: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 CO1PEPF000042AC.mail.protection.outlook.com (10.167.243.41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 06:59:10 +0000 Received: from vijendar-X570-GAMING-X.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.39; Fri, 7 Feb 2025 00:59:05 -0600 From: Vijendar Mukunda To: CC: , , , , , , , , , , "Vijendar Mukunda" Subject: [PATCH V4 3/6] soundwire: amd: add support for ACP7.0 & ACP7.1 platforms Date: Fri, 7 Feb 2025 12:28:38 +0530 Message-ID: <20250207065841.4718-4-Vijendar.Mukunda@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250207065841.4718-1-Vijendar.Mukunda@amd.com> References: <20250207065841.4718-1-Vijendar.Mukunda@amd.com> Precedence: bulk X-Mailing-List: linux-sound@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000042AC:EE_|IA1PR12MB8239:EE_ X-MS-Office365-Filtering-Correlation-Id: c42e96af-b66d-4aec-a940-08dd4744ec59 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: 1SR9644R3sXBxEGAvXR/7IiBKq45apTyuNU0q+Yg8lJQotgTfZoKmWvD/1j5DN211ANVoKMR0Snv6OLVyij4Ad0mQBVNWp5BnXhX0fh8UGh/Q0xLiZUJDEXuq5rVyx/PoVS3y1Q7eSCP8F6jVbB9mlCWUmRwiNqUdsxJr3lTRx+nB4OAGM8c4SWA0qMuZsQ1mVDw/p+YtMfNSybOt1iABdz9bdzVmoi0nvurlugdFpuWWHGkIXMpGq72e4AirDm+QEJr4YZvfG3gS0GSHLx5MzMwQ+d0cBp/kG+1eHx1b1BufnsB5ZCchOu8MkN9m/GZTXc4uhhlJFPNeG6VdNeiH12q/HdGRwQ/RUbxiJWaA2QKig7vDM48AeTqzQZ8CIr7SN9OdRO5/x55g5yRVnxyiu3hDdKiuBb5SHaA4IfEHpxyjD0isgeEIhQwvoWjsRdiPTLR/BDKJnznNtwqY2V6Q5dhtE8+UWToZKDbZRMLCcYZgdViiwARPcNMo0bkWh0QN7sYFD4GpKn3dfocL2gRBrL0TJMylI8C4iUzrkWBTEdp85pKOADi9hWN4TNqRti7Ew37tx79g5quhwlI58Qd432CftNWNcCaZsgKlQGGKQtpYAG/5E1YDC7I03J8QDMVSSxZR+HFuaAeqGtJ5kJx25ME6n25a1PKHREoTCa4YDawyPLJXEAVUhouWiFvzWNihfTA2Y8KF3TSO3ig98JQSJYKt31NFvuBZ9YG2xLw+eIwjtRafCo/Mq48gzn+zqPyZgegVZTGL4uHooptzMKRKFY5lXLK2Mtq0hme6n12VGv8eq13VQKF9hy8FfPS2Rtj9pyHkJQvfzFMNrhfKT567us5Qs0pDPKFJS49YueA7OeBCwDYbgdu90PHE60jce8qK+BuQZf3iCRDw7kqFsh13XwK94ScUfik2fl7TP3yLGBii06u23KiDISr3yS/T10GuMSpMsHTPs6sy4JVsG4kjN2ThT9h912CL2gPYAcij2jjtnT57mEKYRXteOSrjqjCTCd4PwAVdpY7Ky0XXSqUUgp1mDNFW+hUqv119hh9dJKlUf05Q9EUazYr5Ygbchx5gRuMf+S9hFZE9mGvUks8ygkknA5VpkdodWMidBqzebmxTzeIFgw+1nzr0mKMJFoC/eFVyX6/2XNLpW5BhOwJPWYjkpPXfZgvc9/faR3n9gOzi7uKXLChp3gB32d+1WRnoE477L0qKDhb5XpaS3eVzRL49fLJspuHgsmYZ4N44dSOnwY0nFs+x+wjWMoNkhfGBmaW3JS3CQ/7x7+xTU1PAdIljH5VqRhKJaLwEJtJpfXfTf58VOGCqAUPJFy5jD/a8WGQie2mwjZK6RyrTSVg2uVmkr+HOPWvLC+ABUU12m6nM7oYy1TXXqIi25cfGQ43Xvzm0vW1TrTH9N53MmhQ6Liimuh+YZ2yL0tjXx7HuxVrfYfXNykqD/Om/LNtIH/po5BI///5QbpnoQG99SdtUYC9WA9Uj3iYd8OIwS8AvK4= 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:(13230040)(376014)(82310400026)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:59:10.4031 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c42e96af-b66d-4aec-a940-08dd4744ec59 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: CO1PEPF000042AC.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8239 Add SoundWire support for ACP7.0 and ACP7.1 platforms. Signed-off-by: Vijendar Mukunda --- drivers/soundwire/amd_manager.c | 21 +++++++++++++++++++++ drivers/soundwire/amd_manager.h | 18 ++++++++++++++++++ include/linux/soundwire/sdw_amd.h | 2 ++ 3 files changed, 41 insertions(+) diff --git a/drivers/soundwire/amd_manager.c b/drivers/soundwire/amd_manager.c index 60be5805715e..a1ea7b95b4ce 100644 --- a/drivers/soundwire/amd_manager.c +++ b/drivers/soundwire/amd_manager.c @@ -446,6 +446,10 @@ static int amd_sdw_port_params(struct sdw_bus *bus, struct sdw_port_params *p_pa return -EINVAL; } break; + case ACP70_PCI_REV_ID: + case ACP71_PCI_REV_ID: + frame_fmt_reg = acp70_sdw_dp_reg[p_params->num].frame_fmt_reg; + break; default: return -EINVAL; } @@ -494,6 +498,14 @@ static int amd_sdw_transport_params(struct sdw_bus *bus, return -EINVAL; } break; + case ACP70_PCI_REV_ID: + case ACP71_PCI_REV_ID: + frame_fmt_reg = acp70_sdw_dp_reg[params->port_num].frame_fmt_reg; + sample_int_reg = acp70_sdw_dp_reg[params->port_num].sample_int_reg; + hctrl_dp0_reg = acp70_sdw_dp_reg[params->port_num].hctrl_dp0_reg; + offset_reg = acp70_sdw_dp_reg[params->port_num].offset_reg; + lane_ctrl_ch_en_reg = acp70_sdw_dp_reg[params->port_num].lane_ctrl_ch_en_reg; + break; default: return -EINVAL; } @@ -549,6 +561,10 @@ static int amd_sdw_port_enable(struct sdw_bus *bus, return -EINVAL; } break; + case ACP70_PCI_REV_ID: + case ACP71_PCI_REV_ID: + lane_ctrl_ch_en_reg = acp70_sdw_dp_reg[enable_ch->port_num].lane_ctrl_ch_en_reg; + break; default: return -EINVAL; } @@ -966,6 +982,11 @@ static int amd_sdw_manager_probe(struct platform_device *pdev) return -EINVAL; } break; + case ACP70_PCI_REV_ID: + case ACP71_PCI_REV_ID: + amd_manager->num_dout_ports = AMD_ACP70_SDW_MAX_TX_PORTS; + amd_manager->num_din_ports = AMD_ACP70_SDW_MAX_RX_PORTS; + break; default: return -EINVAL; } diff --git a/drivers/soundwire/amd_manager.h b/drivers/soundwire/amd_manager.h index cc2170e4521e..30244a31c21c 100644 --- a/drivers/soundwire/amd_manager.h +++ b/drivers/soundwire/amd_manager.h @@ -159,8 +159,11 @@ #define AMD_ACP63_SDW0_MAX_RX_PORTS 3 #define AMD_ACP63_SDW1_MAX_TX_PORTS 1 #define AMD_ACP63_SDW1_MAX_RX_PORTS 1 +#define AMD_ACP70_SDW_MAX_TX_PORTS 3 +#define AMD_ACP70_SDW_MAX_RX_PORTS 3 #define AMD_ACP63_SDW0_MAX_DAI 6 #define AMD_ACP63_SDW1_MAX_DAI 2 +#define AMD_ACP70_SDW_MAX_DAI 6 #define AMD_SDW_SLAVE_0_ATTACHED 5 #define AMD_SDW_SSP_COUNTER_VAL 3 @@ -244,6 +247,21 @@ static struct sdw_manager_dp_reg acp63_sdw1_dp_reg[AMD_ACP63_SDW1_MAX_DAI] = { ACP_SW_AUDIO1_RX_OFFSET, ACP_SW_AUDIO1_RX_CHANNEL_ENABLE_DP0} }; +static struct sdw_manager_dp_reg acp70_sdw_dp_reg[AMD_ACP70_SDW_MAX_DAI] = { + {ACP_SW_AUDIO0_TX_FRAME_FORMAT, ACP_SW_AUDIO0_TX_SAMPLEINTERVAL, ACP_SW_AUDIO0_TX_HCTRL_DP0, + ACP_SW_AUDIO0_TX_OFFSET_DP0, ACP_SW_AUDIO0_TX_CHANNEL_ENABLE_DP0}, + {ACP_SW_AUDIO1_TX_FRAME_FORMAT, ACP_SW_AUDIO1_TX_SAMPLEINTERVAL, ACP_SW_AUDIO1_TX_HCTRL, + ACP_SW_AUDIO1_TX_OFFSET, ACP_SW_AUDIO1_TX_CHANNEL_ENABLE_DP0}, + {ACP_SW_AUDIO2_TX_FRAME_FORMAT, ACP_SW_AUDIO2_TX_SAMPLEINTERVAL, ACP_SW_AUDIO2_TX_HCTRL, + ACP_SW_AUDIO2_TX_OFFSET, ACP_SW_AUDIO2_TX_CHANNEL_ENABLE_DP0}, + {ACP_SW_AUDIO0_RX_FRAME_FORMAT, ACP_SW_AUDIO0_RX_SAMPLEINTERVAL, ACP_SW_AUDIO0_RX_HCTRL_DP0, + ACP_SW_AUDIO0_RX_OFFSET_DP0, ACP_SW_AUDIO0_RX_CHANNEL_ENABLE_DP0}, + {ACP_SW_AUDIO1_RX_FRAME_FORMAT, ACP_SW_AUDIO1_RX_SAMPLEINTERVAL, ACP_SW_AUDIO1_RX_HCTRL, + ACP_SW_AUDIO1_RX_OFFSET, ACP_SW_AUDIO1_RX_CHANNEL_ENABLE_DP0}, + {ACP_SW_AUDIO2_RX_FRAME_FORMAT, ACP_SW_AUDIO2_RX_SAMPLEINTERVAL, ACP_SW_AUDIO2_RX_HCTRL, + ACP_SW_AUDIO2_RX_OFFSET, ACP_SW_AUDIO2_RX_CHANNEL_ENABLE_DP0}, +}; + static u32 sdw_manager_reg_mask_array[AMD_SDW_MAX_MANAGER_COUNT] = { AMD_SDW0_EXT_INTR_MASK, AMD_SDW1_EXT_INTR_MASK diff --git a/include/linux/soundwire/sdw_amd.h b/include/linux/soundwire/sdw_amd.h index 799f8578137b..6b839987f14c 100644 --- a/include/linux/soundwire/sdw_amd.h +++ b/include/linux/soundwire/sdw_amd.h @@ -28,6 +28,8 @@ #define ACP_SDW1 1 #define AMD_SDW_MAX_MANAGER_COUNT 2 #define ACP63_PCI_REV_ID 0x63 +#define ACP70_PCI_REV_ID 0x70 +#define ACP71_PCI_REV_ID 0x71 struct acp_sdw_pdata { u16 instance; From patchwork Fri Feb 7 06:58:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vijendar Mukunda X-Patchwork-Id: 13964440 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2047.outbound.protection.outlook.com [40.107.236.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F3E831991AE; Fri, 7 Feb 2025 06:59:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.236.47 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738911561; cv=fail; b=M/1zY8Yr5XlUoZLJBMqo+RSkksmyB/vapg7FELLsHQp0oz6DtLogEVypbh4eUyxze2yBEZQDvJgkSHJfo0bi++ovjpXQklHyJGr4NufKUdVk7FofTgXSN6FgjHhx7JZ4ssz2CJ3Ay3QGcIUJsxrPg/mwXNOyT2fELJ5rQae/6VE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738911561; c=relaxed/simple; bh=7rtKWyNuZ/F9NaZyaIdVtku0Em4x47NurWn+hKvz0bw=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=I2FkEtCInY/sZdzYh7NbGjFc1CJA68KYK3A1aqPPgYBV451ymCrCMjr4us5Qt+s44SN/+ajxVGgf+jScoMvmRfcLZ4uuTwZuZSfkP1TLIipCecS5qrWxStEW0WN/EyozYXLrVX5CZSgPFg2CBQFQ8W20H6XBwpzz+hqCTLFIqu8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=jT7Gt75r; arc=fail smtp.client-ip=40.107.236.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="jT7Gt75r" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UmkPukMC35cz2WahdUi5E8hQuxEXJpJeoxCVkHGwrbULzeFjUunG5gtcYcmonkVHudfuOXzArYiSml1ZiRiwuRaBpxCroTtgtU8r+iEsTADUwrS1y4FrrGETBuJZ1qJZprOLvWXJeM/c+ShE8EhRvjNP59805DB4eaL2u9WuIkc2IY3JLOGvhpA9PUzYqizJft8MlDaa27rry4rpamuuY8oCqD9LeAEh0r80aHSaIobEYteliK/qBidLCIL3vCZQUqVBtljIpMzG9NE3qEbrG/jGSTcBS0WBDIXH+K0qOe3jZIOfRl9Hn/LJtNuN/bZXo6Izqgxb1cknxkCwztnUyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=B/ge/koJFMj+eacI4/HEU2u0TsrlxDhbpt6H9gHDI9U=; b=dArQ6TR7ukV+ISCKbyarS59OZAQrVj3FwLNSosuOnKYE9TcH5PRoFPRdTdu8/rvI0/Q33EY8sBLvPzFZ9UbX1iuRhdvNCniEDvx2JosPp+MqH/YmKgHk6M48pCVBJIliBgoB+Dq5iyGQrducjm1NX1ZipVQPkvgfYRi4JUz+TqcfRebyYrb5vRSk4oUwf7tN5RG9DfoSUp38mjIl6uo/UbVcOQbBloMcCuPwr2cuisrTLfB88WtKXy7ESqviAcmv9fLSK2J0try4OOGutlPrcU2PNDOwqx3tKIeXKP0/T/s09rNRRAr/eOXsX0hmZfak4/r2E3fKa3Sv5Vt03/lF+Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org 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 (0) 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=B/ge/koJFMj+eacI4/HEU2u0TsrlxDhbpt6H9gHDI9U=; b=jT7Gt75ry5TNkZVH7lZWgtva8GsVRN62kL0LGsWKjUAiBSBbVfva+SUpkuXeoIkRXmn9QpDSjgH6j099RNSKBNBCweXsXbxTFzYBFNqvw4wbpArBvFwXSR6fK3ZlJYbUIXHmSRwOINsAv/Q7FLDU7+KhMNtZj97jEKMsJ/ebO94= Received: from BYAPR01CA0008.prod.exchangelabs.com (2603:10b6:a02:80::21) by BY5PR12MB4225.namprd12.prod.outlook.com (2603:10b6:a03:211::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Fri, 7 Feb 2025 06:59:15 +0000 Received: from CO1PEPF000042A9.namprd03.prod.outlook.com (2603:10b6:a02:80:cafe::6c) by BYAPR01CA0008.outlook.office365.com (2603:10b6:a02:80::21) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8356.21 via Frontend Transport; Fri, 7 Feb 2025 06:59:15 +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 CO1PEPF000042A9.mail.protection.outlook.com (10.167.243.38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 06:59:14 +0000 Received: from vijendar-X570-GAMING-X.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.39; Fri, 7 Feb 2025 00:59:09 -0600 From: Vijendar Mukunda To: CC: , , , , , , , , , , "Vijendar Mukunda" Subject: [PATCH V4 4/6] soundwire: amd: set device power state during suspend/resume sequence Date: Fri, 7 Feb 2025 12:28:39 +0530 Message-ID: <20250207065841.4718-5-Vijendar.Mukunda@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250207065841.4718-1-Vijendar.Mukunda@amd.com> References: <20250207065841.4718-1-Vijendar.Mukunda@amd.com> Precedence: bulk X-Mailing-List: linux-sound@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000042A9:EE_|BY5PR12MB4225:EE_ X-MS-Office365-Filtering-Correlation-Id: 136130d2-1d42-487a-3d00-08dd4744eee2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700013|1800799024|82310400026; X-Microsoft-Antispam-Message-Info: BjBKJOdQkzU5/8oafreO8r8hSm/4BqQ5CDA1+694jnrZS+NshM4FGLGwB+QswVozuKH3P55KsuZJ7U70lLGV25uD1+k6e6NYa2Kr7rV4mzBcrn+f7eqr8qMbF+Iqi37zsPSUzJhfQKu+zQfgAanFzcybcQJKcEazJCLDc92cTlH3INudaOwAaCnvfOCcKxG3VWHqOrFT+dhTo3OI77TZqxKxAYy7mPUTjui7pBA7R7kUN7gXcf2pRqH7K5xqUgAqr/DDIjfzsElDEQJHAvTMTTP2rIUGgx2kDm5AwgPQqjOHzQGpEtaS7ye1t6rjOLMgoG0q0W83YOUWYqtTYid8xxJJvetjjtNjuQScCVFVBDH8MEvf3Spt695Wgpe/dFUBQzCAW4aP9R3a+OWtNsEY7He262dTWsDddEoJaFEWBNe4UWUGb7o+OQdxxU67+j0iyVxPd22LWwXKe7kXz4p/MlG7fwfVP8tj+v7WkPg93L240yy6cTYpv0TQAGo2l/dm//hwObN9anoGinyMHslCEx2nDkX7hbDfb0t9CYWZOcrpxEpeeYOwUnbE7NxpULkhedEXaeve3GPC0qmtLQ0zyl/APM7O8jSDhXO6OeYxGAa6b6wZZp2F2onBewjEKVgCWkiw7l6XXdaFzK4kmzoaJzufG4ypxELhhmPq7AjXt9LyhDcHKBABy/bUWOqWnsdfFatUq5zHMGhcOqQolwT/oQ4979q5NjviDXjN1Y4sFTwMpjm0KIRhGgbnhvA0n5g5Zh/tdnhZdHvV0Fi6F8GlpwVM9fDokZdC3J2vcqBYGHheA2XD47Hqm+BbWugCI2U+ZXTXpytKbgBHKAbu8uZuTZucOnCu4bB43wHf8mNSoF7kv3JmIvaEJj/YeJKOXxZc4eP0//irnE3Ipd9t7ItF4+QMkoX4t4kjEZegEVhNya7UvkGjZTy3dDDJA4eRjmIHXjYycHdyWNWAYtu0qSViKgT5YL0LGJxG9j3C42nCGnLYRD1PuyUVlOj/Kjtu+aQVxdGOGZUP504jeC8vHeXKabczgKjZHa5aOVcBgu3OtPnAlefV0yy/wr48JSGolkCXFg+8AeuktBwRAWjdlRaSRk2o2D54m4f0VO6loVBwtGIK74iN8iPo85+rJY6Kbljfh0r3JbG6b0QwUGUCBgZsj3lSXdDWTwlbr77Ser5/tIoedqRlIeGfijPpQVu8rZEIYC7jPftJCldhhEukj+YliaathBbaavtWth7zVnuyRAMmmDGMTZtb7uQcUIVJvXTSZYDqOLEcZjzwVvymcnCEOGPt10rGK0xMUfiZt2G8dV8pqN0rGQ9jVv9fdgTYKKYbDCqcGc5ebnVQuC7ReMx8SUdRogNCtHuzh/UjBE+cJFlKg6J/GNGtKK5OIif//1RcNlgiRET0rr0tdIOtR5eepmF5jViC2VfKakG+U/1Vxhd9RNusyYrPY31ZstD+jLUr8Z3SpEgrEDUr4VzbRPfixw== 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:(13230040)(376014)(36860700013)(1800799024)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:59:14.6068 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 136130d2-1d42-487a-3d00-08dd4744eee2 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: CO1PEPF000042A9.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4225 Set SoundWire manager device power state during suspend and resume sequence for ACP7.0 & ACP7.1 platforms. Signed-off-by: Vijendar Mukunda --- drivers/soundwire/amd_manager.c | 58 ++++++++++++++++++++++++++++++--- drivers/soundwire/amd_manager.h | 5 +++ 2 files changed, 58 insertions(+), 5 deletions(-) diff --git a/drivers/soundwire/amd_manager.c b/drivers/soundwire/amd_manager.c index a1ea7b95b4ce..cc87e77f1dd7 100644 --- a/drivers/soundwire/amd_manager.c +++ b/drivers/soundwire/amd_manager.c @@ -143,6 +143,29 @@ static void amd_sdw_wake_enable(struct amd_sdw_manager *amd_manager, bool enable writel(wake_ctrl, amd_manager->mmio + ACP_SW_STATE_CHANGE_STATUS_MASK_8TO11); } +static int amd_sdw_set_device_state(struct amd_sdw_manager *amd_manager, u32 target_device_state) +{ + u32 sdw_dev_state; + + sdw_dev_state = readl(amd_manager->acp_mmio + AMD_SDW_DEVICE_STATE); + switch (amd_manager->instance) { + case ACP_SDW0: + u32p_replace_bits(&sdw_dev_state, target_device_state, + AMD_SDW0_DEVICE_STATE_MASK); + break; + case ACP_SDW1: + u32p_replace_bits(&sdw_dev_state, target_device_state, + AMD_SDW1_DEVICE_STATE_MASK); + break; + default: + return -EINVAL; + } + writel(sdw_dev_state, amd_manager->acp_mmio + AMD_SDW_DEVICE_STATE); + sdw_dev_state = readl(amd_manager->acp_mmio + AMD_SDW_DEVICE_STATE); + dev_dbg(amd_manager->dev, "AMD_SDW_DEVICE_STATE:0x%x\n", sdw_dev_state); + return 0; +} + static void amd_sdw_ctl_word_prep(u32 *lower_word, u32 *upper_word, struct sdw_msg *msg, int cmd_offset) { @@ -1159,7 +1182,9 @@ static int __maybe_unused amd_suspend(struct device *dev) if (amd_manager->power_mode_mask & AMD_SDW_CLK_STOP_MODE) { amd_sdw_wake_enable(amd_manager, false); - return amd_sdw_clock_stop(amd_manager); + ret = amd_sdw_clock_stop(amd_manager); + if (ret) + return ret; } else if (amd_manager->power_mode_mask & AMD_SDW_POWER_OFF_MODE) { amd_sdw_wake_enable(amd_manager, false); /* @@ -1169,7 +1194,14 @@ static int __maybe_unused amd_suspend(struct device *dev) ret = amd_sdw_clock_stop(amd_manager); if (ret) return ret; - return amd_deinit_sdw_manager(amd_manager); + ret = amd_deinit_sdw_manager(amd_manager); + if (ret) + return ret; + } + if (amd_manager->acp_rev >= ACP70_PCI_REV_ID) { + ret = amd_sdw_set_device_state(amd_manager, AMD_SDW_DEVICE_STATE_D3); + if (ret) + return ret; } return 0; } @@ -1187,13 +1219,22 @@ static int __maybe_unused amd_suspend_runtime(struct device *dev) } if (amd_manager->power_mode_mask & AMD_SDW_CLK_STOP_MODE) { amd_sdw_wake_enable(amd_manager, true); - return amd_sdw_clock_stop(amd_manager); + ret = amd_sdw_clock_stop(amd_manager); + if (ret) + return ret; } else if (amd_manager->power_mode_mask & AMD_SDW_POWER_OFF_MODE) { amd_sdw_wake_enable(amd_manager, true); ret = amd_sdw_clock_stop(amd_manager); if (ret) return ret; - return amd_deinit_sdw_manager(amd_manager); + ret = amd_deinit_sdw_manager(amd_manager); + if (ret) + return ret; + } + if (amd_manager->acp_rev >= ACP70_PCI_REV_ID) { + ret = amd_sdw_set_device_state(amd_manager, AMD_SDW_DEVICE_STATE_D3); + if (ret) + return ret; } return 0; } @@ -1212,7 +1253,9 @@ static int __maybe_unused amd_resume_runtime(struct device *dev) } if (amd_manager->power_mode_mask & AMD_SDW_CLK_STOP_MODE) { - return amd_sdw_clock_stop_exit(amd_manager); + ret = amd_sdw_clock_stop_exit(amd_manager); + if (ret) + return ret; } else if (amd_manager->power_mode_mask & AMD_SDW_POWER_OFF_MODE) { writel(0x00, amd_manager->acp_mmio + ACP_SW_WAKE_EN(amd_manager->instance)); val = readl(amd_manager->mmio + ACP_SW_CLK_RESUME_CTRL); @@ -1235,6 +1278,11 @@ static int __maybe_unused amd_resume_runtime(struct device *dev) return ret; amd_sdw_set_frameshape(amd_manager); } + if (amd_manager->acp_rev >= ACP70_PCI_REV_ID) { + ret = amd_sdw_set_device_state(amd_manager, AMD_SDW_DEVICE_STATE_D0); + if (ret) + return ret; + } return 0; } diff --git a/drivers/soundwire/amd_manager.h b/drivers/soundwire/amd_manager.h index 30244a31c21c..8430f279d88e 100644 --- a/drivers/soundwire/amd_manager.h +++ b/drivers/soundwire/amd_manager.h @@ -194,6 +194,11 @@ #define AMD_SDW_CLK_RESUME_DONE 3 #define AMD_SDW_WAKE_STAT_MASK BIT(16) #define AMD_SDW_WAKE_INTR_MASK BIT(16) +#define AMD_SDW_DEVICE_STATE 0x1430 +#define AMD_SDW0_DEVICE_STATE_MASK GENMASK(1, 0) +#define AMD_SDW1_DEVICE_STATE_MASK GENMASK(3, 2) +#define AMD_SDW_DEVICE_STATE_D0 0 +#define AMD_SDW_DEVICE_STATE_D3 3 static u32 amd_sdw_freq_tbl[AMD_SDW_MAX_FREQ_NUM] = { AMD_SDW_DEFAULT_CLK_FREQ, From patchwork Fri Feb 7 06:58:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vijendar Mukunda X-Patchwork-Id: 13964441 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2053.outbound.protection.outlook.com [40.107.237.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5598C233D8E; Fri, 7 Feb 2025 06:59:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.237.53 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738911563; cv=fail; b=chy4aQ0cvutalGHUw6PTsifZPSbdlrpeSD9arRtkkoye2fRqeAsNvUe6qFBZyacfLeJHhL+MGQd2/yaVItpH91HXbQHfV4XY7h+dgIT+okXHzrt6Mnr/pCFX0bKaYsCtbXbRn/S4VVWsb/w9OB0Xb6TeN57JWH/uV2Wry/w0bpU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738911563; c=relaxed/simple; bh=YeeRrlx3vwYeXAibQkf/NGSSMODM57I6UFCORA9SHnw=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=pcRuMaHfBskzp3jRwkzHiwTltJqI0hoRfpboGq57+kEOmCqDB1IKZlvFRllIHVEYF8FHogO6CzVSww/IoiVFIVD64CW58RicSGqC4wS2rHBeIQvNrZsce303Wsj/dQAyCKDgV/84k4Qfld5ihyDzxYkpHy+TyOiL9QBPnRm07R8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=G7yTpHlo; arc=fail smtp.client-ip=40.107.237.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="G7yTpHlo" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=U5btdIP7V4S6zc6OGgRznzv5VEIwbM7j93zoZLBJ4NwBmcr8JdPhWnIVJlrDtQZ8TPyxzFAENs0d4s3YFEoJTc3pq7lxiFGEjzJdjESds6pDUQGZ2YjNuMcfG/cVEC42QPqC/476TRv4Njo7vuqDXs4lqNvjW8M6jTgFf1n9fBILWLv3mAHRgoToWvmVnNhcmaED0Z/WCS33dmuRtJyVWm4fE40LkMD68rqVtMO98+wIyapvkUQAkkIuDezLKs6Bk4zzM2UIQhL3q+xRa6+GqfnBNGhqu4Tmir63Be/FD/k0lQa2boCn3yKBLTOx2AvWwo3Agy4pWCslSPuUZo3qxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=DdhEz9JR14cUYOgjTS8vDJCWGKbPW5n/qE9URGJsJpQ=; b=bAOq5YLrTAFl8XdacXKrdy1qfHT30G9fW0pDNwZ777y9HRTezpH/HA8mAIukc8suS3hrQqHnfIYHQ7KIXXQ9K7luZ6y5oRKn60DdjVkiUVQFUdektNRWt+Q0hpOlBQW0XhsMZ01AF52Fr0SdETJ9/7BwboVkWG2Aa/Xx/YzYPNIeYRV1dC9gdS4EGg6KrbU5hxouCP9Ak7zwHsBe+UJHAlLpdVAxR2Kui12x437iTQG51r3byMrB2Okc9c3YYHysIcsnQLrxpaMCEEzH8vunprdozmKqcFCBd173fQvBXA3av2a0YtXr5NT18TBBHU/kBIzcVeF9NktwdYitgwh4BQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org 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 (0) 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=DdhEz9JR14cUYOgjTS8vDJCWGKbPW5n/qE9URGJsJpQ=; b=G7yTpHloj+g8AFEO6qxuT2Rr79IOlTOHYnf8DZOxvW/6vovCJUh24L0BlXN2SRdcz2JsvH0TSdwYnHVTQy6Q6rOY4weV5mB4CNBbtH1ZRMqADLs0sMmHZ9XiTAhop4PvQYGRyyaEwb3XlmTdl2GVfVL+9PENM73f4G/9YA8EPIM= Received: from BYAPR01CA0013.prod.exchangelabs.com (2603:10b6:a02:80::26) by PH0PR12MB7487.namprd12.prod.outlook.com (2603:10b6:510:1e9::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.10; Fri, 7 Feb 2025 06:59:18 +0000 Received: from CO1PEPF000042A9.namprd03.prod.outlook.com (2603:10b6:a02:80:cafe::36) by BYAPR01CA0013.outlook.office365.com (2603:10b6:a02:80::26) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.27 via Frontend Transport; Fri, 7 Feb 2025 06:59:17 +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 CO1PEPF000042A9.mail.protection.outlook.com (10.167.243.38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 06:59:17 +0000 Received: from vijendar-X570-GAMING-X.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.39; Fri, 7 Feb 2025 00:59:13 -0600 From: Vijendar Mukunda To: CC: , , , , , , , , , , "Vijendar Mukunda" Subject: [PATCH V4 5/6] soundwire: amd: set ACP_PME_EN during runtime suspend sequence Date: Fri, 7 Feb 2025 12:28:40 +0530 Message-ID: <20250207065841.4718-6-Vijendar.Mukunda@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250207065841.4718-1-Vijendar.Mukunda@amd.com> References: <20250207065841.4718-1-Vijendar.Mukunda@amd.com> Precedence: bulk X-Mailing-List: linux-sound@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000042A9:EE_|PH0PR12MB7487:EE_ X-MS-Office365-Filtering-Correlation-Id: 607aa32b-c992-422a-b236-08dd4744f09d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|82310400026|1800799024|376014; X-Microsoft-Antispam-Message-Info: rL53iDhrWKEo/ei4P68QHVVEv2JjxSpxduuMtLmEkwfDYnxd/0/ISQgK094BYpuEuagwrNHCQjQ8JWlhKawNz1g9KhP76v83jnVNr6QjeQPmTnM+0uKLT2/tEG1ahuIzziKHD1Zddc+sH2tv6RkqrBlQYdUHhB5zSKtRCwRAOPHFzz/q0e53ftNJ15Aqp4XanVsjdj5if2fKShOYsCmZKsV8EGNhmYf2bbFlBQuopl+EvEtJfVK3s8R0AB5ezctUcUZ/eqy2KekBFxpTGY4p0Ya2H66HTAeJRfdI89MFPgsZPdFjBy/3TUMxKECeFZHuugxOtvBIWBtn49IEt4eS6Ms2SFynZVjYpBchpSca66pYVaE9qgXxJLwzFdwOYRHecMGta5AQnjjlj3l+IbDPO/LDMcGVk0xSCWfcQZvINYySidThKA+zTIrSTF6VsVl0sURtkbqR1HJp1W2ewRVzwd2IQjAHDtd5xg/g0CweSvvanuvy9WZpkSBrCNBH7X3qK3Cal1Gecyaobhx5oFpvU9VNUUdylljlvqDgCOQJDNT0l4PuqPP5O4/yqfEnZAP7VLHCN1pDXWO4n8DA2tzK0cYwokqHvspai8Vo/cGUEGT0zY07MRPP/185OvP0w04Qhhgidbk92/S0luQyCvUC+xWJxJrWJtPakAuZgLpSWBZWospC0oYeGPMFM1L5H5jPrLvElMTT2f1YlvGaAUpvT1p5Ahbt55E2OQpFch4ugUncCkYg2OdUnv1Nd6WVI2OtnbzJ1FIvf4EgYbkwNIosdDz5jtTSYzm1atVjB9SuugSboZdOSKtOQIPTvD/TXYuM242gJbuhK00krn2yhmBMJG9XqW1dfmbvytA/J0f6J9wROWQmiRpltAhULVFQUx4k+71wiorz2E9+8cJRG8eRv4IwM9nPsNqT5pQRFMuPktrBg9bx1zTzk104IbcwR6bVZo7SFxYKyJanKz31d7Cs09zjbR1B0L8Zacf5aloJCcIXHnd8afA/UrBBeFIzaEatFHhLRW9YfMNI+vqmWHAKFYQzMkG8Ba2enR7kG8TntolfD6ru2yMMAhkKpWzw5pImLin7jnDI1N4ZKq83+BX6Jf0dGFpPBIuI/56k8xpvCCd8gWYTHZ3hWmqTLX1VLlsLTsWPL7UciSeHEadT7FqG5e0fKNYtSSr/y3+D/w3LdMbjhBR5p0u2Fj0gtnXM6mpNoj6rKJMC4N6Uxrh6q+JsdP5rbbvv4b+Q8AydgP0pxoG+wJcrwCvUxa2Fm0FKfIJB1RfeSJEX02ZdXwDtFNvD+RXPUhy29g5lOpTIVF921Tsxslsk/hj6nTIres7f3yr6df2xdW5WhgKwXQbZTPAFqaGyFbBuPwu6Tre9CmxxQ0fLmXWiWM/I0vQhAAcVBjcaK2rLLt7DrvnYXjvsxni3PkEjtFDSKTFz9IyrXIEpW+RyBvG759UCGB7VUH7D44RoxjosKa8/KS8pnOtDdGadnHQRpL9LBlZwucDe2gfNSK4= 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:(13230040)(36860700013)(82310400026)(1800799024)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:59:17.4974 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 607aa32b-c992-422a-b236-08dd4744f09d 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: CO1PEPF000042A9.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7487 Set ACP_PME_EN to 1 during runtime suspend sequence as per design flow for ACP7.0 & ACP7.1 platforms. Signed-off-by: Vijendar Mukunda --- drivers/soundwire/amd_manager.c | 9 +++++++++ drivers/soundwire/amd_manager.h | 1 + 2 files changed, 10 insertions(+) diff --git a/drivers/soundwire/amd_manager.c b/drivers/soundwire/amd_manager.c index cc87e77f1dd7..d38b4baee221 100644 --- a/drivers/soundwire/amd_manager.c +++ b/drivers/soundwire/amd_manager.c @@ -1211,6 +1211,7 @@ static int __maybe_unused amd_suspend_runtime(struct device *dev) struct amd_sdw_manager *amd_manager = dev_get_drvdata(dev); struct sdw_bus *bus = &amd_manager->bus; int ret; + u32 val; if (bus->prop.hw_disabled) { dev_dbg(bus->dev, "SoundWire manager %d is disabled,\n", @@ -1235,6 +1236,14 @@ static int __maybe_unused amd_suspend_runtime(struct device *dev) ret = amd_sdw_set_device_state(amd_manager, AMD_SDW_DEVICE_STATE_D3); if (ret) return ret; + if (amd_manager->wake_en_mask) { + val = readl(amd_manager->acp_mmio + ACP_PME_EN); + if (!val) { + writel(1, amd_manager->acp_mmio + ACP_PME_EN); + val = readl(amd_manager->acp_mmio + ACP_PME_EN); + dev_dbg(amd_manager->dev, "ACP_PME_EN:0x%x\n", val); + } + } } return 0; } diff --git a/drivers/soundwire/amd_manager.h b/drivers/soundwire/amd_manager.h index 8430f279d88e..1d5e94371f81 100644 --- a/drivers/soundwire/amd_manager.h +++ b/drivers/soundwire/amd_manager.h @@ -199,6 +199,7 @@ #define AMD_SDW1_DEVICE_STATE_MASK GENMASK(3, 2) #define AMD_SDW_DEVICE_STATE_D0 0 #define AMD_SDW_DEVICE_STATE_D3 3 +#define ACP_PME_EN 0x0001400 static u32 amd_sdw_freq_tbl[AMD_SDW_MAX_FREQ_NUM] = { AMD_SDW_DEFAULT_CLK_FREQ, From patchwork Fri Feb 7 06:58:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vijendar Mukunda X-Patchwork-Id: 13964442 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2073.outbound.protection.outlook.com [40.107.94.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6C38818E02A; Fri, 7 Feb 2025 06:59:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.94.73 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738911566; cv=fail; b=iUeZUct8f541wzCQXQe1rk80p2vUK6ZRBlxwOYhaK1oiD1ZsodniZahd2VYu1K8M9OqzwPv9yprjlGizcXMitZH3zl+DBfKFtpr//zankAF+2ZyyFMi49NCrnlcS5kPPcIm33FDHURJ18lwuhbY+Llo26L68U+GBtf6vRkGd4h8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738911566; c=relaxed/simple; bh=o5RpFRNyUAdMxcez9kpsMZoK08VE+2GqfZ7i6PsHtcY=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=IqIA/ZkXN0vhP4JQQ0oyTzz8p5lKUtEHufox16OSEOroQ7pZj/39sMjHIDcr0/rN+iuix9qyVdA+3fvbEUMvq5Y06UPt0flfbAcm9rhmMY+npqgiKMb9NwOnvRgZDxf5VQZOVcqCH03cwJzTUL0RjglKfxCo7T6lVoC2pS8syhg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=w7upvc1S; arc=fail smtp.client-ip=40.107.94.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="w7upvc1S" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Ee2gx3PrMI6/iUcDCVI2SOInmBLyPVfrh1e/cRuMT2yspe3rTKGeRfAEF4Wi0uaGlboCxrpezh1DNLCS1hJWafANkANbScp6c0AWd+kgiNeWOsH8DaWZfM26PCf018smV4UX+j1JbVPYZd5AnyF5qbFRh2b1hTpIyJQsHG8cn6/axSE5pqq2wOMn/wd8h3qKdL3ssHhCfA9+41nOsVkXu2fvb0Wuon9T476VDm0D9Q0LOUGisrANCUDJ+DpdtJc/3KR/79EguX4CybmC+C28ETwJC+e56Trm3pcgr6Cgare2vHvzjKI6bEDoznYwmm3JeU3eqWPFz0SfKelu7bVQJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=cmv3S732E4bOpEp1y3xB9rfay+/HF6gbMTTyf8m925M=; b=GPKJQFuM48kewcxdBGfYcMd5dpqmp2oPIQ3MdupwdPFUzef4hS8d6Hl7f35fDk+dBAmWeAKctpr6/PaK7zkeVyGUlm9v1pxUdfZ35Dh7XCyVkQv//JO1tFvq+kp3GPtpHepXclfxcEgo0gshsNS3x6FnDBDVLSOJzlaxiNf6Fq6baXXzHXZk2/7PdRAg9fvI5yxV3IIdAdt/N7KxG6xG2OkYBQ3bDxYSnHyL5XdbHmLOUaIvH7LKZscsLzxeR8krM0YfmX+oN7QNfbKJxkZfRhx6CglUIwnNlk+2RHlf7LaF9kSYfmz5ZhRt7PBwiixccsDoNYdAzGdLWCmhsQdCgA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org 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 (0) 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=cmv3S732E4bOpEp1y3xB9rfay+/HF6gbMTTyf8m925M=; b=w7upvc1SQrO/a/6adHLqOp2Yh1IrChABFDjV2S5BQUFqkeLPZUkU4lCuArKViULqpClSLBelDKqTDZRGqnkgq4k9YDHEO29UUxioobbmJmyLsgbM5MV0G3P8ZPXgrCbT5xWTmfQU/HuIyamR7b9YeqOetXZEMFsQ2bNoNF8NFCY= Received: from SJ2PR07CA0002.namprd07.prod.outlook.com (2603:10b6:a03:505::25) by SN7PR12MB6886.namprd12.prod.outlook.com (2603:10b6:806:262::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.24; Fri, 7 Feb 2025 06:59:21 +0000 Received: from SJ1PEPF00001CE5.namprd03.prod.outlook.com (2603:10b6:a03:505:cafe::a) by SJ2PR07CA0002.outlook.office365.com (2603:10b6:a03:505::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.29 via Frontend Transport; Fri, 7 Feb 2025 06:59:21 +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 SJ1PEPF00001CE5.mail.protection.outlook.com (10.167.242.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 06:59:20 +0000 Received: from vijendar-X570-GAMING-X.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.39; Fri, 7 Feb 2025 00:59:16 -0600 From: Vijendar Mukunda To: CC: , , , , , , , , , , "Vijendar Mukunda" Subject: [PATCH V4 6/6] soundwire: amd: add soundwire host wake interrupt enable/disable sequence Date: Fri, 7 Feb 2025 12:28:41 +0530 Message-ID: <20250207065841.4718-7-Vijendar.Mukunda@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250207065841.4718-1-Vijendar.Mukunda@amd.com> References: <20250207065841.4718-1-Vijendar.Mukunda@amd.com> Precedence: bulk X-Mailing-List: linux-sound@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE5:EE_|SN7PR12MB6886:EE_ X-MS-Office365-Filtering-Correlation-Id: 892290b7-d3ee-4cae-6ad3-08dd4744f29e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026; X-Microsoft-Antispam-Message-Info: AHOff5JKKrNsss8VNOprRKaMBkhlmFvjjvkFZE/AxH1kadGbxyj+MpzIGCIHxwr9YQpcKumAnPJfujgu4CwyIFJrWFd1GAD/DFij4lttBCqkfw+ZunUIFHo+A2ik2u9NqfB69xrpnJhS6zIOTDMIOjavKa5zi7t2NfbyI1j/6wTcGzSnwSm5O9KkJFEmfTf56jgG5qGoXZm0HTi5p/G8bqw9wzCLaaqob+Y608E0aMjto9xHZGIU60BNXzv5vG5LSnkr+rkUfFnUI4qLst2Qfk1hEbPPXJlowmrY/JrepZkGO6r+E0qcsXhhRh6gOjOXD1s5tcbvUf0rGQsbnssamqkrQDVk737Z1IzLFoOAEZU4JtACxeZkJnlDOL1wzRxD2ZPOKFiu8u9dciqJNrHXeuziEufmjUx4K69T7sSVQviWsjOw2AMmboc/o5oRAW3tDz0qeHaLRlNIpNUDq4/8TIcc7MktKim7AetiRDvsbBbpGk3RxO5k6D2A4yHi8t1O0lUv+5hHHs/sUFiH19ZZQa4Cs6K/pmyv5q+zxrh/W4NCvc3jb2KQbX41FW6iK4pUufn+vx6tKvXi+fBYy8Kf0exiL37VSNHWOsyrP0b0ESf/In/+5cDtOqxfR3sumc3g5se/5fZU1CACMBCRPA2Bcn6tw8gR51bJUnjEORnPp5P6n/IIwpA5vk8SuPrSpymohqYNfIxUzsPvCVU5PK+O93Gjn3RzKeNS/a+gMY74F6kzBp10ipGAAQqFWYjPnR+K5bg/Ma5bEM3YF8uH5BTWNnKkGoSa2Zq+lEQMwici0xiVsDHiB84zVLQ+ys6n+EepAODgwkJK53LDJctC7Ze7pMynWh9/jRz83tKSpgVEb+8LDNDujHaiwQ6c9jnxua1h/dlSsHfhT5tNRwg5OZi487kQW2HdjByzgbA1T3aDVYqWdZc5xi4sdUqDEmebwvpJN8kGdf70PidN5Po9HPgYtes58YiUfrYp24bPA3wHf83Obii9BFyeZbN8zRxuN7ULu09uBjx5NmKs0WbhEl13miTt8YI2R7QOXxORFYTnVeHX+SKHUzN+MV8HE6QVglffXLMbNgojzORBtZxLZZMAl3e5I8ByNnGMfQRhV53Jcl9VaW7hM9JAwu/HEQdPtusYAYPQLxigxZsxsn9YljwZ9Wt6skNIt30tIiyzxaVLhfrI8A9zTR/wqjcO0Cp3c8YxTgM1PJKy+oEc2zqCuJa+TwP3yqveF1BhbrUu56oq/NUfrW0wLydmNn+pNlAqui+eX/QZz15MD5nFqc2BpDiUYRtAymEqKSGT8Th6G5YR1as4EEdBiPMx8XCxaQ9uefJ4S4kVJl5b9stCF4uixd1lvV02ihVt/9uo2uI6EsGo8J6bGJb09eJiug2yyx74taeFHyZFGbKyZK79DtpLi+e34c8dksO5BuUFWln/ierdem5klX53g17fOh0ukJvy2Gd62RiuHMv+rapBjP7ujcl0kykq1oT3M4ECrWkYdk2J/jQ= 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:(13230040)(36860700013)(1800799024)(376014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:59:20.8732 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 892290b7-d3ee-4cae-6ad3-08dd4744f29e 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: SJ1PEPF00001CE5.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6886 For wake event, SoundWire host wake interrupt will be asserted based on below pre-conditions for ACP7.0 & ACP7.1 platforms. - ACP device should be in D0 state. - SoundWire manager instance should be in D3 state. - SoundWire manager device state should be set to D3. - ACP_PME_EN should be set to 1. Implement code changes to enable/disable SoundWire host wake interrupt mask during suspend and resume as per design flow for ACP7.0 & ACP7.1 platforms. Signed-off-by: Vijendar Mukunda --- drivers/soundwire/amd_manager.c | 58 +++++++++++++++++++++++++++++++++ drivers/soundwire/amd_manager.h | 2 ++ 2 files changed, 60 insertions(+) diff --git a/drivers/soundwire/amd_manager.c b/drivers/soundwire/amd_manager.c index d38b4baee221..8e74536808fa 100644 --- a/drivers/soundwire/amd_manager.c +++ b/drivers/soundwire/amd_manager.c @@ -166,6 +166,34 @@ static int amd_sdw_set_device_state(struct amd_sdw_manager *amd_manager, u32 tar return 0; } +static int amd_sdw_host_wake_enable(struct amd_sdw_manager *amd_manager, bool enable) +{ + u32 intr_cntl1; + u32 sdw_host_wake_irq_mask; + + if (!amd_manager->wake_en_mask) + return 0; + + switch (amd_manager->instance) { + case ACP_SDW0: + sdw_host_wake_irq_mask = AMD_SDW0_HOST_WAKE_INTR_MASK; + break; + case ACP_SDW1: + sdw_host_wake_irq_mask = AMD_SDW1_HOST_WAKE_INTR_MASK; + break; + default: + return -EINVAL; + } + + intr_cntl1 = readl(amd_manager->acp_mmio + ACP_EXTERNAL_INTR_CNTL(ACP_SDW1)); + if (enable) + intr_cntl1 |= sdw_host_wake_irq_mask; + else + intr_cntl1 &= ~sdw_host_wake_irq_mask; + writel(intr_cntl1, amd_manager->acp_mmio + ACP_EXTERNAL_INTR_CNTL(ACP_SDW1)); + return 0; +} + static void amd_sdw_ctl_word_prep(u32 *lower_word, u32 *upper_word, struct sdw_msg *msg, int cmd_offset) { @@ -1182,11 +1210,21 @@ static int __maybe_unused amd_suspend(struct device *dev) if (amd_manager->power_mode_mask & AMD_SDW_CLK_STOP_MODE) { amd_sdw_wake_enable(amd_manager, false); + if (amd_manager->acp_rev >= ACP70_PCI_REV_ID) { + ret = amd_sdw_host_wake_enable(amd_manager, false); + if (ret) + return ret; + } ret = amd_sdw_clock_stop(amd_manager); if (ret) return ret; } else if (amd_manager->power_mode_mask & AMD_SDW_POWER_OFF_MODE) { amd_sdw_wake_enable(amd_manager, false); + if (amd_manager->acp_rev >= ACP70_PCI_REV_ID) { + ret = amd_sdw_host_wake_enable(amd_manager, false); + if (ret) + return ret; + } /* * As per hardware programming sequence on AMD platforms, * clock stop should be invoked first before powering-off @@ -1220,11 +1258,21 @@ static int __maybe_unused amd_suspend_runtime(struct device *dev) } if (amd_manager->power_mode_mask & AMD_SDW_CLK_STOP_MODE) { amd_sdw_wake_enable(amd_manager, true); + if (amd_manager->acp_rev >= ACP70_PCI_REV_ID) { + ret = amd_sdw_host_wake_enable(amd_manager, true); + if (ret) + return ret; + } ret = amd_sdw_clock_stop(amd_manager); if (ret) return ret; } else if (amd_manager->power_mode_mask & AMD_SDW_POWER_OFF_MODE) { amd_sdw_wake_enable(amd_manager, true); + if (amd_manager->acp_rev >= ACP70_PCI_REV_ID) { + ret = amd_sdw_host_wake_enable(amd_manager, true); + if (ret) + return ret; + } ret = amd_sdw_clock_stop(amd_manager); if (ret) return ret; @@ -1265,8 +1313,18 @@ static int __maybe_unused amd_resume_runtime(struct device *dev) ret = amd_sdw_clock_stop_exit(amd_manager); if (ret) return ret; + if (amd_manager->acp_rev >= ACP70_PCI_REV_ID) { + ret = amd_sdw_host_wake_enable(amd_manager, false); + if (ret) + return ret; + } } else if (amd_manager->power_mode_mask & AMD_SDW_POWER_OFF_MODE) { writel(0x00, amd_manager->acp_mmio + ACP_SW_WAKE_EN(amd_manager->instance)); + if (amd_manager->acp_rev >= ACP70_PCI_REV_ID) { + ret = amd_sdw_host_wake_enable(amd_manager, false); + if (ret) + return ret; + } val = readl(amd_manager->mmio + ACP_SW_CLK_RESUME_CTRL); if (val) { val |= AMD_SDW_CLK_RESUME_REQ; diff --git a/drivers/soundwire/amd_manager.h b/drivers/soundwire/amd_manager.h index 1d5e94371f81..6cc916b0c820 100644 --- a/drivers/soundwire/amd_manager.h +++ b/drivers/soundwire/amd_manager.h @@ -194,6 +194,8 @@ #define AMD_SDW_CLK_RESUME_DONE 3 #define AMD_SDW_WAKE_STAT_MASK BIT(16) #define AMD_SDW_WAKE_INTR_MASK BIT(16) +#define AMD_SDW0_HOST_WAKE_INTR_MASK BIT(22) +#define AMD_SDW1_HOST_WAKE_INTR_MASK BIT(23) #define AMD_SDW_DEVICE_STATE 0x1430 #define AMD_SDW0_DEVICE_STATE_MASK GENMASK(1, 0) #define AMD_SDW1_DEVICE_STATE_MASK GENMASK(3, 2)