From patchwork Fri Feb 7 06:28:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vijendar Mukunda X-Patchwork-Id: 13964405 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2067.outbound.protection.outlook.com [40.107.220.67]) (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 92681199FAF; Fri, 7 Feb 2025 06:29:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.220.67 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738909773; cv=fail; b=FG6RCMD4rmyByF1gPB+ay8nKDgs98xj2Ch/RRkgCg9DmLdGceAm4k8ltfo7nuUmCNd9DDL91o+jnntv+tvlFwLxg0lTCiqOtQg93bwAKfCy6wxeRqIhpZQak6n4ym46Vj5eoeZFXPN+7MVd1RKrE58IxPXI5K4LOEyWvJ0u/uB0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738909773; c=relaxed/simple; bh=TC7L+1CLAUwWm4rY7CAou7PTpAll00Kzw5D7XHVz9Os=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=tNBnaUzXQXkySM10O/Q8QUcUAlxzcXee1JbW7RFO4si8/GgmUEQHAPLRV1oBVD3Nx7g2buIIhGJoCq5+W/O/SV3Fna429TpfINCMuaIq0ElzGw9SCirQ3VZG9sfJ93QiTfnsOnEDruNXvYlLSf7B44VCCMHNkOYDMKOpl2VWxIk= 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=OGAKsdYQ; arc=fail smtp.client-ip=40.107.220.67 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="OGAKsdYQ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=G6TiTxwjrUV2rMs/dDjGhTSyubLpFOBrp4lbGcCzA1m9urg9ix0SuCcdOdhfajiQgDPDZMW/IQOkzSvQuYdsx7p41Pen+I55heCRx22EIZuzI3QECCYdMV7sXY4bO+f2AdAsnVcgOc6R6fxITKjRJYpzp+8HKgXN/yq1u47aHA7Pt3tchZGXV7d0xKFyzEd/DwnKba/P2ZY6jzxLY1DpMei2thn6qqZzzEbwoPrvPi/DsNi8j3aQD0w6aL7aaphMngMzEdC6PblOAxQ+8OMVyjUogrFdZwDAoKQzjD+9PCKKUV5StcN6RYMkq4NLOONGihyM0fPGCiQGcAbrL1rdQg== 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=Oi5LiCWrK/AxYQdSJ3vjOROHGCc0qfufGS5SHrPBAyI=; b=qJ8YxEHv/uddzczH2FLjpj3grPdKgDtN0yxLTxoY6XyEQwNU/9MPaIKJydRnKtqnROt9rtzXqIX/502JnWf/vnGiUiACW2O2ia2Lc1Cz2skT96AMWI3quKHkIpSqhN8XyQfNEiRijMiO+jHMEcjReVJshRxWSqza+V+wCAoM9QjlOk9S1zlm6jr91s0L2DcxcvqwI0GWKy7CujWRuf78mjHy4RLV5pGMEQ121l1M3ZB3TPIenlsELlYOMEbGQdtAR4icyyARGGP/krSi3iUDdhrEtkxpv0UVvoTh6VAetIuUb8Pp+RAci7Tl7TEe6b+ku/kAYItR9LHK8f3jrZ6bhQ== 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=Oi5LiCWrK/AxYQdSJ3vjOROHGCc0qfufGS5SHrPBAyI=; b=OGAKsdYQL8YlXTpUagQQiREvGT1UH0hb/mP7ZsV76lM9pvQTWarqjbPOmEM+PTyw1hvVtJlHFlokzApWttuic/MLbPjL/rUAbarFIwikeo2JbcMjF29RkpkkXCWL+D65pmOUqJyDjXtqXhYzrEj+j/8e2iMVOhowGa7k0zgV36Y= Received: from PH8PR22CA0002.namprd22.prod.outlook.com (2603:10b6:510:2d1::26) by PH7PR12MB9256.namprd12.prod.outlook.com (2603:10b6:510:2fe::21) 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:29:27 +0000 Received: from SJ1PEPF000023D7.namprd21.prod.outlook.com (2603:10b6:510:2d1:cafe::f) by PH8PR22CA0002.outlook.office365.com (2603:10b6:510:2d1::26) 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:29:27 +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 SJ1PEPF000023D7.mail.protection.outlook.com (10.167.244.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8445.2 via Frontend Transport; Fri, 7 Feb 2025 06:29:27 +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:29:22 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 13/25] ASoC: amd: ps: add pm ops related hw_ops for ACP7.0 & ACP7.1 platforms Date: Fri, 7 Feb 2025 11:58:07 +0530 Message-ID: <20250207062819.1527184-14-Vijendar.Mukunda@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250207062819.1527184-1-Vijendar.Mukunda@amd.com> References: <20250207062819.1527184-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: SJ1PEPF000023D7:EE_|PH7PR12MB9256:EE_ X-MS-Office365-Filtering-Correlation-Id: 6898b6a8-bd63-45a8-18b0-08dd4740c587 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: Nhn4E/8y4b3BaORf7jfRhtyTHmjYnR25Gj4VFsjMxoJo3UqqQxNVew7XgK+8dFMp1NOIinFsqgBFDO59YxjkIPTcoCgJSKqgVlisiwCqUEDLLZ6OtQKjG/0GyTDnZDb7CNHskyXV8wBiQwertjPQwr3GYk+c3+B0/0O2p2PKMCxOyXuwJuSHp8Gi9h5Xa3LXi8TKrqvHdQVEQFvvoVrudJPCgf6C6Az2CeyWso1aeQJ9CVFIZmJrIHwA7vAYCexBFdh9wSPJtUKZPmjcR7xBbYiFKhXHrlMkAzMRdf7kbw8p1LPkj6fDGqh0kqSO8KZOcLFTDq84BVs0hE8EzXShK2uqFnbTtSkFiJ6sd1ft2tcwd4MeO5dm4nT9NsbWEFLu+skD+gNcIzK0odJuIB6v8FkI+jFMl1eKHLnAu1fjNcks0Gz9Z7brpImsDULrTpF5JY25zCwed6yeW6k3zRX3BAV12qNSU/BJU9jjNTCxDHycmhFHXTRETC7d9/6K3eM6NYn5Kq+JtEx0GMNNF2RWsO1m6OkLKtziIBTXHHXe4h8R1iJ9m+/sOxq4FnifJ60DrmWwgRSL4S7jBk6adPLoMlt3lcKtV3Bsiz8nvHFh/cFk26SWUHgbmWRIppNLUdNl6xLDZvzVmn6YZUNt3x2JJ41OMaP6diyRblV2Daw4+4byOfS8KSVgn+am/psD+f9Ivgx0ExGFlm97YSrj13lsB9XVj0ZgkPnfg94WbgA+Pw+SsRG+4j2JVPaeYepMclN8JeYuh/Y9OytFS6a7uXqOcZ+gQ/bjGFneqAKaUrjGVr4PlFGhx43bs4G1mPhr5ixECWZsEUpm9EQ2NL8UcovPcsSzuZqXtUIFQIL5t9WBTzS5TOS6jd/GViMR98YI5Mzf4IsOhIel2vYO41cBtlHIHznATHhQDa19mIVWL0pA2hjhLInG3CQu+oFt6lrg3Uc7cRbQmmbWOM3UkornxPgz/oCWIPWTvRovanVK9EBQzNFKZk6xk43wb55/nhtx3+moqcHs+mUS5R1Nw+36D0V+WWqdmsk326wHEI3SRbopNDHoXmke5GQkAw3Llp9cmcd3KxyFpbv82sbPegRezC1Bbt81YbaerSF/+C6s4tsJQ8VxMw8TOxMYtxJOpk03eMigSYjvj8nB6sbY+8Zx43NIokwlYQ6PNd2FFbzBfvJ1DSpQjNwikcfzE7ENINXR3xQ6UBimUAJ87N0PJ0FsFvT08DoGtWemR9SoDcDjOCPEBBWaqt7OkkJcuvA4jyJYgJZwIOll8DAxcDXGG9LX1E3cBtv0qwfOLzarXUXwffOpEGJAzTNKrZxi+toEqmOB8jxonVCJ8FymPZxrwmURAiRehZVRcqT3XB0vFlBkdiYgJTilVLPbLISQJdkQ90gyX5MnoiMmzN5UXLwNFivCL4+SW9dGXPP0GR+eEm9fYLsFlTVqWXR7zQgHSyrcJQ+r1Qh4YTI23WhlWLiz//KqD3a9gcyJ1XP/IP11Ff4YQkoyB70= 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:29:27.2360 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6898b6a8-bd63-45a8-18b0-08dd4740c587 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: SJ1PEPF000023D7.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9256 Add ACP7.0 & ACP7.1 platform specific PM ops related hw_ops. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/ps/ps-common.c | 65 ++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/sound/soc/amd/ps/ps-common.c b/sound/soc/amd/ps/ps-common.c index a15284bde48d..6639dac0a415 100644 --- a/sound/soc/amd/ps/ps-common.c +++ b/sound/soc/amd/ps/ps-common.c @@ -378,9 +378,74 @@ static void acp70_get_config(struct pci_dev *pci, struct acp63_dev_data *acp_dat } } +static int __maybe_unused snd_acp70_suspend(struct device *dev) +{ + struct acp63_dev_data *adata; + int ret; + + adata = dev_get_drvdata(dev); + if (adata->is_sdw_dev) { + adata->sdw_en_stat = check_acp_sdw_enable_status(adata); + if (adata->sdw_en_stat) { + writel(1, adata->acp63_base + ACP_ZSC_DSP_CTRL); + return 0; + } + } + ret = acp_hw_deinit(adata, dev); + if (ret) + dev_err(dev, "ACP de-init failed\n"); + + return ret; +} + +static int __maybe_unused snd_acp70_runtime_resume(struct device *dev) +{ + struct acp63_dev_data *adata; + int ret; + + adata = dev_get_drvdata(dev); + + if (adata->sdw_en_stat) { + writel(0, adata->acp63_base + ACP_ZSC_DSP_CTRL); + writel(1, adata->acp63_base + ACP_PME_EN); + return 0; + } + + ret = acp_hw_init(adata, dev); + if (ret) { + dev_err(dev, "ACP init failed\n"); + return ret; + } + return 0; +} + +static int __maybe_unused snd_acp70_resume(struct device *dev) +{ + struct acp63_dev_data *adata; + int ret; + + adata = dev_get_drvdata(dev); + + if (adata->sdw_en_stat) { + writel(0, adata->acp63_base + ACP_ZSC_DSP_CTRL); + writel(1, adata->acp63_base + ACP_PME_EN); + return 0; + } + + ret = acp_hw_init(adata, dev); + if (ret) + dev_err(dev, "ACP init failed\n"); + + return ret; +} + void acp70_hw_init_ops(struct acp_hw_ops *hw_ops) { hw_ops->acp_init = acp70_init; hw_ops->acp_deinit = acp70_deinit; hw_ops->acp_get_config = acp70_get_config; + hw_ops->acp_suspend = snd_acp70_suspend; + hw_ops->acp_resume = snd_acp70_resume; + hw_ops->acp_suspend_runtime = snd_acp70_suspend; + hw_ops->acp_resume_runtime = snd_acp70_runtime_resume; }