From patchwork Fri Feb 7 06:27:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863892 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 77F0DC02192 for ; Fri, 7 Feb 2025 06:29:55 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id B8D85601FC; Fri, 7 Feb 2025 07:29:43 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz B8D85601FC DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738909793; bh=z4V0cpml089OqW8VAQSHlVwl36PgQ+52+82F7R4SpvQ=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=QDRjF/6586s14AIaPPhj84hmbq6OmUbvd06rK54yEN7x5q9r4qEdwgD9lzq/fctGz lqEw1UMaXCdZ0kB/3qW4AH0Bez//TJ8bp3G/P6mmQbiyVFlHhqB3AmrZS8UEVvlzfA APKEf8bSu3U572N/oElB5EHUEN4kAjbDwCrxnaoQ= Received: by alsa1.perex.cz (Postfix, from userid 50401) id E6282F805E9; Fri, 7 Feb 2025 07:28:54 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 9C3BBF805E9; Fri, 7 Feb 2025 07:28:54 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id DF998F80246; Fri, 7 Feb 2025 07:28:47 +0100 (CET) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2062b.outbound.protection.outlook.com [IPv6:2a01:111:f403:200a::62b]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id D5DAAF80169 for ; Fri, 7 Feb 2025 07:28:44 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz D5DAAF80169 Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=m1Tg6+BJ ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EGXwFsGmz/KFWU308TOmz56Q3OzrCjQyLHDT+buAwd75DH5waQOgSFKn9uMgdogBp/FoblpiX1dENZD8RNHAYK6j0wQyFq5+mav1eEXu18bWVkjxF69UrDYhlFq3G0xzvuuoEnqiEqiCMRAQlpov3wyHZNnRZHCsassYUMwSr/Ui69YwmuObXH5vvQvJB2KH3s8g1JnAl5Hk2KVFNZnBB0aq5IuxfDS5IMfiPP+2uhXfjg15UNjIfI0WHTaGjP+zp91fttgOIeBLhPdbznoLxLLtATgX6Sta57IvQu9dq7D246WSdG9aTQG18ykgSj/TKc/iDtxmdQ0xuUkB/Ys/bg== 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=ccRvVBHj+hXh0lYzRrA5hxUUaGQELTztT3d5MJ7GiPE=; b=Hu20hqYt7cOYf26ljMHLwSP6xg2lFe5RGb2XNkg9wmXyEGuqthElZW8Fruf5Cr7M5TDmh7356VROCE9eyTpMLVZd9WGh0QRs8iv2BEBIJSzM1Fp+c4hYtDkJkQt3MniGEfuTC2+OodJvgB/Ble1J0O99ZfpNaHv9L24fXwOSKvAF4RWBJDMJnZiLg7+Cy0rbI5vNOyJ+g/aCZoDwGUTy/9z8sQNH9SZgP4q0C1L+i+HS3HEIxaFLb4UOlst76Iiu0NLWMQdUDZanfHKJ4qUZZ3Y5o63+6aNMG9TF9KB1YcH4Gb+PKHWQxdriR4spL9lFasZQCX0s3V5duXMw8Mof0A== 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=ccRvVBHj+hXh0lYzRrA5hxUUaGQELTztT3d5MJ7GiPE=; b=m1Tg6+BJDx4iYg6y82K8aNH3qGpRX0tVwNNQcTCu/2COlGmF/jLwl9dDE8c1TUpT26fuJ8rZ8r8K9LEE6kSxxawofK9PWYvsWhc1T0m8b2pu1oq7cp8mRAXy0i08hskZ7imL5tqjCG8oU+i5eYE20fN047arC3SaXE/JVQEpolA= Received: from BLAPR03CA0140.namprd03.prod.outlook.com (2603:10b6:208:32e::25) by SA1PR12MB7198.namprd12.prod.outlook.com (2603:10b6:806:2bf::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.28; Fri, 7 Feb 2025 06:28:39 +0000 Received: from BN3PEPF0000B072.namprd04.prod.outlook.com (2603:10b6:208:32e:cafe::7) by BLAPR03CA0140.outlook.office365.com (2603:10b6:208:32e::25) 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:28:39 +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 BN3PEPF0000B072.mail.protection.outlook.com (10.167.243.117) 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:28:39 +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:28:34 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 01/25] ASoC: amd: ps: rename structure names, variable and other macros Date: Fri, 7 Feb 2025 11:57:55 +0530 Message-ID: <20250207062819.1527184-2-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: BN3PEPF0000B072:EE_|SA1PR12MB7198:EE_ X-MS-Office365-Filtering-Correlation-Id: e78391dd-3eea-4ee1-d1e3-08dd4740a8bb 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: juhvQBeulVDfsMj+k27DjoAFOGBolkFFZluGHxN2ZlD+fknvgBkzyszqMtZrspj1koKGJcK3QMLQjUXpjO03w3kunbibbtPCJShmPYKL8LC0v5GxBiS733LFPJJdqnsdRpxILONTQoi5xgJXzrd4FYS9Zuxvpgyw2DNAGUiGtCyAKGS8g4Pc7vj6XE0+IiTHiWRQxOeywob8vHOV7g3jvOO6g9Sx0xDZlBVaZcpi4foehYgZZIcINlXgTMSzs5OQTsbnueT11wHzCnMcdo+3RXRjdULP0BufiAgv2WzG0HVpNe0d9HAvbo2RNDJfKu9tLjauqITmVe8KdhnluzDitaReV0U3pG/KuY81nA1cSVAjZf0qR1YBlc+a5yka+lwh4328TGaX8FO1yGbEDvDpjZ67iV9t2mtUET9TTrSMOn9psJMt0MOuPyDxi/CmX/prBcThu1mpg1LkqqoSIoRfc3OwVbIcDJi4X8VAfjVNX19ArXIEZb2U9RbNJHRzr9G0l0N1AqpK2qqm27XkGkfDXtYYKv2EiO9u8vkjiVAYQte40TpJ61XrVUms4p8f31JDD2C8LX7+L+uYoSIJ2swQx2sqcEHhlcVpXWpWL2kYkpjnrIdLqRFVSmpwNvjqmADVzjc90Lj8ZskSAvTSJZJ0x297sS748Fzr5vov0tE/JN8En2Ts1FibRyGzVpsKv6K76NnSmUf1Xvstrzzn4uaMRp/+F25MtOoS+SqdHdt8iNihSynvsY0yLRs6Ssbra6N8G17MxaKiHpcXoHo4alVJfRjIBcgXLsT1xGXaB/0TbZjA8pqDtXbmYorLbFD/IhQCgKWfaT8IyaRn0cDFydMMwBZ4KM6WKI/MIYvAlUITkqKsopmoaYHtl7lzEa/pAtBtYo4OZr8iYPb77M/GFV6+Y6on3PMsIXglBf7bg8HloW1tBVMLVP0WF3Ppdx7zXoLM8WG5kSJPyoLDS3k5IX+7Xu3zN4dg1t4f/lHW1ihnP0nJpnzvD28sUeko+ctj3zolIGVNnE7yAj61AgFhgsvqLjVxhsPOnxmh/vzBpyTyIB51CkwFdofJdUM0Lm8hNd7rGMNpHtX21J0CVTRUe481AWSz61JJhUeT1RQoB03hOosl5YZO8TEjkCkiVX/XjEK8jZa8GKKQWgzgaGV37wRy11foDBgR5ooqCWsiTp+fQTn7TDWi6WeEwieHt7qeRiTjHUlwOBzQWR67T0Qfa2HLtH9Ix/6UFeIml8chsYW42DuVz4znxGk7jqYEabSOVXuCDUrEmqif5B3iP5XMqftztr1M9julrv/CN6bNnx7k65AHqfVpptRNQYrQV3us1aLO8F7xdRndtvZNyjJpKS6MJxGGxAIelxzzDylnDuAxYS9KoMv9822EO26903lVJu2k+qEE17VwezoMtpjnQxUzKPQmDa1EIujtrFI3W/p/N5uCqrqH5F3Jlb6hJgdwcm5+2EtIHm0WP0BP/+lGQKZWzg== 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:28:39.0057 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e78391dd-3eea-4ee1-d1e3-08dd4740a8bb 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: BN3PEPF0000B072.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7198 Message-ID-Hash: XYBVQ62GMZ26R76TUEIS7SKP2R5ZGI3D X-Message-ID-Hash: XYBVQ62GMZ26R76TUEIS7SKP2R5ZGI3D X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Rename macros and structure names, variable with ACP63 tag which are specific to ACP6.3 platform. Rename 'stream_index' and 'sdw_dma_data' variable names to avoid check patch warnings. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/ps/acp63.h | 66 ++++++++++++++++---------------- sound/soc/amd/ps/pci-ps.c | 64 +++++++++++++++---------------- sound/soc/amd/ps/ps-sdw-dma.c | 72 +++++++++++++++++------------------ 3 files changed, 101 insertions(+), 101 deletions(-) diff --git a/sound/soc/amd/ps/acp63.h b/sound/soc/amd/ps/acp63.h index e54eabaa4d3e..01910273624b 100644 --- a/sound/soc/amd/ps/acp63.h +++ b/sound/soc/amd/ps/acp63.h @@ -13,13 +13,13 @@ #define ACP63_REG_END 0x125C000 #define ACP_SOFT_RESET_SOFTRESET_AUDDONE_MASK 0x00010001 -#define ACP_PGFSM_CNTL_POWER_ON_MASK 1 -#define ACP_PGFSM_CNTL_POWER_OFF_MASK 0 -#define ACP_PGFSM_STATUS_MASK 3 -#define ACP_POWERED_ON 0 -#define ACP_POWER_ON_IN_PROGRESS 1 -#define ACP_POWERED_OFF 2 -#define ACP_POWER_OFF_IN_PROGRESS 3 +#define ACP63_PGFSM_CNTL_POWER_ON_MASK 1 +#define ACP63_PGFSM_CNTL_POWER_OFF_MASK 0 +#define ACP63_PGFSM_STATUS_MASK 3 +#define ACP63_POWERED_ON 0 +#define ACP63_POWER_ON_IN_PROGRESS 1 +#define ACP63_POWERED_OFF 2 +#define ACP63_POWER_OFF_IN_PROGRESS 3 #define ACP_ERROR_MASK 0x20000000 #define ACP_EXT_INTR_STAT_CLEAR_MASK 0xFFFFFFFF @@ -60,7 +60,7 @@ #define AMD_SDW_MAX_MANAGERS 2 /* time in ms for acp timeout */ -#define ACP_TIMEOUT 500 +#define ACP63_TIMEOUT 500 #define ACP_SDW0_STAT BIT(21) #define ACP_SDW1_STAT BIT(2) @@ -72,13 +72,13 @@ #define ACP_AUDIO0_RX_THRESHOLD 0x1b #define ACP_AUDIO1_RX_THRESHOLD 0x19 #define ACP_AUDIO2_RX_THRESHOLD 0x17 -#define ACP_P1_AUDIO1_TX_THRESHOLD BIT(6) -#define ACP_P1_AUDIO1_RX_THRESHOLD BIT(5) -#define ACP_SDW_DMA_IRQ_MASK 0x1F800000 -#define ACP_P1_SDW_DMA_IRQ_MASK 0x60 +#define ACP63_P1_AUDIO1_TX_THRESHOLD BIT(6) +#define ACP63_P1_AUDIO1_RX_THRESHOLD BIT(5) +#define ACP63_SDW_DMA_IRQ_MASK 0x1F800000 +#define ACP63_P1_SDW_DMA_IRQ_MASK 0x60 #define ACP63_SDW0_DMA_MAX_STREAMS 6 #define ACP63_SDW1_DMA_MAX_STREAMS 2 -#define ACP_P1_AUDIO_TX_THRESHOLD 6 +#define ACP63_P1_AUDIO_TX_THRESHOLD 6 /* * Below entries describes SDW0 instance DMA stream id and DMA irq bit mapping @@ -91,8 +91,8 @@ * 4 (SDW0_AUDIO1_RX) 25 * 5 (SDW0_AUDIO2_RX) 23 */ -#define SDW0_DMA_TX_IRQ_MASK(i) (ACP_AUDIO0_TX_THRESHOLD - (2 * (i))) -#define SDW0_DMA_RX_IRQ_MASK(i) (ACP_AUDIO0_RX_THRESHOLD - (2 * ((i) - 3))) +#define ACP63_SDW0_DMA_TX_IRQ_MASK(i) (ACP_AUDIO0_TX_THRESHOLD - (2 * (i))) +#define ACP63_SDW0_DMA_RX_IRQ_MASK(i) (ACP_AUDIO0_RX_THRESHOLD - (2 * ((i) - 3))) /* * Below entries describes SDW1 instance DMA stream id and DMA irq bit mapping @@ -101,7 +101,7 @@ * 0 (SDW1_AUDIO1_TX) 6 * 1 (SDW1_AUDIO1_RX) 5 */ -#define SDW1_DMA_IRQ_MASK(i) (ACP_P1_AUDIO_TX_THRESHOLD - (i)) +#define ACP63_SDW1_DMA_IRQ_MASK(i) (ACP63_P1_AUDIO_TX_THRESHOLD - (i)) #define ACP_DELAY_US 5 #define ACP_SDW_RING_BUFF_ADDR_OFFSET (128 * 1024) @@ -148,18 +148,18 @@ enum acp_config { ACP_CONFIG_15, }; -enum amd_sdw0_channel { - ACP_SDW0_AUDIO0_TX = 0, - ACP_SDW0_AUDIO1_TX, - ACP_SDW0_AUDIO2_TX, - ACP_SDW0_AUDIO0_RX, - ACP_SDW0_AUDIO1_RX, - ACP_SDW0_AUDIO2_RX, +enum amd_acp63_sdw0_channel { + ACP63_SDW0_AUDIO0_TX = 0, + ACP63_SDW0_AUDIO1_TX, + ACP63_SDW0_AUDIO2_TX, + ACP63_SDW0_AUDIO0_RX, + ACP63_SDW0_AUDIO1_RX, + ACP63_SDW0_AUDIO2_RX, }; -enum amd_sdw1_channel { - ACP_SDW1_AUDIO1_TX, - ACP_SDW1_AUDIO1_RX, +enum amd_acp63_sdw1_channel { + ACP63_SDW1_AUDIO1_TX, + ACP63_SDW1_AUDIO1_RX, }; struct pdm_stream_instance { @@ -180,8 +180,8 @@ struct pdm_dev_data { struct sdw_dma_dev_data { void __iomem *acp_base; struct mutex *acp_lock; /* used to protect acp common register access */ - struct snd_pcm_substream *sdw0_dma_stream[ACP63_SDW0_DMA_MAX_STREAMS]; - struct snd_pcm_substream *sdw1_dma_stream[ACP63_SDW1_DMA_MAX_STREAMS]; + struct snd_pcm_substream *acp63_sdw0_dma_stream[ACP63_SDW0_DMA_MAX_STREAMS]; + struct snd_pcm_substream *acp63_sdw1_dma_stream[ACP63_SDW1_DMA_MAX_STREAMS]; }; struct acp_sdw_dma_stream { @@ -232,8 +232,10 @@ struct sdw_dma_ring_buf_reg { * @addr: pci ioremap address * @reg_range: ACP reigister range * @acp_rev: ACP PCI revision id - * @sdw0-dma_intr_stat: DMA interrupt status array for SoundWire manager-SW0 instance - * @sdw_dma_intr_stat: DMA interrupt status array for SoundWire manager-SW1 instance + * @acp63_sdw0-dma_intr_stat: DMA interrupt status array for ACP6.3 platform SoundWire + * manager-SW0 instance + * @acp63_sdw_dma_intr_stat: DMA interrupt status array for ACP6.3 platform SoundWire + * manager-SW1 instance */ struct acp63_dev_data { @@ -256,8 +258,8 @@ struct acp63_dev_data { u32 addr; u32 reg_range; u32 acp_rev; - u16 sdw0_dma_intr_stat[ACP63_SDW0_DMA_MAX_STREAMS]; - u16 sdw1_dma_intr_stat[ACP63_SDW1_DMA_MAX_STREAMS]; + u16 acp63_sdw0_dma_intr_stat[ACP63_SDW0_DMA_MAX_STREAMS]; + u16 acp63_sdw1_dma_intr_stat[ACP63_SDW1_DMA_MAX_STREAMS]; }; int snd_amd_acp_find_config(struct pci_dev *pci); diff --git a/sound/soc/amd/ps/pci-ps.c b/sound/soc/amd/ps/pci-ps.c index 8b556950b855..f5beb7f14913 100644 --- a/sound/soc/amd/ps/pci-ps.c +++ b/sound/soc/amd/ps/pci-ps.c @@ -30,10 +30,10 @@ static int acp63_power_on(void __iomem *acp_base) if (!val) return val; - if ((val & ACP_PGFSM_STATUS_MASK) != ACP_POWER_ON_IN_PROGRESS) - writel(ACP_PGFSM_CNTL_POWER_ON_MASK, acp_base + ACP_PGFSM_CONTROL); + if ((val & ACP63_PGFSM_STATUS_MASK) != ACP63_POWER_ON_IN_PROGRESS) + writel(ACP63_PGFSM_CNTL_POWER_ON_MASK, acp_base + ACP_PGFSM_CONTROL); - return readl_poll_timeout(acp_base + ACP_PGFSM_STATUS, val, !val, DELAY_US, ACP_TIMEOUT); + return readl_poll_timeout(acp_base + ACP_PGFSM_STATUS, val, !val, DELAY_US, ACP63_TIMEOUT); } static int acp63_reset(void __iomem *acp_base) @@ -45,13 +45,13 @@ static int acp63_reset(void __iomem *acp_base) ret = readl_poll_timeout(acp_base + ACP_SOFT_RESET, val, val & ACP_SOFT_RESET_SOFTRESET_AUDDONE_MASK, - DELAY_US, ACP_TIMEOUT); + DELAY_US, ACP63_TIMEOUT); if (ret) return ret; writel(0, acp_base + ACP_SOFT_RESET); - return readl_poll_timeout(acp_base + ACP_SOFT_RESET, val, !val, DELAY_US, ACP_TIMEOUT); + return readl_poll_timeout(acp_base + ACP_SOFT_RESET, val, !val, DELAY_US, ACP63_TIMEOUT); } static void acp63_enable_interrupts(void __iomem *acp_base) @@ -104,24 +104,24 @@ static int acp63_deinit(void __iomem *acp_base, struct device *dev) static irqreturn_t acp63_irq_thread(int irq, void *context) { - struct sdw_dma_dev_data *sdw_dma_data; + struct sdw_dma_dev_data *sdw_data; struct acp63_dev_data *adata = context; - u32 stream_index; + u32 stream_id; - sdw_dma_data = dev_get_drvdata(&adata->sdw_dma_dev->dev); + sdw_data = dev_get_drvdata(&adata->sdw_dma_dev->dev); - for (stream_index = 0; stream_index < ACP63_SDW0_DMA_MAX_STREAMS; stream_index++) { - if (adata->sdw0_dma_intr_stat[stream_index]) { - if (sdw_dma_data->sdw0_dma_stream[stream_index]) - snd_pcm_period_elapsed(sdw_dma_data->sdw0_dma_stream[stream_index]); - adata->sdw0_dma_intr_stat[stream_index] = 0; + for (stream_id = 0; stream_id < ACP63_SDW0_DMA_MAX_STREAMS; stream_id++) { + if (adata->acp63_sdw0_dma_intr_stat[stream_id]) { + if (sdw_data->acp63_sdw0_dma_stream[stream_id]) + snd_pcm_period_elapsed(sdw_data->acp63_sdw0_dma_stream[stream_id]); + adata->acp63_sdw0_dma_intr_stat[stream_id] = 0; } } - for (stream_index = 0; stream_index < ACP63_SDW1_DMA_MAX_STREAMS; stream_index++) { - if (adata->sdw1_dma_intr_stat[stream_index]) { - if (sdw_dma_data->sdw1_dma_stream[stream_index]) - snd_pcm_period_elapsed(sdw_dma_data->sdw1_dma_stream[stream_index]); - adata->sdw1_dma_intr_stat[stream_index] = 0; + for (stream_id = 0; stream_id < ACP63_SDW1_DMA_MAX_STREAMS; stream_id++) { + if (adata->acp63_sdw1_dma_intr_stat[stream_id]) { + if (sdw_data->acp63_sdw1_dma_stream[stream_id]) + snd_pcm_period_elapsed(sdw_data->acp63_sdw1_dma_stream[stream_id]); + adata->acp63_sdw1_dma_intr_stat[stream_id] = 0; } } return IRQ_HANDLED; @@ -180,48 +180,48 @@ static irqreturn_t acp63_irq_handler(int irq, void *dev_id) snd_pcm_period_elapsed(ps_pdm_data->capture_stream); irq_flag = 1; } - if (ext_intr_stat & ACP_SDW_DMA_IRQ_MASK) { + if (ext_intr_stat & ACP63_SDW_DMA_IRQ_MASK) { for (index = ACP_AUDIO2_RX_THRESHOLD; index <= ACP_AUDIO0_TX_THRESHOLD; index++) { if (ext_intr_stat & BIT(index)) { writel(BIT(index), adata->acp63_base + ACP_EXTERNAL_INTR_STAT); switch (index) { case ACP_AUDIO0_TX_THRESHOLD: - stream_id = ACP_SDW0_AUDIO0_TX; + stream_id = ACP63_SDW0_AUDIO0_TX; break; case ACP_AUDIO1_TX_THRESHOLD: - stream_id = ACP_SDW0_AUDIO1_TX; + stream_id = ACP63_SDW0_AUDIO1_TX; break; case ACP_AUDIO2_TX_THRESHOLD: - stream_id = ACP_SDW0_AUDIO2_TX; + stream_id = ACP63_SDW0_AUDIO2_TX; break; case ACP_AUDIO0_RX_THRESHOLD: - stream_id = ACP_SDW0_AUDIO0_RX; + stream_id = ACP63_SDW0_AUDIO0_RX; break; case ACP_AUDIO1_RX_THRESHOLD: - stream_id = ACP_SDW0_AUDIO1_RX; + stream_id = ACP63_SDW0_AUDIO1_RX; break; case ACP_AUDIO2_RX_THRESHOLD: - stream_id = ACP_SDW0_AUDIO2_RX; + stream_id = ACP63_SDW0_AUDIO2_RX; break; } - adata->sdw0_dma_intr_stat[stream_id] = 1; + adata->acp63_sdw0_dma_intr_stat[stream_id] = 1; sdw_dma_irq_flag = 1; } } } - if (ext_intr_stat1 & ACP_P1_AUDIO1_RX_THRESHOLD) { - writel(ACP_P1_AUDIO1_RX_THRESHOLD, + if (ext_intr_stat1 & ACP63_P1_AUDIO1_RX_THRESHOLD) { + writel(ACP63_P1_AUDIO1_RX_THRESHOLD, adata->acp63_base + ACP_EXTERNAL_INTR_STAT1); - adata->sdw1_dma_intr_stat[ACP_SDW1_AUDIO1_RX] = 1; + adata->acp63_sdw1_dma_intr_stat[ACP63_SDW1_AUDIO1_RX] = 1; sdw_dma_irq_flag = 1; } - if (ext_intr_stat1 & ACP_P1_AUDIO1_TX_THRESHOLD) { - writel(ACP_P1_AUDIO1_TX_THRESHOLD, + if (ext_intr_stat1 & ACP63_P1_AUDIO1_TX_THRESHOLD) { + writel(ACP63_P1_AUDIO1_TX_THRESHOLD, adata->acp63_base + ACP_EXTERNAL_INTR_STAT1); - adata->sdw1_dma_intr_stat[ACP_SDW1_AUDIO1_TX] = 1; + adata->acp63_sdw1_dma_intr_stat[ACP63_SDW1_AUDIO1_TX] = 1; sdw_dma_irq_flag = 1; } diff --git a/sound/soc/amd/ps/ps-sdw-dma.c b/sound/soc/amd/ps/ps-sdw-dma.c index b602cca92b8b..878683619a05 100644 --- a/sound/soc/amd/ps/ps-sdw-dma.c +++ b/sound/soc/amd/ps/ps-sdw-dma.c @@ -18,7 +18,7 @@ #define DRV_NAME "amd_ps_sdw_dma" -static struct sdw_dma_ring_buf_reg sdw0_dma_ring_buf_reg[ACP63_SDW0_DMA_MAX_STREAMS] = { +static struct sdw_dma_ring_buf_reg acp63_sdw0_dma_reg[ACP63_SDW0_DMA_MAX_STREAMS] = { {ACP_AUDIO0_TX_DMA_SIZE, ACP_AUDIO0_TX_FIFOADDR, ACP_AUDIO0_TX_FIFOSIZE, ACP_AUDIO0_TX_RINGBUFSIZE, ACP_AUDIO0_TX_RINGBUFADDR, ACP_AUDIO0_TX_INTR_WATERMARK_SIZE, ACP_AUDIO0_TX_LINEARPOSITIONCNTR_LOW, ACP_AUDIO0_TX_LINEARPOSITIONCNTR_HIGH}, @@ -44,7 +44,7 @@ static struct sdw_dma_ring_buf_reg sdw0_dma_ring_buf_reg[ACP63_SDW0_DMA_MAX_STRE * For TX/RX streams DMA registers programming for SDW1 instance, it uses ACP_P1_AUDIO1 register * set as per hardware register documentation */ -static struct sdw_dma_ring_buf_reg sdw1_dma_ring_buf_reg[ACP63_SDW1_DMA_MAX_STREAMS] = { +static struct sdw_dma_ring_buf_reg acp63_sdw1_dma_reg[ACP63_SDW1_DMA_MAX_STREAMS] = { {ACP_P1_AUDIO1_TX_DMA_SIZE, ACP_P1_AUDIO1_TX_FIFOADDR, ACP_P1_AUDIO1_TX_FIFOSIZE, ACP_P1_AUDIO1_TX_RINGBUFSIZE, ACP_P1_AUDIO1_TX_RINGBUFADDR, ACP_P1_AUDIO1_TX_INTR_WATERMARK_SIZE, @@ -55,7 +55,7 @@ static struct sdw_dma_ring_buf_reg sdw1_dma_ring_buf_reg[ACP63_SDW1_DMA_MAX_STRE ACP_P1_AUDIO1_RX_LINEARPOSITIONCNTR_LOW, ACP_P1_AUDIO1_RX_LINEARPOSITIONCNTR_HIGH}, }; -static u32 sdw0_dma_enable_reg[ACP63_SDW0_DMA_MAX_STREAMS] = { +static u32 acp63_sdw0_dma_enable_reg[ACP63_SDW0_DMA_MAX_STREAMS] = { ACP_SW0_AUDIO0_TX_EN, ACP_SW0_AUDIO1_TX_EN, ACP_SW0_AUDIO2_TX_EN, @@ -70,7 +70,7 @@ static u32 sdw0_dma_enable_reg[ACP63_SDW0_DMA_MAX_STREAMS] = { * it uses ACP_SW1_AUDIO1_TX_EN and ACP_SW1_AUDIO1_RX_EN registers * as per hardware register documentation. */ -static u32 sdw1_dma_enable_reg[ACP63_SDW1_DMA_MAX_STREAMS] = { +static u32 acp63_sdw1_dma_enable_reg[ACP63_SDW1_DMA_MAX_STREAMS] = { ACP_SW1_AUDIO1_TX_EN, ACP_SW1_AUDIO1_RX_EN, }; @@ -117,8 +117,8 @@ static const struct snd_pcm_hardware acp63_sdw_hardware_capture = { static void acp63_enable_disable_sdw_dma_interrupts(void __iomem *acp_base, bool enable) { u32 ext_intr_cntl, ext_intr_cntl1; - u32 irq_mask = ACP_SDW_DMA_IRQ_MASK; - u32 irq_mask1 = ACP_P1_SDW_DMA_IRQ_MASK; + u32 irq_mask = ACP63_SDW_DMA_IRQ_MASK; + u32 irq_mask1 = ACP63_P1_SDW_DMA_IRQ_MASK; if (enable) { ext_intr_cntl = readl(acp_base + ACP_EXTERNAL_INTR_CNTL); @@ -182,18 +182,18 @@ static int acp63_configure_sdw_ringbuffer(void __iomem *acp_base, u32 stream_id, switch (manager_instance) { case ACP_SDW0: - reg_dma_size = sdw0_dma_ring_buf_reg[stream_id].reg_dma_size; - reg_fifo_addr = sdw0_dma_ring_buf_reg[stream_id].reg_fifo_addr; - reg_fifo_size = sdw0_dma_ring_buf_reg[stream_id].reg_fifo_size; - reg_ring_buf_size = sdw0_dma_ring_buf_reg[stream_id].reg_ring_buf_size; - reg_ring_buf_addr = sdw0_dma_ring_buf_reg[stream_id].reg_ring_buf_addr; + reg_dma_size = acp63_sdw0_dma_reg[stream_id].reg_dma_size; + reg_fifo_addr = acp63_sdw0_dma_reg[stream_id].reg_fifo_addr; + reg_fifo_size = acp63_sdw0_dma_reg[stream_id].reg_fifo_size; + reg_ring_buf_size = acp63_sdw0_dma_reg[stream_id].reg_ring_buf_size; + reg_ring_buf_addr = acp63_sdw0_dma_reg[stream_id].reg_ring_buf_addr; break; case ACP_SDW1: - reg_dma_size = sdw1_dma_ring_buf_reg[stream_id].reg_dma_size; - reg_fifo_addr = sdw1_dma_ring_buf_reg[stream_id].reg_fifo_addr; - reg_fifo_size = sdw1_dma_ring_buf_reg[stream_id].reg_fifo_size; - reg_ring_buf_size = sdw1_dma_ring_buf_reg[stream_id].reg_ring_buf_size; - reg_ring_buf_addr = sdw1_dma_ring_buf_reg[stream_id].reg_ring_buf_addr; + reg_dma_size = acp63_sdw1_dma_reg[stream_id].reg_dma_size; + reg_fifo_addr = acp63_sdw1_dma_reg[stream_id].reg_fifo_addr; + reg_fifo_size = acp63_sdw1_dma_reg[stream_id].reg_fifo_size; + reg_ring_buf_size = acp63_sdw1_dma_reg[stream_id].reg_ring_buf_size; + reg_ring_buf_addr = acp63_sdw1_dma_reg[stream_id].reg_ring_buf_addr; break; default: return -EINVAL; @@ -267,19 +267,19 @@ static int acp63_sdw_dma_hw_params(struct snd_soc_component *component, stream_id = stream->stream_id; switch (stream->instance) { case ACP_SDW0: - sdw_data->sdw0_dma_stream[stream_id] = substream; - water_mark_size_reg = sdw0_dma_ring_buf_reg[stream_id].water_mark_size_reg; + sdw_data->acp63_sdw0_dma_stream[stream_id] = substream; + water_mark_size_reg = acp63_sdw0_dma_reg[stream_id].water_mark_size_reg; acp_ext_intr_cntl_reg = ACP_EXTERNAL_INTR_CNTL; if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) - irq_mask = BIT(SDW0_DMA_TX_IRQ_MASK(stream_id)); + irq_mask = BIT(ACP63_SDW0_DMA_TX_IRQ_MASK(stream_id)); else - irq_mask = BIT(SDW0_DMA_RX_IRQ_MASK(stream_id)); + irq_mask = BIT(ACP63_SDW0_DMA_RX_IRQ_MASK(stream_id)); break; case ACP_SDW1: - sdw_data->sdw1_dma_stream[stream_id] = substream; + sdw_data->acp63_sdw1_dma_stream[stream_id] = substream; acp_ext_intr_cntl_reg = ACP_EXTERNAL_INTR_CNTL1; - water_mark_size_reg = sdw1_dma_ring_buf_reg[stream_id].water_mark_size_reg; - irq_mask = BIT(SDW1_DMA_IRQ_MASK(stream_id)); + water_mark_size_reg = acp63_sdw1_dma_reg[stream_id].water_mark_size_reg; + irq_mask = BIT(ACP63_SDW1_DMA_IRQ_MASK(stream_id)); break; default: return -EINVAL; @@ -310,12 +310,12 @@ static u64 acp63_sdw_get_byte_count(struct acp_sdw_dma_stream *stream, void __io byte_count.bytescount = 0; switch (stream->instance) { case ACP_SDW0: - pos_low_reg = sdw0_dma_ring_buf_reg[stream->stream_id].pos_low_reg; - pos_high_reg = sdw0_dma_ring_buf_reg[stream->stream_id].pos_high_reg; + pos_low_reg = acp63_sdw0_dma_reg[stream->stream_id].pos_low_reg; + pos_high_reg = acp63_sdw0_dma_reg[stream->stream_id].pos_high_reg; break; case ACP_SDW1: - pos_low_reg = sdw1_dma_ring_buf_reg[stream->stream_id].pos_low_reg; - pos_high_reg = sdw1_dma_ring_buf_reg[stream->stream_id].pos_high_reg; + pos_low_reg = acp63_sdw1_dma_reg[stream->stream_id].pos_low_reg; + pos_high_reg = acp63_sdw1_dma_reg[stream->stream_id].pos_high_reg; break; default: goto POINTER_RETURN_BYTES; @@ -369,10 +369,10 @@ static int acp63_sdw_dma_close(struct snd_soc_component *component, return -EINVAL; switch (stream->instance) { case ACP_SDW0: - sdw_data->sdw0_dma_stream[stream->stream_id] = NULL; + sdw_data->acp63_sdw0_dma_stream[stream->stream_id] = NULL; break; case ACP_SDW1: - sdw_data->sdw1_dma_stream[stream->stream_id] = NULL; + sdw_data->acp63_sdw1_dma_stream[stream->stream_id] = NULL; break; default: return -EINVAL; @@ -395,10 +395,10 @@ static int acp63_sdw_dma_enable(struct snd_pcm_substream *substream, stream_id = stream->stream_id; switch (stream->instance) { case ACP_SDW0: - sdw_dma_en_reg = sdw0_dma_enable_reg[stream_id]; + sdw_dma_en_reg = acp63_sdw0_dma_enable_reg[stream_id]; break; case ACP_SDW1: - sdw_dma_en_reg = sdw1_dma_enable_reg[stream_id]; + sdw_dma_en_reg = acp63_sdw1_dma_enable_reg[stream_id]; break; default: return -EINVAL; @@ -512,13 +512,11 @@ static int acp_restore_sdw_dma_config(struct sdw_dma_dev_data *sdw_data) for (index = 0; index < stream_count; index++) { if (instance == ACP_SDW0) { - substream = sdw_data->sdw0_dma_stream[index]; - water_mark_size_reg = - sdw0_dma_ring_buf_reg[index].water_mark_size_reg; + substream = sdw_data->acp63_sdw0_dma_stream[index]; + water_mark_size_reg = acp63_sdw0_dma_reg[index].water_mark_size_reg; } else { - substream = sdw_data->sdw1_dma_stream[index]; - water_mark_size_reg = - sdw1_dma_ring_buf_reg[index].water_mark_size_reg; + substream = sdw_data->acp63_sdw1_dma_stream[index]; + water_mark_size_reg = acp63_sdw1_dma_reg[index].water_mark_size_reg; } if (substream && substream->runtime) { From patchwork Fri Feb 7 06:27:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863025 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4D47EC02192 for ; Fri, 7 Feb 2025 06:30:12 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 90E5E601F6; Fri, 7 Feb 2025 07:30:00 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 90E5E601F6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738909810; bh=jzeVjXhv5uiyBGXh33F81xCkdC8p6HEt2U2lUh/BTJI=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=FfZA9ytxjx6m04cMj+41/D3ZoMVO49DlDi/Q7lf4KgwqTKVmGuvjeGx7P36UUBfq3 YfRqoKn0L7psv2ecavY4znXa2lh787tMg3vz0fUJ+G70VKss5mtv3Z1xzfgv7iZK+k 4oGlbrGFeIvJWvPS7sSaKDlvjv1HVFjA7NQu3RmQ= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 3E3F1F80619; Fri, 7 Feb 2025 07:28:55 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 81149F805FF; Fri, 7 Feb 2025 07:28:55 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id CC7F3F805C9; Fri, 7 Feb 2025 07:28:51 +0100 (CET) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2061f.outbound.protection.outlook.com [IPv6:2a01:111:f403:2418::61f]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id EE5A4F805BB for ; Fri, 7 Feb 2025 07:28:49 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz EE5A4F805BB Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=ssdqTO3A ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fGsB1ktL8UTY82mfqHxXAEHOiyhu9b0nj9qRSFQ3rt199YL9Khse8pu9xtjFS64QdWUhqCq0sDOHJIdwTbzZ/3Es4cGZdmCCUjBqrlVqz91+2RNqzcz8aEhYLgRu+E42lnhRtc1UGrjklKCZcPKy2OLukMEgfC1myCtHL8ECg7mMsUeAxMeIjv1wqhQa203ehHgxojjUm8tism83tvA9JlJTadLMp9SsDi3fqfCYNeOKHhGhJff75Eir5B64SZZrGCrabvFyTNqK7k5lKmXjWOjOAquH09Oqd50dnwVg8barJNvJchlVjsDDVuO2kKTt0jt8IPk6S0s0vrkcDGCFaA== 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=KFb61OH0mFLBExao2E8yR9kmGe8kkKhgNGK5EE/NwoU=; b=o0UFDGurAUNeleqyTCyTo67ZUK2JfIhGmTznBX5IyC0hLWiPIlSDh+beRxsV4uCbgTV0nH/Rp0kR6WNjUX5c+qTz+ZWNO6D9PdJQ0zPDqacUn5xcXZok3dr5QZbgXmQte97N2eLjZvJJOnTMOdQy2r2fl93Mu1bXcjZF6JCRhCO8Z/Yd503po/vY2OPr3OwC+vo0ja7uyik2eCxlL461w4kJ7a2nTHTR1tj8kgb53cECK8cIxBwef8BGG+EwjkC7JAhL4kcml5NcZkKhLAWaxdElk5zaRf3/a0gAj/LpPgGUIj6puGwteqaUSFqxcrBNmVxn89Efj5Ys8HYfDe2X3Q== 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=KFb61OH0mFLBExao2E8yR9kmGe8kkKhgNGK5EE/NwoU=; b=ssdqTO3AvFkCb2uzA4+cpy9JFkFugXtvjMaUXTfepxM8CjL5UtSnhJAdYPEdsNOrMZDpGkZ8cqdTW0+ujRf/fKzFbvMGaXYofsDG60uwB8XCU1KgyQJH+tix2LfuZfZEy8GAaznNXBImzE17Ia+QyGjim7jRy4neOG81cae2iwM= Received: from BN9PR03CA0945.namprd03.prod.outlook.com (2603:10b6:408:108::20) by SA1PR12MB7174.namprd12.prod.outlook.com (2603:10b6:806:2b1::22) 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:28:43 +0000 Received: from BN3PEPF0000B077.namprd04.prod.outlook.com (2603:10b6:408:108:cafe::b3) by BN9PR03CA0945.outlook.office365.com (2603:10b6:408:108::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.28 via Frontend Transport; Fri, 7 Feb 2025 06:28:43 +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 BN3PEPF0000B077.mail.protection.outlook.com (10.167.243.122) 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:28:43 +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:28:38 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 02/25] ASoC: amd: ps: use macro for ACP6.3 pci revision id Date: Fri, 7 Feb 2025 11:57:56 +0530 Message-ID: <20250207062819.1527184-3-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: BN3PEPF0000B077:EE_|SA1PR12MB7174:EE_ X-MS-Office365-Filtering-Correlation-Id: 0e49f269-1738-4e8f-d949-08dd4740ab66 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: UacJu/H9rE8AL0BH31oKP6cG4F6eMwdTQ9rGzn7PkfjtDfZ1g641GxHG6U1SnGdgDMP+arn/wW+LWgtALZNvgMGT9Uq9I0Aj0K3Z6Ent2wSeLg2coA+CBaYNtW3VDpegCRShRVvddZb5uUvREgbGxS7x61bJpfv2rwBV4GYI2JqA4dVH/Upv1OouRoDHDOqpIOn0ptqVWZ02f+8X5GnpUQz7nqeUcL8mooH+N/GFCkfmHCjXEynQhXvhvw6R87GxmdfJ1JqxEsXWUyZTDI4caKVtPM2tNdvAsRspSFrM3rhCFWsXwFTXhMy5vnEu5asSKhocze4aEEzDE7zfcKmNR/zwIXKXmSmowCNNBnd0hz78oFd9oceabqtYumJYXAdfkxijkGmW0X2e7SEuTzZEHmWR5KiVifU5AHP3IOFNOsbOqZCM49QAUrmlOWEyIDAk2x5EqGbtKxdmNLxjKG8cQCcqGkJzg0+Fv0xuP0vJc8kgjsc0kb9+YHqoiozMgElykRUzCCnkC/0l2Ojuxb3cx9dyJB3pt5ACO/xXeXTRIXBz2nAXQ/8nqHsRPq90h4qTDQ6dgk22cZ2onVskCIKDkC+QZBkv4yhun5ASp42mRSl5M4I25y6BCOkTRfZkjjl4hb3KnavK+ZgZWbQf8w6WBheivbQcLemleJn9DKyoa5pJyDLjy/qnxIc3UJzm11q1a/5J74NSiLr2JAschtr1L0c50myDOpPuWTWueaeERPW1PxRh3U1Efq/Ya1bQopL0xlWWjfA3kYCA89K21hIep87Cq42uiN6BlfpoijnlpduA2STZ7vWgsXE39AAMyBSYP+tlIfGJIRPGd9Txr937QpRHnyOxVljKHmJqVCNTxrrsz9Vqk3beRcoo9VSPCJVyWuqL0MPN0WwobjvKbqTIBPJDv0s/y2bsrW2EP4x7tEY4bwl767d3n1/ICdRkmcFi5pPoU16A8XrQXrig0J6MGf3d6/5TJnfPkltVp1RE7WeGkUuSI+Zgar1dNlpm2tQCyCSgRTZtzmTJt37LBEYKEJAYrjRJZ95717SrY1rY88wYBLzKO3vNU/Rkz4K+f2mcpZg0S0ShgnneyiTr6BZJnVtDP0B2O8qWPJBexJWKTGPtItJmYP9s9F/b8B2lr4M6GUU09gxO2dsglVgbiTQZKwb1YdYzx9tGJgo0om8tEO38JF+A/+tIhEfJUI+u7R2PLMVmcujuVpcTxACMFt65Ff9+azZ6W2wM5mSYcn7KqHDIORfuoWuRsxZSTW+Gimb5g2mE9jlTjw71jSPmnTl3HNr4rthxTYHU2IyLcWw4kb2UhiFvdr+wyJSU3ktvq8bwH/dQBZK2ey48TcYh5BF5ek1jog79CFhReZGTZZ/6Yaa944CmbDhBmryakKAvzo0To6Ei3sVxIuvdsw6dhY2hk9jboNXzrILwUZ03aZmDwIg/IfN4se6E/T/EVJnWTfnEEVGqcYnmfuhIDB2vH9pp/3Iqqk+AVj5hmF68xIz41dk= 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:28:43.4976 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0e49f269-1738-4e8f-d949-08dd4740ab66 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: BN3PEPF0000B077.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7174 Message-ID-Hash: WP5ZCZA7K7OQPXAZG5BLE744PA4EJKAQ X-Message-ID-Hash: WP5ZCZA7K7OQPXAZG5BLE744PA4EJKAQ X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Use macro for ACP6.3 PCI revision id instead of hard coded value. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/ps/acp63.h | 1 + sound/soc/amd/ps/pci-ps.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/sound/soc/amd/ps/acp63.h b/sound/soc/amd/ps/acp63.h index 01910273624b..8f3a597f658b 100644 --- a/sound/soc/amd/ps/acp63.h +++ b/sound/soc/amd/ps/acp63.h @@ -11,6 +11,7 @@ #define ACP_DEVICE_ID 0x15E2 #define ACP63_REG_START 0x1240000 #define ACP63_REG_END 0x125C000 +#define ACP63_PCI_REV 0x63 #define ACP_SOFT_RESET_SOFTRESET_AUDDONE_MASK 0x00010001 #define ACP63_PGFSM_CNTL_POWER_ON_MASK 1 diff --git a/sound/soc/amd/ps/pci-ps.c b/sound/soc/amd/ps/pci-ps.c index f5beb7f14913..9cc66a807ad9 100644 --- a/sound/soc/amd/ps/pci-ps.c +++ b/sound/soc/amd/ps/pci-ps.c @@ -562,7 +562,7 @@ static int snd_acp63_probe(struct pci_dev *pci, /* Pink Sardine device check */ switch (pci->revision) { - case 0x63: + case ACP63_PCI_REV: break; default: dev_dbg(&pci->dev, "acp63 pci device not found\n"); From patchwork Fri Feb 7 06:27:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863891 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 11E2FC02192 for ; Fri, 7 Feb 2025 06:30:32 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 65E37601E1; Fri, 7 Feb 2025 07:30:21 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 65E37601E1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738909831; bh=V2LUQ6h0wzCCaSs4Ip98dMXlJpoHEIy3cjIDAudEctM=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=SYkthRpIu3YDRiHXFdvVPnOg6kyAx2ZZzGI3FiQccOSxK23weWXHqpdju89FSXoh0 xuzWvVqfA0y7GTOsejRzOX8p1PnSJEOIV3OuQWpj3195EYw5Vk3S2ciydyOqNuU0kn c3OUqFT/xZISjc6obOmHXNuEYELQNfVzDpaNhDHE= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 981CEF8063A; Fri, 7 Feb 2025 07:29:05 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 5431AF80639; Fri, 7 Feb 2025 07:29:05 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 3AB8EF8061E; Fri, 7 Feb 2025 07:28:57 +0100 (CET) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on20604.outbound.protection.outlook.com [IPv6:2a01:111:f403:2415::604]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 826DDF805DA for ; Fri, 7 Feb 2025 07:28:53 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 826DDF805DA Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=lWoGdbhu ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gJNaXt+HPdrKS9mY5lr7lcwx98PPB+A0ivWwS2AWW1uZt2SXIRKftat6PoI4y7wLI0yPxQtcp9UZVviWTuzNVkWeAlbBQvD8vxL6AD98vZ/NtdcOlJIr1jIuZbLYcHyaIcZzWrlq0dodPW/PT3Do+pyFR0Na5lZni+eIdDxedxn8CZGfCGfASbpknIlX7XKbBiSOesqi4ccuFManZHITFIUWyY/oj6/DyLzwucvpoUm+GQ4sR6rVogxfWWvsMYRZe4f4SXo/5V2JD90kIJ1bLMg33v97i925oiZ2u7KWInff5wYnMBJHw/FFSRIGUjS/DCcq0qWCsfmEjME56aEhkg== 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=fx1dli4Mz237zc52sFYv3MGB7z41PA3KAPTU6i+Fq08=; b=PenZCWCcSmiYfYLPuOMbaSmgqJWxJGMFQ3iCl9PbIPiaUddKteNGi/vbtn20tBVC/gzKofludDk3jK/QIwgqWj+Hwuob9hAavlg9gOPzdTLxdToDWRJnqkWHlavxMeLqrKrfcT6amZbYIBou+y0+zgRJ1P2PMWrvNUGWK05ByDrd/GGKBCEWILdp36kQ3lV4uQuzkVnaF6yFkUbd1pertdMkCMVp966xSGo9RugJ0FDeVgCOFoPRWHs4LbiBkHXUOtr5D0XHIXKjM5B064/G8iJ20wjnWn9piKBHgdp7W3ix6fCyAw0lTz9091F/e8Qa4yaJVUxSzdHEuV3ZdnJNeg== 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=fx1dli4Mz237zc52sFYv3MGB7z41PA3KAPTU6i+Fq08=; b=lWoGdbhuibby8FCTyBY0y3syiuT+CRYgS5fBh4eIxn8umAK63B45jazPTp/ouZVv8KEcXXdeKYB5iUb3LzWoYY0ftQNFkO7A4goQFLRddKGfVH8oZrpPZA9cLHh2KkA4X1mUywfkHZmQbd4T1TK7oo/W3ZkM0VFn0LyR7gqKKOg= Received: from BN9PR03CA0934.namprd03.prod.outlook.com (2603:10b6:408:108::9) by CH3PR12MB8880.namprd12.prod.outlook.com (2603:10b6:610:17b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.26; Fri, 7 Feb 2025 06:28:47 +0000 Received: from BN3PEPF0000B077.namprd04.prod.outlook.com (2603:10b6:408:108:cafe::aa) by BN9PR03CA0934.outlook.office365.com (2603:10b6:408:108::9) 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:28:47 +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 BN3PEPF0000B077.mail.protection.outlook.com (10.167.243.122) 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:28:47 +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:28:43 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 03/25] ASoC: amd: ps: add acp pci driver hw_ops for acp6.3 platform Date: Fri, 7 Feb 2025 11:57:57 +0530 Message-ID: <20250207062819.1527184-4-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: BN3PEPF0000B077:EE_|CH3PR12MB8880:EE_ X-MS-Office365-Filtering-Correlation-Id: e9b517c0-def0-4ea4-45a6-08dd4740addc 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: o2zP55nMuh/1ELmqcHAE3RJcqCGwBni1oeSJm1dU/YJL0MuO4WY6H9gXhfghgl17XW7OQry59mrRBkxqIWEOvDGmN4PtG2l8S46JgfTPloNBVAwyPwQoo75t0oces9QeOcv8wOi/aKxLtGyFGnP19C3BmX/xa9BR89Mgl582m0zUI0p/LJDgzGPoRSqaJdCtAZOG4yuOyk6uLsdHRWYkRiZJBTBXSZ2tRw66mwJUc7xjsS/ey3L2fWGr2RYuD8ox8zinExxeTnUqzvDBfXBEgz0NhlYV+aHKW43d6BDOETqZmPNfeKWNmfw6A6HGdnCUsV/aQXd5hfVMRh3co9VH7bH94BNSXm/+YPJDuHRFP2a+RxydvxdzIjFZuSYHjupCGl9AlINd+WypG6vcQshS8Fz5KYiY4eZg3CcnQI/EinqsuriWydgNEe69HiJ3MfBde9Qqyk1goKZiP38ZM67ySQoN3kcSpCVG/owCCDxUJTQ2dbP0VPOiN2leMU8aX2Q7bXQkrLwSd+JETBWKPHdcztiMVSc79i1QxLNjODZHNHrwVvFNnCCoLxGUQWhT2djDGapGGi86+pVEPjV1rAOv3/+6Atd7QO7gDzYyKzwR0jQNx3eMXgMoQJDCXxs594Zr0GQpbi+moj02ElXbRbMnAkEF42zymRQu0O48am0DGsjcSkFxbQQC8kNCXWuHpn4kO/tZn5DAKsa5f4DMC0xAJGS7O+Z3RQVcruw479+sQJd3brLxe8lkYyMNqCWhRq25PojtdwlD3bII2EAHs/ixp54rus+BzqoPh30UMCKftc3tvSo3X4FrmmKRuw1RAWq3dnH0YCbfL8nCOy8kv/YtID8Hbj7n+HFsfTCaRstjDhwqSiSuB1dOPCq1KKFmpharjz3wlsX2jArmmezOP6xptIPboM7zKhbB5EPbbIzpXS0qsZg7qC/xsGHPNtGdKBYkbKZQaUYzelrdHTWC+QoKJVgjzu5iHP2Jl8P6rQb4PZe6NA+ar6b8ilkbNYArX4aJNqy4cM5F19xS0Ijk76UF+tU0ItV9DSeP6ZBHdRmroAsMmt4ldMOq9wNF/qNwdj4NKbTELXWzqXf8OPJNFKa3raGsADIbFKPfQEsx8SLFm05uHNvq6eBAqm+6K1nfXNyExfbgzWbUy2uwPAay97gUSzxGMViAQicVU0+896IFX2BnrH6y4Qhk7yJKK+g6CtctgRFjMLzULJd2Zh64ltB92qxJdPBksGxj634YvocOPStiBEVlUebfihTMm7OyNRJ0YxaNMz1rmOEFgNtup9LCdY7B5+kyYymISH2vckqiufo2bA96WUccg2EDBx436oRNTCWPpHOoLFtp8e+Sb9Mzpnwl265Qb7P9xqjN+7BcPhbTsQK4HcWdmc5/VjlpFAlkgdSklTTxHdk4rwTJYLN0c43spX/SD+pmMQQ3jcD7/dWagxRoNw0uR2oFBY6Sql+bVBx7nTjF4I9NL/y/r8dPKC+swiOCjrQ/qj17AV8BrXQ= 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:28:47.6070 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e9b517c0-def0-4ea4-45a6-08dd4740addc 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: BN3PEPF0000B077.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8880 Message-ID-Hash: Q67FQDBAKSSMVIUH52IQEI5HOWORMHGD X-Message-ID-Hash: Q67FQDBAKSSMVIUH52IQEI5HOWORMHGD X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Add ACP6.3 platform specific PCI driver hw_ops for acp init/de-init sequence. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/ps/Makefile | 2 +- sound/soc/amd/ps/acp63.h | 32 ++++++++++ sound/soc/amd/ps/pci-ps.c | 118 +++++++++-------------------------- sound/soc/amd/ps/ps-common.c | 104 ++++++++++++++++++++++++++++++ 4 files changed, 167 insertions(+), 89 deletions(-) create mode 100644 sound/soc/amd/ps/ps-common.c diff --git a/sound/soc/amd/ps/Makefile b/sound/soc/amd/ps/Makefile index b5efb1c5382c..778ee4726389 100644 --- a/sound/soc/amd/ps/Makefile +++ b/sound/soc/amd/ps/Makefile @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only # Pink Sardine platform Support -snd-pci-ps-y := pci-ps.o +snd-pci-ps-y := pci-ps.o ps-common.o snd-ps-pdm-dma-y := ps-pdm-dma.o snd-soc-ps-mach-y := ps-mach.o snd-ps-sdw-dma-y := ps-sdw-dma.o diff --git a/sound/soc/amd/ps/acp63.h b/sound/soc/amd/ps/acp63.h index 8f3a597f658b..ec22a7dad6ac 100644 --- a/sound/soc/amd/ps/acp63.h +++ b/sound/soc/amd/ps/acp63.h @@ -130,6 +130,8 @@ #define SDW_MAX_BUFFER (SDW_PLAYBACK_MAX_PERIOD_SIZE * SDW_PLAYBACK_MAX_NUM_PERIODS) #define SDW_MIN_BUFFER SDW_MAX_BUFFER +#define ACP_HW_OPS(acp_data, cb) ((acp_data)->hw_ops->cb) + enum acp_config { ACP_CONFIG_0 = 0, ACP_CONFIG_1, @@ -213,10 +215,23 @@ struct sdw_dma_ring_buf_reg { u32 pos_high_reg; }; +struct acp63_dev_data; + +/** + * struct acp_hw_ops - ACP PCI driver platform specific ops + * @acp_init: ACP initialization + * @acp_deinit: ACP de-initialization + */ +struct acp_hw_ops { + int (*acp_init)(void __iomem *acp_base, struct device *dev); + int (*acp_deinit)(void __iomem *acp_base, struct device *dev); +}; + /** * struct acp63_dev_data - acp pci driver context * @acp63_base: acp mmio base * @res: resource + * @hw_ops: ACP pci driver platform-specific ops * @pdm_dev: ACP PDM controller platform device * @dmic_codec: platform device for DMIC Codec * sdw_dma_dev: platform device for SoundWire DMA controller @@ -242,6 +257,7 @@ struct sdw_dma_ring_buf_reg { struct acp63_dev_data { void __iomem *acp63_base; struct resource *res; + struct acp_hw_ops *hw_ops; struct platform_device *pdm_dev; struct platform_device *dmic_codec_dev; struct platform_device *sdw_dma_dev; @@ -263,4 +279,20 @@ struct acp63_dev_data { u16 acp63_sdw1_dma_intr_stat[ACP63_SDW1_DMA_MAX_STREAMS]; }; +void acp63_hw_init_ops(struct acp_hw_ops *hw_ops); + +static inline int acp_hw_init(struct acp63_dev_data *adata, struct device *dev) +{ + if (adata && adata->hw_ops && adata->hw_ops->acp_init) + return ACP_HW_OPS(adata, acp_init)(adata->acp63_base, dev); + return -EOPNOTSUPP; +} + +static inline int acp_hw_deinit(struct acp63_dev_data *adata, struct device *dev) +{ + if (adata && adata->hw_ops && adata->hw_ops->acp_deinit) + return ACP_HW_OPS(adata, acp_deinit)(adata->acp63_base, dev); + return -EOPNOTSUPP; +} + int snd_amd_acp_find_config(struct pci_dev *pci); diff --git a/sound/soc/amd/ps/pci-ps.c b/sound/soc/amd/ps/pci-ps.c index 9cc66a807ad9..120bab1844bb 100644 --- a/sound/soc/amd/ps/pci-ps.c +++ b/sound/soc/amd/ps/pci-ps.c @@ -21,87 +21,6 @@ #include "acp63.h" -static int acp63_power_on(void __iomem *acp_base) -{ - u32 val; - - val = readl(acp_base + ACP_PGFSM_STATUS); - - if (!val) - return val; - - if ((val & ACP63_PGFSM_STATUS_MASK) != ACP63_POWER_ON_IN_PROGRESS) - writel(ACP63_PGFSM_CNTL_POWER_ON_MASK, acp_base + ACP_PGFSM_CONTROL); - - return readl_poll_timeout(acp_base + ACP_PGFSM_STATUS, val, !val, DELAY_US, ACP63_TIMEOUT); -} - -static int acp63_reset(void __iomem *acp_base) -{ - u32 val; - int ret; - - writel(1, acp_base + ACP_SOFT_RESET); - - ret = readl_poll_timeout(acp_base + ACP_SOFT_RESET, val, - val & ACP_SOFT_RESET_SOFTRESET_AUDDONE_MASK, - DELAY_US, ACP63_TIMEOUT); - if (ret) - return ret; - - writel(0, acp_base + ACP_SOFT_RESET); - - return readl_poll_timeout(acp_base + ACP_SOFT_RESET, val, !val, DELAY_US, ACP63_TIMEOUT); -} - -static void acp63_enable_interrupts(void __iomem *acp_base) -{ - writel(1, acp_base + ACP_EXTERNAL_INTR_ENB); - writel(ACP_ERROR_IRQ, acp_base + ACP_EXTERNAL_INTR_CNTL); -} - -static void acp63_disable_interrupts(void __iomem *acp_base) -{ - writel(ACP_EXT_INTR_STAT_CLEAR_MASK, acp_base + ACP_EXTERNAL_INTR_STAT); - writel(0, acp_base + ACP_EXTERNAL_INTR_CNTL); - writel(0, acp_base + ACP_EXTERNAL_INTR_ENB); -} - -static int acp63_init(void __iomem *acp_base, struct device *dev) -{ - int ret; - - ret = acp63_power_on(acp_base); - if (ret) { - dev_err(dev, "ACP power on failed\n"); - return ret; - } - writel(0x01, acp_base + ACP_CONTROL); - ret = acp63_reset(acp_base); - if (ret) { - dev_err(dev, "ACP reset failed\n"); - return ret; - } - acp63_enable_interrupts(acp_base); - writel(0, acp_base + ACP_ZSC_DSP_CTRL); - return 0; -} - -static int acp63_deinit(void __iomem *acp_base, struct device *dev) -{ - int ret; - - acp63_disable_interrupts(acp_base); - ret = acp63_reset(acp_base); - if (ret) { - dev_err(dev, "ACP reset failed\n"); - return ret; - } - writel(0, acp_base + ACP_CONTROL); - writel(1, acp_base + ACP_ZSC_DSP_CTRL); - return 0; -} - static irqreturn_t acp63_irq_thread(int irq, void *context) { struct sdw_dma_dev_data *sdw_data; @@ -540,11 +459,29 @@ static int create_acp63_platform_devs(struct pci_dev *pci, struct acp63_dev_data unregister_pdm_dev: platform_device_unregister(adata->pdm_dev); de_init: - if (acp63_deinit(adata->acp63_base, &pci->dev)) + if (acp_hw_deinit(adata, &pci->dev)) dev_err(&pci->dev, "ACP de-init failed\n"); return ret; } +static int acp_hw_init_ops(struct acp63_dev_data *adata, struct pci_dev *pci) +{ + adata->hw_ops = devm_kzalloc(&pci->dev, sizeof(struct acp_hw_ops), + GFP_KERNEL); + if (!adata->hw_ops) + return -ENOMEM; + + switch (adata->acp_rev) { + case ACP63_PCI_REV: + acp63_hw_init_ops(adata->hw_ops); + break; + default: + dev_err(&pci->dev, "ACP device not found\n"); + return -ENODEV; + } + return 0; +} + static int snd_acp63_probe(struct pci_dev *pci, const struct pci_device_id *pci_id) { @@ -598,7 +535,12 @@ static int snd_acp63_probe(struct pci_dev *pci, pci_set_master(pci); pci_set_drvdata(pci, adata); mutex_init(&adata->acp_lock); - ret = acp63_init(adata->acp63_base, &pci->dev); + ret = acp_hw_init_ops(adata, pci); + if (ret) { + dev_err(&pci->dev, "ACP hw ops init failed\n"); + goto release_regions; + } + ret = acp_hw_init(adata, &pci->dev); if (ret) goto release_regions; ret = devm_request_threaded_irq(&pci->dev, pci->irq, acp63_irq_handler, @@ -632,7 +574,7 @@ static int snd_acp63_probe(struct pci_dev *pci, pm_runtime_allow(&pci->dev); return 0; de_init: - if (acp63_deinit(adata->acp63_base, &pci->dev)) + if (acp_hw_deinit(adata, &pci->dev)) dev_err(&pci->dev, "ACP de-init failed\n"); release_regions: pci_release_regions(pci); @@ -677,7 +619,7 @@ static int __maybe_unused snd_acp63_suspend(struct device *dev) return 0; } } - ret = acp63_deinit(adata->acp63_base, dev); + ret = acp_hw_deinit(adata, dev); if (ret) dev_err(dev, "ACP de-init failed\n"); @@ -694,7 +636,7 @@ static int __maybe_unused snd_acp63_runtime_resume(struct device *dev) writel(0, adata->acp63_base + ACP_ZSC_DSP_CTRL); return 0; } - ret = acp63_init(adata->acp63_base, dev); + ret = acp_hw_init(adata, dev); if (ret) { dev_err(dev, "ACP init failed\n"); return ret; @@ -716,7 +658,7 @@ static int __maybe_unused snd_acp63_resume(struct device *dev) return 0; } - ret = acp63_init(adata->acp63_base, dev); + ret = acp_hw_deinit(adata, dev); if (ret) dev_err(dev, "ACP init failed\n"); @@ -744,7 +686,7 @@ static void snd_acp63_remove(struct pci_dev *pci) } if (adata->mach_dev) platform_device_unregister(adata->mach_dev); - ret = acp63_deinit(adata->acp63_base, &pci->dev); + ret = acp_hw_deinit(adata, &pci->dev); if (ret) dev_err(&pci->dev, "ACP de-init failed\n"); pm_runtime_forbid(&pci->dev); diff --git a/sound/soc/amd/ps/ps-common.c b/sound/soc/amd/ps/ps-common.c new file mode 100644 index 000000000000..771249a76537 --- /dev/null +++ b/sound/soc/amd/ps/ps-common.c @@ -0,0 +1,104 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * AMD ACP PCI driver callback routines for ACP6.3, ACP7.0 & ACP7.1 + * platforms. + * + * Copyright 2025 Advanced Micro Devices, Inc. + * Authors: Vijendar Mukunda + */ + +#include +#include +#include +#include +#include +#include + +#include "acp63.h" + +static int acp63_power_on(void __iomem *acp_base) +{ + u32 val; + + val = readl(acp_base + ACP_PGFSM_STATUS); + + if (!val) + return val; + + if ((val & ACP63_PGFSM_STATUS_MASK) != ACP63_POWER_ON_IN_PROGRESS) + writel(ACP63_PGFSM_CNTL_POWER_ON_MASK, acp_base + ACP_PGFSM_CONTROL); + + return readl_poll_timeout(acp_base + ACP_PGFSM_STATUS, val, !val, DELAY_US, ACP63_TIMEOUT); +} + +static int acp63_reset(void __iomem *acp_base) +{ + u32 val; + int ret; + + writel(1, acp_base + ACP_SOFT_RESET); + + ret = readl_poll_timeout(acp_base + ACP_SOFT_RESET, val, + val & ACP_SOFT_RESET_SOFTRESET_AUDDONE_MASK, + DELAY_US, ACP63_TIMEOUT); + if (ret) + return ret; + + writel(0, acp_base + ACP_SOFT_RESET); + + return readl_poll_timeout(acp_base + ACP_SOFT_RESET, val, !val, DELAY_US, ACP63_TIMEOUT); +} + +static void acp63_enable_interrupts(void __iomem *acp_base) +{ + writel(1, acp_base + ACP_EXTERNAL_INTR_ENB); + writel(ACP_ERROR_IRQ, acp_base + ACP_EXTERNAL_INTR_CNTL); +} + +static void acp63_disable_interrupts(void __iomem *acp_base) +{ + writel(ACP_EXT_INTR_STAT_CLEAR_MASK, acp_base + ACP_EXTERNAL_INTR_STAT); + writel(0, acp_base + ACP_EXTERNAL_INTR_CNTL); + writel(0, acp_base + ACP_EXTERNAL_INTR_ENB); +} + +static int acp63_init(void __iomem *acp_base, struct device *dev) +{ + int ret; + + ret = acp63_power_on(acp_base); + if (ret) { + dev_err(dev, "ACP power on failed\n"); + return ret; + } + writel(0x01, acp_base + ACP_CONTROL); + ret = acp63_reset(acp_base); + if (ret) { + dev_err(dev, "ACP reset failed\n"); + return ret; + } + acp63_enable_interrupts(acp_base); + writel(0, acp_base + ACP_ZSC_DSP_CTRL); + return 0; +} + +static int acp63_deinit(void __iomem *acp_base, struct device *dev) +{ + int ret; + + acp63_disable_interrupts(acp_base); + ret = acp63_reset(acp_base); + if (ret) { + dev_err(dev, "ACP reset failed\n"); + return ret; + } + writel(0, acp_base + ACP_CONTROL); + writel(1, acp_base + ACP_ZSC_DSP_CTRL); + return 0; +} + +void acp63_hw_init_ops(struct acp_hw_ops *hw_ops) +{ + hw_ops->acp_init = acp63_init; + hw_ops->acp_deinit = acp63_deinit; +} From patchwork Fri Feb 7 06:27:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863890 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B5EADC02192 for ; Fri, 7 Feb 2025 06:31:07 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 99312601F6; Fri, 7 Feb 2025 07:30:55 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 99312601F6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738909865; bh=3A9Io0mjma91zazfjHKmG5s8qNf6QC8WcojVbya0nkg=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=cvte09n4fd3V6TKfpVQq32AIEp+B9Z7WQ7XfJX4wJ84syrz5Xhbh12g5+X5VIhuGG vtTQ8A2OTVEzEuFsoNCyLwugoNT4OIzImA18Govpq1XcmDxDE88VUJpKUtk0GGOr/P oIrcs48xLGZ948xhmd84qbSaAtJvQXkPUmwvlunI= Received: by alsa1.perex.cz (Postfix, from userid 50401) id F15EAF8069A; Fri, 7 Feb 2025 07:29:07 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 8EA04F80699; Fri, 7 Feb 2025 07:29:07 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 911B6F8061E; Fri, 7 Feb 2025 07:29:01 +0100 (CET) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2061f.outbound.protection.outlook.com [IPv6:2a01:111:f403:200a::61f]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 6216DF8061D for ; Fri, 7 Feb 2025 07:28:59 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 6216DF8061D Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=YZvmNlUC ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pUdKk4ZDFbss/MB9eMk6pUBdAw2xGP4IRBv5Ik+4XY2eeZ1pxMwMS3KREqcrz/tHiaUmr/hqOBk5VyiCwf1S+CjY3ue2QkrvzA7v35P58i9NMQofvoNHuJoBCbbrRkZXichYXNGyn9EQqTrsL06Nq08+7+XKj4qmN0SAsXd8cOMt/nkzB+/uhpJtyU6mIm0td96Z+IPV3ey2hvavFIpoWIIe7z0WEkxm5V06o7+aHihwoLf6Skv3OEk7cHEt9DlZ6Di2k9P7qArR2VSuYaH3Qy5S9h/M0fD3PfpiYa/e80fnp05UMDz+fb6VJEIC7yww0QqX9DPQk6BvUCa1aocIBg== 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=WG+wLnHBkUeT29nxJSqeY8KwZGHu8gJEH4iKQM7qQgI=; b=RNJ8C1Y2knOZH+kYG4FkI1UMB/SZyH/2yaygvv5H8qZsrJlk+JpSdF1UnQoR3d/MyG9hLIgKLAKKuGW/RpsQHRhFFD0S8TV9Kgl+gDMCGwIAW7Dbb6h2xXt8i/rj/h0VolxnC2/J8R5/Dp9A1dPTOmG+dO/l8bj0oZ9zRrVZeSECQ1HttRLPhNckrxkU+7a6CnDZe98wNz6wBp9Dt1qaEG5LkUXEuL3NWGvkrAFIJvCHJgv/tA13mghExkwOemjc11x/knhIyPFuw8QzdseRZEiVwsCc8lsRdDLxLc4bKeP1FfMLP27Q6dMTwS1s8GTKY0FMm3Kkx7Lof7Pox6aFng== 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=WG+wLnHBkUeT29nxJSqeY8KwZGHu8gJEH4iKQM7qQgI=; b=YZvmNlUC8Hk4DOEno0tiJ5ehg1c0r9lXDBsRmFEsqQD3IUNUZYXJjhm15b+hz2MrBS0FIu6t+pSumAVWSbebKzmMPYvomcn3ISk/uAn3410uq6AtHYfUEZZ5A188qcCEyeAUOBbxTQWpO2cW3TZvsE4S3/meoUZSftyceZdyFP8= Received: from BLAPR03CA0132.namprd03.prod.outlook.com (2603:10b6:208:32e::17) by PH7PR12MB5926.namprd12.prod.outlook.com (2603:10b6:510:1d9::8) 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:28:52 +0000 Received: from BN3PEPF0000B072.namprd04.prod.outlook.com (2603:10b6:208:32e:cafe::d4) by BLAPR03CA0132.outlook.office365.com (2603:10b6:208:32e::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.25 via Frontend Transport; Fri, 7 Feb 2025 06:28:51 +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 BN3PEPF0000B072.mail.protection.outlook.com (10.167.243.117) 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:28:51 +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:28:47 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 04/25] ASoC: amd: ps: add callback functions for acp pci driver pm ops Date: Fri, 7 Feb 2025 11:57:58 +0530 Message-ID: <20250207062819.1527184-5-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: BN3PEPF0000B072:EE_|PH7PR12MB5926:EE_ X-MS-Office365-Filtering-Correlation-Id: ca04765b-bd8b-4ad6-682f-08dd4740b02a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|36860700013|1800799024|376014; X-Microsoft-Antispam-Message-Info: mLmLRU2VCqsfBp26PNFUm2cvEe/YuguupDhBHLXhWvTj+v7X64APMpxYpC2OIPkC7Xo/cat1exud+PPl6l51JqsFQdQ2i3ohR7dkxi/XIwL/9A5+rmj7iz0NvTmodf9EnDcjo8Hd7mZVTFVH1R+CrumWoHhAeT1thCu0Jmq83PQyu4iNgV2/zfpW5dZ4ZAIlT+0zRcKXVEn77BoGGXzpIskhgHBukYeWzBmOG7DQlz8AxkBu9fneKSyMt+y9Henq2GxqLHjZfE0mr3Nblpg8+ZwuTJ/QF/dSWQXxy7SGJB5cOnE6kQOU0dGDMMvlWlC4WnZ9Dq8rpc5m4SuZAOe2U0pIZ+g8xCMt0lFNRaNjCtSdEH+NH3m556W9Y9PRx1rE8iCFPQLbJl4WeJYVl1Y72hP6iK2Tt4kQ8VgucGYQV5z6n2/1WoNLajZFIfeQ4KgHVszazLN+vBQ7NWPcnX+1/vWbFg0c3BOftj/yOn0Osz+z6kwnPnPNLF8+du0+WidJTnaLHb4hE/lHyX49Iu2yOAjuZ3dYVXHWcn4LqO8p3KgyKm3WbY2Rp6Vn65fmBUgJG5el13tXld1cqtS338wS5XxcTqlj2UEok3q3ek73Lze0e409+HXdtWs/cYUeNCu7psYwAqWkKy2o0qtHQY5V/IgdYl7sugZ4Cg9nhkIy2dFPa1O42F/ypVXTzjTqDGKaLGUKiYy7oXAiiJceRT+n1gutgs1yQMOrEAzqpzsZ0e4fIqNAQZpCMBuJFXHWbvAZmRNoW7g5T6GC4r8Nax9AM5ZmEukRZutim+LFdty7dHi6onzhMNxxL653+iFZb74R4HwVIURtIR6xoVRNk2BY9puSM8IBWtnFhwGconwvcZPisXZU+ac9fcWXYm3bZRJehtcZiM3yPO1xCj3ceSRPyE0Yd1FDvau33XXQvnw3qZKj8QW4zyVqxu18uaThxSYLo8/4jhxq8536mELXRWoMI/8DU8dhppfKfLF7joBN0fWbige+2iwyOVLLqnxZ+ngZHgE70eOtI6xLCcpdq0+Tc6btWmwDlPh9KZ850DlnCqNSRCTMCCRMGoFrYioAylkCY9nK2fQk4/bUp7MSL9kYXoiYAW93895VM5MLqO4GvFiugIqnAveEqBn73pz9GSXD8dZ2KAvaLQDHPHjrKn5tgl+iRxpXfV+m+OuBpX/YGZ4bR5uZ5bWifbM6tm6yh9kRn+8URHI2IYbvycMwHfKjJCjkZ3XcA4oNoyIP6nzSsKrSx30V9D+Hwv8lkjxEfpvRwoNbI1CNgRBULcDs2HTsuX+u/kvnrnMOVjwDPwuCNyBRBL3ii+JmrRxIPlbK2qtKfCWPxMyTgKjDP/uVy5YZa0ujXUAJtTNesmr5W5/1nOisbK2Iz15TO6eM3Qa8E0oR5ES59v0BRtqBQ/7hPmKREvgBhYh5/6PcwYVFApJAda8cbT13hSuoiFZuvrpR9wxJlYDmh4e6forHTB351PsX8Uiy2wMOzIn9SCiGqSkcteA= 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)(82310400026)(36860700013)(1800799024)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:28:51.4901 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ca04765b-bd8b-4ad6-682f-08dd4740b02a 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: BN3PEPF0000B072.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5926 Message-ID-Hash: 2QTMZ5HNAOAEXTGGXBDHJKLAZ7HTVNWV X-Message-ID-Hash: 2QTMZ5HNAOAEXTGGXBDHJKLAZ7HTVNWV X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Add acp pci driver pm ops related callback functions for ACP6.3 platform. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/ps/acp63.h | 44 ++++++++++++++++++ sound/soc/amd/ps/pci-ps.c | 82 ++++------------------------------ sound/soc/amd/ps/ps-common.c | 86 ++++++++++++++++++++++++++++++++++++ 3 files changed, 138 insertions(+), 74 deletions(-) diff --git a/sound/soc/amd/ps/acp63.h b/sound/soc/amd/ps/acp63.h index ec22a7dad6ac..4e3f7eaac040 100644 --- a/sound/soc/amd/ps/acp63.h +++ b/sound/soc/amd/ps/acp63.h @@ -221,10 +221,18 @@ struct acp63_dev_data; * struct acp_hw_ops - ACP PCI driver platform specific ops * @acp_init: ACP initialization * @acp_deinit: ACP de-initialization + * acp_suspend: ACP system level suspend callback + * acp_resume: ACP system level resume callback + * acp_suspend_runtime: ACP runtime suspend callback + * acp_resume_runtime: ACP runtime resume callback */ struct acp_hw_ops { int (*acp_init)(void __iomem *acp_base, struct device *dev); int (*acp_deinit)(void __iomem *acp_base, struct device *dev); + int (*acp_suspend)(struct device *dev); + int (*acp_resume)(struct device *dev); + int (*acp_suspend_runtime)(struct device *dev); + int (*acp_resume_runtime)(struct device *dev); }; /** @@ -295,4 +303,40 @@ static inline int acp_hw_deinit(struct acp63_dev_data *adata, struct device *dev return -EOPNOTSUPP; } +static inline int acp_hw_suspend(struct device *dev) +{ + struct acp63_dev_data *adata = dev_get_drvdata(dev); + + if (adata && adata->hw_ops && adata->hw_ops->acp_suspend) + return ACP_HW_OPS(adata, acp_suspend)(dev); + return -EOPNOTSUPP; +} + +static inline int acp_hw_resume(struct device *dev) +{ + struct acp63_dev_data *adata = dev_get_drvdata(dev); + + if (adata && adata->hw_ops && adata->hw_ops->acp_resume) + return ACP_HW_OPS(adata, acp_resume)(dev); + return -EOPNOTSUPP; +} + +static inline int acp_hw_suspend_runtime(struct device *dev) +{ + struct acp63_dev_data *adata = dev_get_drvdata(dev); + + if (adata && adata->hw_ops && adata->hw_ops->acp_suspend_runtime) + return ACP_HW_OPS(adata, acp_suspend_runtime)(dev); + return -EOPNOTSUPP; +} + +static inline int acp_hw_runtime_resume(struct device *dev) +{ + struct acp63_dev_data *adata = dev_get_drvdata(dev); + + if (adata && adata->hw_ops && adata->hw_ops->acp_resume_runtime) + return ACP_HW_OPS(adata, acp_resume_runtime)(dev); + return -EOPNOTSUPP; +} + int snd_amd_acp_find_config(struct pci_dev *pci); diff --git a/sound/soc/amd/ps/pci-ps.c b/sound/soc/amd/ps/pci-ps.c index 120bab1844bb..a37fb6172958 100644 --- a/sound/soc/amd/ps/pci-ps.c +++ b/sound/soc/amd/ps/pci-ps.c @@ -584,90 +584,24 @@ static int snd_acp63_probe(struct pci_dev *pci, return ret; } -static bool check_acp_sdw_enable_status(struct acp63_dev_data *adata) +static int __maybe_unused snd_acp_suspend(struct device *dev) { - u32 sdw0_en, sdw1_en; - - sdw0_en = readl(adata->acp63_base + ACP_SW0_EN); - sdw1_en = readl(adata->acp63_base + ACP_SW1_EN); - return (sdw0_en || sdw1_en); + return acp_hw_suspend(dev); } -static void handle_acp63_sdw_pme_event(struct acp63_dev_data *adata) +static int __maybe_unused snd_acp_runtime_resume(struct device *dev) { - u32 val; - - val = readl(adata->acp63_base + ACP_SW0_WAKE_EN); - if (val && adata->sdw->pdev[0]) - pm_request_resume(&adata->sdw->pdev[0]->dev); - - val = readl(adata->acp63_base + ACP_SW1_WAKE_EN); - if (val && adata->sdw->pdev[1]) - pm_request_resume(&adata->sdw->pdev[1]->dev); + return acp_hw_runtime_resume(dev); } -static int __maybe_unused snd_acp63_suspend(struct device *dev) +static int __maybe_unused snd_acp_resume(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_acp63_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); - return 0; - } - ret = acp_hw_init(adata, dev); - if (ret) { - dev_err(dev, "ACP init failed\n"); - return ret; - } - - if (!adata->sdw_en_stat) - handle_acp63_sdw_pme_event(adata); - return 0; -} - -static int __maybe_unused snd_acp63_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); - return 0; - } - - ret = acp_hw_deinit(adata, dev); - if (ret) - dev_err(dev, "ACP init failed\n"); - - return ret; + return acp_hw_resume(dev); } static const struct dev_pm_ops acp63_pm_ops = { - SET_RUNTIME_PM_OPS(snd_acp63_suspend, snd_acp63_runtime_resume, NULL) - SET_SYSTEM_SLEEP_PM_OPS(snd_acp63_suspend, snd_acp63_resume) + SET_RUNTIME_PM_OPS(snd_acp_suspend, snd_acp_runtime_resume, NULL) + SET_SYSTEM_SLEEP_PM_OPS(snd_acp_suspend, snd_acp_resume) }; static void snd_acp63_remove(struct pci_dev *pci) diff --git a/sound/soc/amd/ps/ps-common.c b/sound/soc/amd/ps/ps-common.c index 771249a76537..7643f321be37 100644 --- a/sound/soc/amd/ps/ps-common.c +++ b/sound/soc/amd/ps/ps-common.c @@ -13,6 +13,7 @@ #include #include #include +#include #include "acp63.h" @@ -97,8 +98,93 @@ static int acp63_deinit(void __iomem *acp_base, struct device *dev) return 0; } +static bool check_acp_sdw_enable_status(struct acp63_dev_data *adata) +{ + u32 sdw0_en, sdw1_en; + + sdw0_en = readl(adata->acp63_base + ACP_SW0_EN); + sdw1_en = readl(adata->acp63_base + ACP_SW1_EN); + return (sdw0_en || sdw1_en); +} + +static void handle_acp63_sdw_pme_event(struct acp63_dev_data *adata) +{ + u32 val; + + val = readl(adata->acp63_base + ACP_SW0_WAKE_EN); + if (val && adata->sdw->pdev[0]) + pm_request_resume(&adata->sdw->pdev[0]->dev); + + val = readl(adata->acp63_base + ACP_SW1_WAKE_EN); + if (val && adata->sdw->pdev[1]) + pm_request_resume(&adata->sdw->pdev[1]->dev); +} + +static int __maybe_unused snd_acp63_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_acp63_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); + return 0; + } + ret = acp_hw_init(adata, dev); + if (ret) { + dev_err(dev, "ACP init failed\n"); + return ret; + } + + if (!adata->sdw_en_stat) + handle_acp63_sdw_pme_event(adata); + return 0; +} + +static int __maybe_unused snd_acp63_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); + return 0; + } + + ret = acp_hw_init(adata, dev); + if (ret) + dev_err(dev, "ACP init failed\n"); + + return ret; +} + void acp63_hw_init_ops(struct acp_hw_ops *hw_ops) { hw_ops->acp_init = acp63_init; hw_ops->acp_deinit = acp63_deinit; + hw_ops->acp_suspend = snd_acp63_suspend; + hw_ops->acp_resume = snd_acp63_resume; + hw_ops->acp_suspend_runtime = snd_acp63_suspend; + hw_ops->acp_resume_runtime = snd_acp63_runtime_resume; } From patchwork Fri Feb 7 06:27:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863024 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A365EC02192 for ; Fri, 7 Feb 2025 06:30:46 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id BFC4D601EC; Fri, 7 Feb 2025 07:30:34 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz BFC4D601EC DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738909844; bh=Gf7bEHG/CMU/TB+h1cgdIPi29n74wBNxnyJUAuuezDw=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=EVo01bOk7t7PyZjmoLoObK74ueB1ALG1nB2YtOMkCrXRhT5WTNLfxAQB/q3n/fVqE nhO6sFylITA/a+td9/sQhq0+6LI/KoQqQ2rfjDFLCzJyy3lGYb2NgCLaFKwty40rFM VEdMCllI/IFl6xvehKz1LC0ACd9jgFLwN831WCYU= Received: by alsa1.perex.cz (Postfix, from userid 50401) id D5311F80674; Fri, 7 Feb 2025 07:29:06 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 8FF61F80679; Fri, 7 Feb 2025 07:29:06 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id E44B0F8061F; Fri, 7 Feb 2025 07:29:00 +0100 (CET) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on20618.outbound.protection.outlook.com [IPv6:2a01:111:f403:2418::618]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id F0AE7F805DA for ; Fri, 7 Feb 2025 07:28:58 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz F0AE7F805DA Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=ONmeFXJc ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hh1lCQsqtq41m1WYld3VUhBtD0lhPqzlJ2nkrC0ieJxIOWICeCTAlf4pBb078lOOe4Cz1M4bXIRPuK37hYftTIXsyOt3BLUiUkC7vFPMnOKUr4YtKtXd0j9Gals9JfpAVDbF/0r6VUC78G13SnJqOH22q0557Kzk7QHe+8HkDyI9IlE47YnCZd07WljbuS+83BI+hO0RuLKHxXUHBIVTLXDaRvfKTfN71m9BQiEHs3OgMYwC8uEa3sPqHHFWI3jk0mF4P4HtZt+yqW9wn99DVV95Y0RDKhRcLF8WY64hg9xAhLWsijVjMgYSo4jNHEUwA5NPLBosTBKlgoD5Al2hQg== 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=nUvtiW809Q5jTxtwb7JHhDmnRLq60R7x08pFNmhX5zA=; b=gseqTJnKi/SwHmzHg9KQ3VIQSU+EijzDHBqGYIPsgR/bx5zcM5vvFqzK4TrYmgmh1QwcHvzHCZoZhGfA+3S8yZ50qUWSedoEaD0c3CMo4mTQFAl+adyY+kqmnRSomkpTnBP3LlAcDai/71XPtVd6Bt3ofVPpSuRcGLbJskrm+pyhuPFCrsSQySvX/YCvYrnEeWolVNqvqEOBwMyNJpZnPqsnk2kFfvMNjJrRthXw7QVxlagm6hycFEiusMOqwKemVxBdtvhFluzfv1PhCebThOwqPQBZLs9tf9OauaDJ3N1I5YmL1QLfeQkrK7c5ggN3DXoaJLMbayKQfFd1MaZg/g== 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=nUvtiW809Q5jTxtwb7JHhDmnRLq60R7x08pFNmhX5zA=; b=ONmeFXJcor7YhM2UV5plVK/dNMkyC1YpDolLnk9gZRq2SvFnBcva3I7CWFDl2YyQU8YVrBOCiuHK0qtE5OS2pezT1Rs2rYZ3QoT4pajdQZEqdFeDEKwUebVeTc6u/PBAuXM8uzN9DQpzCX5dvJqw4eqeNZdA1WXrqmQ3Ovn2Cic= Received: from BN9PR03CA0937.namprd03.prod.outlook.com (2603:10b6:408:108::12) by LV2PR12MB5846.namprd12.prod.outlook.com (2603:10b6:408:175::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.14; Fri, 7 Feb 2025 06:28:55 +0000 Received: from BN3PEPF0000B077.namprd04.prod.outlook.com (2603:10b6:408:108:cafe::2c) by BN9PR03CA0937.outlook.office365.com (2603:10b6:408:108::12) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8356.20 via Frontend Transport; Fri, 7 Feb 2025 06:28:55 +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 BN3PEPF0000B077.mail.protection.outlook.com (10.167.243.122) 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:28:55 +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:28:51 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 05/25] ASoC: amd: ps: add callback to read acp pin configuration Date: Fri, 7 Feb 2025 11:57:59 +0530 Message-ID: <20250207062819.1527184-6-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: BN3PEPF0000B077:EE_|LV2PR12MB5846:EE_ X-MS-Office365-Filtering-Correlation-Id: 175de39d-1f26-4bd1-bfad-08dd4740b286 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|376014|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: VNW1Ep81Cgnmgy0R17X3DrtNMT2B0lo/RY9bQLw/+FNFBx1fy3lFcsiPr0Oq5au53hRZ3icGxfKTTVshW6cnonyXv8RfXoIclr6uVAaY7NHkTB4Pp6mIbzaIK8zrV8A5xO5inTNoqZf4kJY2uJx0GvvwZs12mf1htyo/PAkKW6t1Xos15iFYe3ROV715X+YBA7BgLG1x480cGyUR8M0RL4NaYl10ntrpqRx6k4G3E3fipJrpwTHyzFtK2xsgw8g44lmrrovZecpJIkWEjNAV+H1f6DIubxnz0ixSX+0ewwMVUGaTbQk8EK2nmnNBn8HLKVPPpyqAk7dFAQ51mDnfX5827QUiVZVgsSma8msAAAKdLbxLGRH8NJYQwhF8OJLenpPczbLXQXDiWYhUare98BH0AOyrkgZ7cWENN4Q+dABY7gK+M/FgKjm8RDGWmhQHF0ZBz74hp/KZhxrFo2C7bAvsnLvyfXaEb7IjHIsgXk9fdYwUhLYgPEPxuSNx4ULViAsOi6wHAxs5cc1rIf5eSPe7ClFScuKHEhsKSGpZfyDWCZt4sETQhtP0B762n/ng0uRDpZ8DjARIIRBUNmZpSjyHI3SpSC5ETf1YZYOLdQuz8Y0tRnUjAraz77XXz+Uw8v+eimvwYb3+QMbdNpgK8H+lYcPW3DYBfJV6V69e+JZWAr9ofYfd3K3QWavKiXJMBptfZvQ5dXsU9B7uBN7a4ZcrClWyiXKWeVpMdv1grPu4SdjgFFQOo+FX1f1P4GqxDy0jiKOmGElLYjV8Z7is1bewzlV71C9cLDzuWWSAqmbOCh6SQlvJx4G5OVqm4Z3d2b1bt1kzCS3qn0R443bzBNiXa/B/8Cbtq8WGkYV6N5KWPwXTUh4RBQwhSXm99npfxVnKcZlicwpOkQ5TAwt04F5zinCE447lZj61Fa5HEBW2u/72br6RmpwW+qRTDMhNOQHqnq9K7IAb2qzaRJ1bQNIdEB6EZsWlkz8l0g07T/P3mjpSCGPJ/h3ytbB24D+bq015X2+jNcVZMBTF1xD+FWDhiKuHxWKJwG0tzQypjxJSqJf6UKP6aGVvB3DiqkH7FTqUfxmIaATjLQYeG5V9DsKtzhINLyqy1Wd0rb1HBlm6d3jZwDrUVEoIrk+ShfsVwfR3tfl1S1XWoOetgkCfqw1aWnT4PlkRQ6MORdaGy/2IOt5tyX6+9Wf25GlJ0EXw36HmOJe7+MWIo5ZIo72ppi4Pt9DyhKB26DGHmeRvl92IiNq1DmHxvGF7yap4kTzoVAYK6Mbv+Myn/aV+IEeaSZ6QJ2iwFqa/loUD5DRv/lF92FuacG5XEI86twNHadKcMmXYCAZ6hKP0tYDK2ZkGWvB0vZo/NoWsYX532ABt1q1OmopKPe8mvYEqwKbbJOMafTHYVSHsH0B9m1+ftJzV1Tax5a8gIxnDrI5i+o6PqyDmdZ+o24er5voXqozTbshV5S7sQXDYEEkvdDnXpQud9WPYf1+HaHQ7VHKpz0iQs34= 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)(82310400026)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:28:55.4195 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 175de39d-1f26-4bd1-bfad-08dd4740b286 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: BN3PEPF0000B077.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5846 Message-ID-Hash: 255TNH2DONYZIJKLFKBABSOPH3XYQ4O3 X-Message-ID-Hash: 255TNH2DONYZIJKLFKBABSOPH3XYQ4O3 X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Add pci driver callback to read acp pin configuration for ACP6.3 platform. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/ps/acp63.h | 8 ++++++++ sound/soc/amd/ps/pci-ps.c | 26 +------------------------- sound/soc/amd/ps/ps-common.c | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 25 deletions(-) diff --git a/sound/soc/amd/ps/acp63.h b/sound/soc/amd/ps/acp63.h index 4e3f7eaac040..a918a988e4d8 100644 --- a/sound/soc/amd/ps/acp63.h +++ b/sound/soc/amd/ps/acp63.h @@ -221,6 +221,7 @@ struct acp63_dev_data; * struct acp_hw_ops - ACP PCI driver platform specific ops * @acp_init: ACP initialization * @acp_deinit: ACP de-initialization + * @acp_get_config: function to read the acp pin configuration * acp_suspend: ACP system level suspend callback * acp_resume: ACP system level resume callback * acp_suspend_runtime: ACP runtime suspend callback @@ -229,6 +230,7 @@ struct acp63_dev_data; struct acp_hw_ops { int (*acp_init)(void __iomem *acp_base, struct device *dev); int (*acp_deinit)(void __iomem *acp_base, struct device *dev); + void (*acp_get_config)(struct pci_dev *pci, struct acp63_dev_data *acp_data); int (*acp_suspend)(struct device *dev); int (*acp_resume)(struct device *dev); int (*acp_suspend_runtime)(struct device *dev); @@ -303,6 +305,12 @@ static inline int acp_hw_deinit(struct acp63_dev_data *adata, struct device *dev return -EOPNOTSUPP; } +static inline void acp_hw_get_config(struct pci_dev *pci, struct acp63_dev_data *adata) +{ + if (adata && adata->hw_ops && adata->hw_ops->acp_get_config) + ACP_HW_OPS(adata, acp_get_config)(pci, adata); +} + static inline int acp_hw_suspend(struct device *dev) { struct acp63_dev_data *adata = dev_get_drvdata(dev); diff --git a/sound/soc/amd/ps/pci-ps.c b/sound/soc/amd/ps/pci-ps.c index a37fb6172958..96399acf906c 100644 --- a/sound/soc/amd/ps/pci-ps.c +++ b/sound/soc/amd/ps/pci-ps.c @@ -299,7 +299,6 @@ static int get_acp63_device_config(struct pci_dev *pci, struct acp63_dev_data *a const union acpi_object *obj; acpi_handle handle; acpi_integer dmic_status; - u32 config; bool is_dmic_dev = false; bool is_sdw_dev = false; bool wov_en, dmic_en; @@ -309,30 +308,7 @@ static int get_acp63_device_config(struct pci_dev *pci, struct acp63_dev_data *a wov_en = true; dmic_en = false; - config = readl(acp_data->acp63_base + ACP_PIN_CONFIG); - switch (config) { - case ACP_CONFIG_4: - case ACP_CONFIG_5: - case ACP_CONFIG_10: - case ACP_CONFIG_11: - acp_data->is_pdm_config = true; - break; - case ACP_CONFIG_2: - case ACP_CONFIG_3: - acp_data->is_sdw_config = true; - break; - case ACP_CONFIG_6: - case ACP_CONFIG_7: - case ACP_CONFIG_12: - case ACP_CONFIG_8: - case ACP_CONFIG_13: - case ACP_CONFIG_14: - acp_data->is_pdm_config = true; - acp_data->is_sdw_config = true; - break; - default: - break; - } + acp_hw_get_config(pci, acp_data); if (acp_data->is_pdm_config) { pdm_dev = acpi_find_child_device(ACPI_COMPANION(&pci->dev), ACP63_DMIC_ADDR, 0); diff --git a/sound/soc/amd/ps/ps-common.c b/sound/soc/amd/ps/ps-common.c index 7643f321be37..30e9e5fe034b 100644 --- a/sound/soc/amd/ps/ps-common.c +++ b/sound/soc/amd/ps/ps-common.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -98,6 +99,37 @@ static int acp63_deinit(void __iomem *acp_base, struct device *dev) return 0; } +static void acp63_get_config(struct pci_dev *pci, struct acp63_dev_data *acp_data) +{ + u32 config; + + config = readl(acp_data->acp63_base + ACP_PIN_CONFIG); + dev_dbg(&pci->dev, "ACP config value: %d\n", config); + switch (config) { + case ACP_CONFIG_4: + case ACP_CONFIG_5: + case ACP_CONFIG_10: + case ACP_CONFIG_11: + acp_data->is_pdm_config = true; + break; + case ACP_CONFIG_2: + case ACP_CONFIG_3: + acp_data->is_sdw_config = true; + break; + case ACP_CONFIG_6: + case ACP_CONFIG_7: + case ACP_CONFIG_12: + case ACP_CONFIG_8: + case ACP_CONFIG_13: + case ACP_CONFIG_14: + acp_data->is_pdm_config = true; + acp_data->is_sdw_config = true; + break; + default: + break; + } +} + static bool check_acp_sdw_enable_status(struct acp63_dev_data *adata) { u32 sdw0_en, sdw1_en; @@ -183,6 +215,7 @@ void acp63_hw_init_ops(struct acp_hw_ops *hw_ops) { hw_ops->acp_init = acp63_init; hw_ops->acp_deinit = acp63_deinit; + hw_ops->acp_get_config = acp63_get_config; hw_ops->acp_suspend = snd_acp63_suspend; hw_ops->acp_resume = snd_acp63_resume; hw_ops->acp_suspend_runtime = snd_acp63_suspend; From patchwork Fri Feb 7 06:28:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863023 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9CF80C02192 for ; Fri, 7 Feb 2025 06:31:26 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id CC99160221; Fri, 7 Feb 2025 07:31:14 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz CC99160221 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738909884; bh=aj4kola1+MhVVaaMwJ/N+SW+iNGKWaob2Q2ULdt046g=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=SioTS1dH5uxnlQOL2B4PgY69BVif3qZWEAOvVEAJAEID24KoMgG4vtR4CmSc0ElfY o6CRH8gkQxhr/Uv9DmQkEM+RG4+ClfLO7y6gfo9FD7R0r/ZmMfK3cpRzWmKFJe0YwI o4UcD4hJbMouEDxUx3vEl/jn2hzZEKXTYdaCwWmQ= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 1827DF806AA; Fri, 7 Feb 2025 07:29:28 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 63258F806C6; Fri, 7 Feb 2025 07:29:28 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 078E8F80680; Fri, 7 Feb 2025 07:29:15 +0100 (CET) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2062f.outbound.protection.outlook.com [IPv6:2a01:111:f403:2416::62f]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id C8311F8069D for ; Fri, 7 Feb 2025 07:29:09 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz C8311F8069D Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=ne8OVSe3 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=zF9To7fMxtj4HeZoLjODA4Oz+H5XdcbAVaOwMazeqYdbKUGPSIDOjTK7pBSw8REDypb2I7Opei8zxDOhh5UGNcD9qWHRUjZxJqHZVplsJWFc/B/C2aIgChTKoBePh+SHll2Qd2i2ipr95KeG8l+QFO2mjE9X8Fk2vfU8UTkI2gn4eY1SEFD+QzTNq9ZQlDK2bm4ZKA+zZC3ieoHxCEOcfkvC9HZYK/F3TABAq3oMLen8nxJpz22ghlOrLgjVT2nc3+LJ9KGd2ZYASVerxQ0Ss0FOKdygcyfFoPL4CMmprlPkykE4cxuCziadgq974q8roYdIwVYIV346vBakf7LL8w== 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=iFX89Bp41ObFcvD3saujfUmF7WOoRwK3EYsHGKUmT90=; b=ECpXPxy8tyMcY91H+N9jXQ1QmIvDa9CsLnt9mWsj37GXRjNpvHViuxoviIgbbebekoXIrbosYIVuMyLozBAhUOCTm+eD63IE7G8b2BrQ1XKFu/gR1M3VRE+0XLISh06lUrZNsBN9nbDOsFNV7ohCzFBBGj2Evr92iVyj72uVJxUAwlj2x2MP5OOjxzZMM1x4F9QH1+WAhbRgyNyjik7tegUM05GfvTsd5fiULam98qdd0/J6F+ifGrVYn+9Ipz2AaX2pgrryWjuvJLysTozh34kGOVlrIUW9dP5c3kAxijOcuh3BIfyqgHRO2oXp/iD0MCOI3+9VPGXvBc7Aw790YA== 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=iFX89Bp41ObFcvD3saujfUmF7WOoRwK3EYsHGKUmT90=; b=ne8OVSe309mzc23fcHrMiNH5V6CptDeAY11TOo342Y2W748c3FILF2P/gwIw3wzmGNm7itA0p4lvparcBCI8gy9C9ht4MFwNK7NGVfrtjBqVU/gR0PP2yMuvdwnoszcRtmgiAFSdvvkR/GlQV6l/aW95QnFU1yTVxfd/miDj5Z0= Received: from MN0PR02CA0011.namprd02.prod.outlook.com (2603:10b6:208:530::33) by PH7PR12MB5974.namprd12.prod.outlook.com (2603:10b6:510:1d9::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:28:59 +0000 Received: from BN3PEPF0000B071.namprd04.prod.outlook.com (2603:10b6:208:530:cafe::4a) by MN0PR02CA0011.outlook.office365.com (2603:10b6:208:530::33) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.25 via Frontend Transport; Fri, 7 Feb 2025 06:28:59 +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 BN3PEPF0000B071.mail.protection.outlook.com (10.167.243.116) 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:28:59 +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:28:55 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 06/25] ASoC: amd: ps: add soundwire dma irq thread callback Date: Fri, 7 Feb 2025 11:58:00 +0530 Message-ID: <20250207062819.1527184-7-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: BN3PEPF0000B071:EE_|PH7PR12MB5974:EE_ X-MS-Office365-Filtering-Correlation-Id: 7cab3678-7920-4fbc-05b4-08dd4740b4d5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|82310400026|376014|1800799024; X-Microsoft-Antispam-Message-Info: NlVk+b/JJ6lHysHJlrFh6zbLcPhNY3BUD94LcITRy4xQDpw5rjPllseZ3LXa1gJAYjUOPbNbDvuaN3BM6spJ3A4O5O9UcyPKLTNz0atk/KBoq1xSe4XVm1RSZ1VGEK4SZlrRRiFpRe0WlIkymS+aYmMtagQrkBlJmucN9NPgRNBRdMhCpE4vJHL1kM8h9ZIAkoxrCQX3WkrF2/LHfydWrIyJ/UuFHoQATLUNvPMcz0KYBXcj/jPFmZOElAMzjVPsXFUPvKSPYwcQFKW/s3Equ2XoSV3zMdJucg6QVUzOyxE+4G9gvVjb7F7l59KXRUXo+a4Wi+HslV6ABKCRJGZ7RxJCVGPmP/HznyFA/HEuE3IYi71sSJVOldliTLbJTWw3Ldj9SwXMQJT1th6mwm8TZ6pab+lK8FcVaxAeXQtjBQmeiRo5IGmQ2Wyeqjk23kWqSEN8TYkyu8Al1Rivfzal696HU+TASJlg+4NwacsJi4GR8GTVxtkrRaeqT1Mt57QhvHpRZrtZ631ZeOHTJAjcuvYhS6XsTYPy53j7ovwhuLaKcP3+vZcrC/wZVH3HFMY/CWvsZM6s+NMP/LIpc3YfeKJWnX5qGY/w6LCTS4Udgv7IpjhNJo6EI+SilXOrLZ4V8iYIxflRIAJ5yCTBd0T5nnJlTShkRwBxu3FCk47zvhJmGhSodB1t9OwvM6+XMBBkANN4VK3EpX9TEXYeMWf6AawmAZPUqv4LSd4brKxe/qxJBBUU0WN7AkJsxYaM75XF65FS9+4k6oF50JEihueZpt/ObhLm3nvzB0nuaWT7Ce2+3xG9gLrWt+vSZUwNID72WVElbWfwIgYq0K8wtbYAPDi3Dv7PMZDKSF8tHGiqxAoGj0kTQvCASNDEDlNEA3WPDzTfMbAlWBwL6xdNVaNAFF+siLC0eBvrLI0vl4uTJdcefi5QCb3NpQg/s6ODfb6En3vbvz3CVqzp1olnLlE1kxCOFFAsiTYXxSjh/n0UAakEA01BJlayxqtw4fM6Lh1UHe39VtA3zDz5dFqXba9OiKRa/IMy6YLoz/tH3J1SaOq3n3y1rvdpZUm2Hm9S8L/DP8u9feYh5tmW6KwzlZYYSWRnfyjhncs7peiEDhAyQjBIW8ExIidIbQGMjRlOdhqtLYlmDiZ4jS0VMKCCzCqbGyDi8KsJmnpP3OjAhaV6ScUJpUAE0ZuwLPeEzR86Krz4I45UzrUzxt0aXWpuF3/sAWKHbCIj7GOeTORFXvT10eTAz8TBARm75dJNzOcVL6cbMVqQmjL3FWM/bM5WUXueNa8rDkTKzaAiHXIh1UslPkPvsOC1Ygb1Yeb50ya7e9U0do6pQJbKLZv+X1/VLnsRcMBfr4hkVmLDdtW2XYuiyogzmYpdqvCI5kA/Av2HN3xjGeoDSMi3v28qP2jXLJGuCibYcgbMZW3RL8+zQGd40YtvXpREJbhyWoAoh7q9u0mVkwLKMaG74+KtCySEX/MtK39u7+0qG/6I5Z3VmI5ADCg= 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)(376014)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:28:59.3192 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7cab3678-7920-4fbc-05b4-08dd4740b4d5 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: BN3PEPF0000B071.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5974 Message-ID-Hash: QU4CEUNK5KL3DZD52ET7V25HUX6AWYZY X-Message-ID-Hash: QU4CEUNK5KL3DZD52ET7V25HUX6AWYZY X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Add acp pci driver Soundwire DMA irq thread callaback for ACP6.3 platform. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/ps/acp63.h | 8 ++++++++ sound/soc/amd/ps/pci-ps.c | 19 +------------------ sound/soc/amd/ps/ps-common.c | 25 +++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 18 deletions(-) diff --git a/sound/soc/amd/ps/acp63.h b/sound/soc/amd/ps/acp63.h index a918a988e4d8..9a20846d30ff 100644 --- a/sound/soc/amd/ps/acp63.h +++ b/sound/soc/amd/ps/acp63.h @@ -222,6 +222,7 @@ struct acp63_dev_data; * @acp_init: ACP initialization * @acp_deinit: ACP de-initialization * @acp_get_config: function to read the acp pin configuration + * @acp_sdw_dma_irq_thread: ACP SoundWire DMA interrupt thread * acp_suspend: ACP system level suspend callback * acp_resume: ACP system level resume callback * acp_suspend_runtime: ACP runtime suspend callback @@ -231,6 +232,7 @@ struct acp_hw_ops { int (*acp_init)(void __iomem *acp_base, struct device *dev); int (*acp_deinit)(void __iomem *acp_base, struct device *dev); void (*acp_get_config)(struct pci_dev *pci, struct acp63_dev_data *acp_data); + void (*acp_sdw_dma_irq_thread)(struct acp63_dev_data *acp_data); int (*acp_suspend)(struct device *dev); int (*acp_resume)(struct device *dev); int (*acp_suspend_runtime)(struct device *dev); @@ -311,6 +313,12 @@ static inline void acp_hw_get_config(struct pci_dev *pci, struct acp63_dev_data ACP_HW_OPS(adata, acp_get_config)(pci, adata); } +static inline void acp_hw_sdw_dma_irq_thread(struct acp63_dev_data *adata) +{ + if (adata && adata->hw_ops && adata->hw_ops->acp_sdw_dma_irq_thread) + ACP_HW_OPS(adata, acp_sdw_dma_irq_thread)(adata); +} + static inline int acp_hw_suspend(struct device *dev) { struct acp63_dev_data *adata = dev_get_drvdata(dev); diff --git a/sound/soc/amd/ps/pci-ps.c b/sound/soc/amd/ps/pci-ps.c index 96399acf906c..5d9c230043a6 100644 --- a/sound/soc/amd/ps/pci-ps.c +++ b/sound/soc/amd/ps/pci-ps.c @@ -23,26 +23,9 @@ static irqreturn_t acp63_irq_thread(int irq, void *context) { - struct sdw_dma_dev_data *sdw_data; struct acp63_dev_data *adata = context; - u32 stream_id; - sdw_data = dev_get_drvdata(&adata->sdw_dma_dev->dev); - - for (stream_id = 0; stream_id < ACP63_SDW0_DMA_MAX_STREAMS; stream_id++) { - if (adata->acp63_sdw0_dma_intr_stat[stream_id]) { - if (sdw_data->acp63_sdw0_dma_stream[stream_id]) - snd_pcm_period_elapsed(sdw_data->acp63_sdw0_dma_stream[stream_id]); - adata->acp63_sdw0_dma_intr_stat[stream_id] = 0; - } - } - for (stream_id = 0; stream_id < ACP63_SDW1_DMA_MAX_STREAMS; stream_id++) { - if (adata->acp63_sdw1_dma_intr_stat[stream_id]) { - if (sdw_data->acp63_sdw1_dma_stream[stream_id]) - snd_pcm_period_elapsed(sdw_data->acp63_sdw1_dma_stream[stream_id]); - adata->acp63_sdw1_dma_intr_stat[stream_id] = 0; - } - } + acp_hw_sdw_dma_irq_thread(adata); return IRQ_HANDLED; } diff --git a/sound/soc/amd/ps/ps-common.c b/sound/soc/amd/ps/ps-common.c index 30e9e5fe034b..9098974b3608 100644 --- a/sound/soc/amd/ps/ps-common.c +++ b/sound/soc/amd/ps/ps-common.c @@ -15,6 +15,7 @@ #include #include #include +#include #include "acp63.h" @@ -211,11 +212,35 @@ static int __maybe_unused snd_acp63_resume(struct device *dev) return ret; } +static void acp63_sdw_dma_irq_thread(struct acp63_dev_data *adata) +{ + struct sdw_dma_dev_data *sdw_data; + u32 stream_id; + + sdw_data = dev_get_drvdata(&adata->sdw_dma_dev->dev); + + for (stream_id = 0; stream_id < ACP63_SDW0_DMA_MAX_STREAMS; stream_id++) { + if (adata->acp63_sdw0_dma_intr_stat[stream_id]) { + if (sdw_data->acp63_sdw0_dma_stream[stream_id]) + snd_pcm_period_elapsed(sdw_data->acp63_sdw0_dma_stream[stream_id]); + adata->acp63_sdw0_dma_intr_stat[stream_id] = 0; + } + } + for (stream_id = 0; stream_id < ACP63_SDW1_DMA_MAX_STREAMS; stream_id++) { + if (adata->acp63_sdw1_dma_intr_stat[stream_id]) { + if (sdw_data->acp63_sdw1_dma_stream[stream_id]) + snd_pcm_period_elapsed(sdw_data->acp63_sdw1_dma_stream[stream_id]); + adata->acp63_sdw1_dma_intr_stat[stream_id] = 0; + } + } +} + void acp63_hw_init_ops(struct acp_hw_ops *hw_ops) { hw_ops->acp_init = acp63_init; hw_ops->acp_deinit = acp63_deinit; hw_ops->acp_get_config = acp63_get_config; + hw_ops->acp_sdw_dma_irq_thread = acp63_sdw_dma_irq_thread; hw_ops->acp_suspend = snd_acp63_suspend; hw_ops->acp_resume = snd_acp63_resume; hw_ops->acp_suspend_runtime = snd_acp63_suspend; From patchwork Fri Feb 7 06:28:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863889 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AD618C02192 for ; Fri, 7 Feb 2025 06:31:37 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 2D9C36021E; Fri, 7 Feb 2025 07:31:26 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 2D9C36021E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738909896; bh=HXP/CtawY7tCZ/vpRJ/intIpRp0Q81BZP5slusIr8dE=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=tOk81QE7B5LYk9IGprtsomMUhk5ltZAWL3jnlSSExhAmc2b5BHYCI5uEwxPrS0hNo 1BoxwEp3nCmJlsaMgtqe8tULHafNN0BcbCGJgGcDKpIGdsyG7+verVQusehEUen2yH uOdy7fyuaS5Y980l5w2VwcX5DMEIKoS5FX3DLNMU= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 32144F806D9; Fri, 7 Feb 2025 07:29:32 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 3EBB2F806DA; Fri, 7 Feb 2025 07:29:31 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 440F6F806A7; Fri, 7 Feb 2025 07:29:20 +0100 (CET) Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on2060b.outbound.protection.outlook.com [IPv6:2a01:111:f403:2409::60b]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 50B71F805AF for ; Fri, 7 Feb 2025 07:29:13 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 50B71F805AF Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=b3u2o1f6 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jiCHAUdcMclq9dLxoMe3+OXXM9kBDGuUi8KWK51GnwWFUQxXMp8tEbZVlGb8gFlOBlx5khFlebg9r6nByrtgaUB4bXQObx0JMhdnqIyAFnFJzcf517XrB3yn4KXyMuoZhWvAQuyyOZwcxJuaAEtNmlP0tcHH6BKq9Mubb33xGs1XCgC+2/qP1rmaNCYGUVji5F6LKdVNzYpdaiFuZUiyT9IC4WsnGRzbNU0ENM654jICq6j3lpevNm4l2pvFVFgh5U9QTOPW/4QjKBXa/Y+CnMBQkVslEQosAswSRfAnCEPzCriWxLc/cMzrl1JHdhkWeEnd8tu+nzOLXYA/kgDfjw== 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=iTdDszGIzCH7Xl+omZEsg1nJLdFN8tHNnKFPSkpR6rE=; b=e0KEFF5cNgiiDdPVRwXBeKXfXrSADsFNnvJ/FCiM7/FwmVddPMkp6SSCIkgDAu1jcKvxug+oiTaJX1el5u2c+hjdtndNaD43eiqJObCLuCSPJCEg8Z8rnnNG14gNIrkMWuQ9SAK9FoprP+q9xgNp2daVYW/QmaALEdKQ7ltJ6DPmc7E12iGPSIErm3jKszYiXDPZLcXXCU0yZnkgkysJc+O23RceO0hNG1JMFrbg5D9fwLs+JhCYK4M4gj9Pmrv4JUdbLfrpdByPuDlpQvbyk4gCjXJLaNDksMRZaKPw8QCmYRkblgMlknO9jpZ5BLw7yNC7z5fUTtA9jOVdI8wfIQ== 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=iTdDszGIzCH7Xl+omZEsg1nJLdFN8tHNnKFPSkpR6rE=; b=b3u2o1f69EftU3iaOUeX6ib0CS2KCrQiky5Ad0fHto+1jWwhZdv0bojWVZGRQmtc+nl5W0HCjKWiIn1fjvIBpIXiAIgaLH77LEGueFREjpnlqFEcTPZSO+KQHPp5Ma97wvw97lLMv2iKZt2Nh2nYIM/1oZdu0uMjDSw7J3Huv4w= Received: from MN2PR19CA0033.namprd19.prod.outlook.com (2603:10b6:208:178::46) by DS0PR12MB8318.namprd12.prod.outlook.com (2603:10b6:8:f6::14) 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:29:07 +0000 Received: from BN3PEPF0000B075.namprd04.prod.outlook.com (2603:10b6:208:178:cafe::fe) by MN2PR19CA0033.outlook.office365.com (2603:10b6:208:178::46) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.28 via Frontend Transport; Fri, 7 Feb 2025 06:29:07 +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 BN3PEPF0000B075.mail.protection.outlook.com (10.167.243.120) 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:29:06 +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:28:59 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 07/25] ASoC: amd: ps: refactor soundwire dma interrupt handling Date: Fri, 7 Feb 2025 11:58:01 +0530 Message-ID: <20250207062819.1527184-8-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: BN3PEPF0000B075:EE_|DS0PR12MB8318:EE_ X-MS-Office365-Filtering-Correlation-Id: d56b8d61-02d2-4828-8db7-08dd4740b965 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: k9KoBAl4inM8vwEUVHXPKvUagMeD27RJOXF+55NLvpDqSQwiO3NdoKBtdTnVHvPy0N9tz9KXHoJFny8rXHPvi3fkUOQeyoMiFMO/3JYiwDQrWOa5RUvzBZXTdk7+U8+hZQdNg66FSdsH+9wqCbtTyN2El2aNqK/7/OXMksBXwMgy++Q16llvdO8FcXHPeiXOaOUV3FsN3rpXUj4lJ3kXCWvIEJyGqv8yrrpqA4CmLnU+Ggol/rVl81qJaz+Y9AMNdDrH5R+ZIeY+/Xjx+FyYP+rYFOc7aW8tdBcUDd7iSAzqE/dV22RgYCkty3v96ImfRf8VLFlA8JU1B5QNJfqC0iaGQJeICMKsCilV3QjCHOuTVnnnljuAL/bxuiGsOGWk0ea5znALy73DN37hVZAo2XAsKRMugfreuclQVUYu/9T+nIky1FGy7684QkIia2PahSLBxI0gkFDKMmNTLPWaZrc3GDnPGYCUZGVaUE6LWR/HqKY6gTL5npDLQ6fMXB3rNouXGB5ZBDIK3YWfXZk02DhSDg6OAYH75VWuyWYHACXxCBZ3CYF6aEiH0lVvkBuhbRUtl37FxWa37cr6qfQgc2zdFRJjiSmwmZ8tEncb/lt9QEAyyy/R42ceQW/6U1vVSIsjAvtHi/hWs52aXCxjo1OfQHmGkVfL1weZmOo/nDNrKnVb2X3NfHhieY5yCqc34M62ra1U9zW7ntNMbMeSQ6KDBfICNrL+tQA+qKAMdPtLpoV/3RCFa+WyefDg/6N6G07cPuJM1f6WllY4KcSeUZcPugGMe7x8bemAgDDgLcTzqQ9UrV5xpPvTbndY7oVILQsL/eiSC06Q/y+Uq+JfBZIQ3TvitRiLFyl8vNoUZyJt49yvpPPNtsb6Ws9F8yxBYeZBemWoA109xhsLKlYtMOSjO8zrj+v/wdNDdoo2Jg03xuKn5afyN4I85utDkIRPE6s53D4LFfSEKEfTon8s+0MX6ojREvDAV6sgP45GlQGJY36pW3Uvfp3obDnaThlu0vqSXwA5EXCIWqC7+iS//qQpeOdqpaHgpiBekx+vx8AucNeHAJgRly2I9NQuJeosAeuZuSHo7cVWcE/6wHXO0XSl46dxVb5A1/gCz4iVtLC4aNfbUJ6YzAMCW2q5/VklYcPSMOfQ6wdE+NCDOH+czL//QBSE3g12zlwDLJRoRz/B0YUTvbJhtghOgwxgryxy00NWuX5xMIE6Zo6we8CQEt91yeYVYdCjCyb1CJv3QOUuJQMhpPNDjc8fpHnBQk932Bvq9qpALatiJu6rILtukXyqtSE48M7P99pLE6gnn4nGEtPdJ/cXk1l4PAnFntW1L1bu1aZCZKROetk3f04CPkiZqWABAaxiPBEfIpFpfl2yfHQdU7LISNQMnA0EhAHgViQ+i92Anfo7x0vRTTKxFyPUSDb2Wki6pHIr+Z6eslfhrYYKBa9CmuI4tjLK6DkFFM68WWYuPLHARlUMPv/PgnDP8JKlOUPCISY3iJwwWfE= 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)(1800799024)(376014)(36860700013)(82310400026); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:29:06.9772 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d56b8d61-02d2-4828-8db7-08dd4740b965 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: BN3PEPF0000B075.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8318 Message-ID-Hash: T2P4QI7XWZZBKCRR6ARZ23EQ3UL3ZPP7 X-Message-ID-Hash: T2P4QI7XWZZBKCRR6ARZ23EQ3UL3ZPP7 X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Move the Soundwire DMA interrupt handling to separate function. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/ps/pci-ps.c | 96 ++++++++++++++++++++------------------- 1 file changed, 50 insertions(+), 46 deletions(-) diff --git a/sound/soc/amd/ps/pci-ps.c b/sound/soc/amd/ps/pci-ps.c index 5d9c230043a6..04b43b4128bc 100644 --- a/sound/soc/amd/ps/pci-ps.c +++ b/sound/soc/amd/ps/pci-ps.c @@ -21,6 +21,55 @@ #include "acp63.h" +static short int check_and_handle_sdw_dma_irq(struct acp63_dev_data *adata, u32 ext_intr_stat, + u32 ext_intr_stat1) +{ + u32 stream_id = 0; + u16 sdw_dma_irq_flag = 0; + u16 index; + + if (ext_intr_stat & ACP63_SDW_DMA_IRQ_MASK) { + for (index = ACP_AUDIO2_RX_THRESHOLD; index <= ACP_AUDIO0_TX_THRESHOLD; index++) { + if (ext_intr_stat & BIT(index)) { + writel(BIT(index), adata->acp63_base + ACP_EXTERNAL_INTR_STAT); + switch (index) { + case ACP_AUDIO0_TX_THRESHOLD: + stream_id = ACP63_SDW0_AUDIO0_TX; + break; + case ACP_AUDIO1_TX_THRESHOLD: + stream_id = ACP63_SDW0_AUDIO1_TX; + break; + case ACP_AUDIO2_TX_THRESHOLD: + stream_id = ACP63_SDW0_AUDIO2_TX; + break; + case ACP_AUDIO0_RX_THRESHOLD: + stream_id = ACP63_SDW0_AUDIO0_RX; + break; + case ACP_AUDIO1_RX_THRESHOLD: + stream_id = ACP63_SDW0_AUDIO1_RX; + break; + case ACP_AUDIO2_RX_THRESHOLD: + stream_id = ACP63_SDW0_AUDIO2_RX; + break; + } + adata->acp63_sdw0_dma_intr_stat[stream_id] = 1; + sdw_dma_irq_flag = 1; + } + } + } + if (ext_intr_stat1 & ACP63_P1_AUDIO1_RX_THRESHOLD) { + writel(ACP63_P1_AUDIO1_RX_THRESHOLD, adata->acp63_base + ACP_EXTERNAL_INTR_STAT1); + adata->acp63_sdw1_dma_intr_stat[ACP63_SDW1_AUDIO1_RX] = 1; + sdw_dma_irq_flag = 1; + } + if (ext_intr_stat1 & ACP63_P1_AUDIO1_TX_THRESHOLD) { + writel(ACP63_P1_AUDIO1_TX_THRESHOLD, adata->acp63_base + ACP_EXTERNAL_INTR_STAT1); + adata->acp63_sdw1_dma_intr_stat[ACP63_SDW1_AUDIO1_TX] = 1; + sdw_dma_irq_flag = 1; + } + return sdw_dma_irq_flag; +} + static irqreturn_t acp63_irq_thread(int irq, void *context) { struct acp63_dev_data *adata = context; @@ -35,10 +84,8 @@ static irqreturn_t acp63_irq_handler(int irq, void *dev_id) struct pdm_dev_data *ps_pdm_data; struct amd_sdw_manager *amd_manager; u32 ext_intr_stat, ext_intr_stat1; - u32 stream_id = 0; u16 irq_flag = 0; u16 sdw_dma_irq_flag = 0; - u16 index; adata = dev_id; if (!adata) @@ -82,51 +129,8 @@ static irqreturn_t acp63_irq_handler(int irq, void *dev_id) snd_pcm_period_elapsed(ps_pdm_data->capture_stream); irq_flag = 1; } - if (ext_intr_stat & ACP63_SDW_DMA_IRQ_MASK) { - for (index = ACP_AUDIO2_RX_THRESHOLD; index <= ACP_AUDIO0_TX_THRESHOLD; index++) { - if (ext_intr_stat & BIT(index)) { - writel(BIT(index), adata->acp63_base + ACP_EXTERNAL_INTR_STAT); - switch (index) { - case ACP_AUDIO0_TX_THRESHOLD: - stream_id = ACP63_SDW0_AUDIO0_TX; - break; - case ACP_AUDIO1_TX_THRESHOLD: - stream_id = ACP63_SDW0_AUDIO1_TX; - break; - case ACP_AUDIO2_TX_THRESHOLD: - stream_id = ACP63_SDW0_AUDIO2_TX; - break; - case ACP_AUDIO0_RX_THRESHOLD: - stream_id = ACP63_SDW0_AUDIO0_RX; - break; - case ACP_AUDIO1_RX_THRESHOLD: - stream_id = ACP63_SDW0_AUDIO1_RX; - break; - case ACP_AUDIO2_RX_THRESHOLD: - stream_id = ACP63_SDW0_AUDIO2_RX; - break; - } - - adata->acp63_sdw0_dma_intr_stat[stream_id] = 1; - sdw_dma_irq_flag = 1; - } - } - } - - if (ext_intr_stat1 & ACP63_P1_AUDIO1_RX_THRESHOLD) { - writel(ACP63_P1_AUDIO1_RX_THRESHOLD, - adata->acp63_base + ACP_EXTERNAL_INTR_STAT1); - adata->acp63_sdw1_dma_intr_stat[ACP63_SDW1_AUDIO1_RX] = 1; - sdw_dma_irq_flag = 1; - } - - if (ext_intr_stat1 & ACP63_P1_AUDIO1_TX_THRESHOLD) { - writel(ACP63_P1_AUDIO1_TX_THRESHOLD, - adata->acp63_base + ACP_EXTERNAL_INTR_STAT1); - adata->acp63_sdw1_dma_intr_stat[ACP63_SDW1_AUDIO1_TX] = 1; - sdw_dma_irq_flag = 1; - } + sdw_dma_irq_flag = check_and_handle_sdw_dma_irq(adata, ext_intr_stat, ext_intr_stat1); if (sdw_dma_irq_flag) return IRQ_WAKE_THREAD; From patchwork Fri Feb 7 06:28:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863022 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id F3369C02192 for ; Fri, 7 Feb 2025 06:31:58 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 4553A60234; Fri, 7 Feb 2025 07:31:47 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 4553A60234 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738909917; bh=bLm2nzMcBRusshRXnixjmcHoTovXmabnCNUfJpvh2/s=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=m+R3XV1Tb8kUwzlB4FOL9WL3U9WNkIkOZgfGuJT5vlO03TDdGfE8/Tv8wkQlaoKtn i29D5M3cFuwGEY8Fxady41WGMA6FL1nGmCiQgrHez1P8s8DlB4Pjwiv0JFam01P/uv lggLQyAVOY6DgTHpTd4bTYrNd06rUW0gtJaKP1PI= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 58F10F806FC; Fri, 7 Feb 2025 07:29:35 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 58EEFF806FC; Fri, 7 Feb 2025 07:29:35 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 490B2F806A2; Fri, 7 Feb 2025 07:29:20 +0100 (CET) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2060e.outbound.protection.outlook.com [IPv6:2a01:111:f403:2417::60e]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id D1E8DF800ED for ; Fri, 7 Feb 2025 07:29:14 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz D1E8DF800ED Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=iTmHBC2T ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WmDQ/eTDta3/+m4Yai0kjCvqgV9P7Wl2m5AiI1aGUTiUwx2S0g2s2gU8XjI5tt7U1XY+HBTDb0WjHDsG5GCWat0uGzTGOWvZrXIjQdrkIAaFLRQSB2YqkccWOaE8D7c3YxoSKwwpzrjUgvAYAQNJLGf3Ms02hDPxirYd40y+MMH6LnhRC20hKw+/297pQuzTxuJjsuIu2ttFdEQHu8D+NnW65agR/dRK3wH9jxBcICed+YSpZL8Eq/sbiuioBsRL1AtNqQ1X/KAMeMndBGZXR6CFaE2G5RfcEOmvW/AZiM7qreN3Nhlf1Ahf3rDNnWcutXYEsk8kkE4muSE5ZQtzjw== 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=kEXai2j6rE+VXmKAlMAmGdR+0AA2qGgBxwJDX6OWCkc=; b=mVZSVK1eU3m2ytDlu4YqlNGjNuNnV89CtsPQ8JhwectSqQOc0dYWmu3eKHO/4hYgIXVDA697/5n7+SHEFEP2ol9mRBlXl1HRGFnhdx7/Qupmpuq//24+0ICl3AblLIo/8/secPjA1we09cMdqCY1r7Nvn0TOEATgBI7Bveu6sg0ieQ9Hj4H+WG/Xsb6GFHUCzO1lCDSKXwuKEwTKcBWq2omu9aZZGMeAAg99gU3zrayeBHII1MvFWulUTLF7p8BYVHjktGTXPEo5wPyvtj4rGx7BqqIBp1roEDMFnwZfnw8E02s5OTe9KnhSJ1wkt+w0zORZSzpy2VcIMRjV++6YSQ== 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=kEXai2j6rE+VXmKAlMAmGdR+0AA2qGgBxwJDX6OWCkc=; b=iTmHBC2TiARH1coyb69edQOQUoN3lga6L5+vmenUb094tzFdwwc0Emn0Spssx6wnBDecU6XuxMxVpmsJhwrPtYR5h1lS11CwYAVS6YpuA5pmxaBuduYXzijncgszsya9IoMFMOwm9+DNLkuIarq3WReJjC0zyIePVhTwE/PlbKA= Received: from MN2PR19CA0019.namprd19.prod.outlook.com (2603:10b6:208:178::32) by MW6PR12MB8663.namprd12.prod.outlook.com (2603:10b6:303:240::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.26; Fri, 7 Feb 2025 06:29:09 +0000 Received: from BN3PEPF0000B075.namprd04.prod.outlook.com (2603:10b6:208:178:cafe::30) by MN2PR19CA0019.outlook.office365.com (2603:10b6:208:178::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:29: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 BN3PEPF0000B075.mail.protection.outlook.com (10.167.243.120) 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:29: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:29:03 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 08/25] ASoC: amd: ps: store acp revision id in SoundWire dma driver private data Date: Fri, 7 Feb 2025 11:58:02 +0530 Message-ID: <20250207062819.1527184-9-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: BN3PEPF0000B075:EE_|MW6PR12MB8663:EE_ X-MS-Office365-Filtering-Correlation-Id: db9cb580-882a-48e0-2f5a-08dd4740baac X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|36860700013|1800799024|376014; X-Microsoft-Antispam-Message-Info: wm5LrFR0djG2dwNXhcJfZlNorLllgg+tIQCalwvBzz0lW1Z/UneRXwKxgnJ8h0pyZp1GUMLQQVzy4Ew7kj2lIBQpH4GDygRoMI0K+qyG2wwGU8xc40tUYo+3AcU4Au/IgLuMwO7BaJZnyrcgTrIRWbbI0E8TU6plr74WyjxgB1RRx0/OF0DSa96IQcX9oKcOyLfim8oGTCOi/Li5MoQ/R+/ObmpyffFrAnWXmDZBDe08T79HRdSL8uaw7l2BalupwmB3ZCw/jlqqgHJvUgr7XOzRb7VnuUwto8Urqhnl5lppqYGCH0GeIfAqvDKa6LKCKcR83bejP6dGphNN80aR0BQGRRCT083R+8Y/es7JITtLqpmOo+hkFKAxWfuOzKemUvBAk7TjCyD3Fw9mObqwbzRhb7/L2KjDro0UFtIkcl8cET4IHOUEqE+whDkeq3fdXTlYReIzzofbz/a8X156oTwsQtSdHFc2gk3QTA6bg4EoEEydeaxcBE4C97dghvDtGovnEWeTBEUt7guthvqdtDNaod5/6Nh8vywIOq1XSG/BaTcWdGu3QlOWJpk49azl5u82bn1wwQZi/8LKl5yJ/f0Zy6/V4RjbpMb0LqoThfrt42xbT4yestKJMkvEtaokZ69Pe/1+xh52lo12p49vGcRj1+/SukKhrEcbq42cJjscywt1ZbzVfGv+W5u5/6ukR03jiP5AFJWxJCVDI0pRv9ChTrtLZ+i7uTNsOpPiLD3BZUuZVPEKw0E/htUGzCV0PNLPWNR2uC0qGPX0MIVpO+1W3CnuvU3OZeFUlgtks+OHGNI8oDeGa6wOpGZswSGq9fUfJ3/r4sJRFbdqPUzlnw1rrVQsLS0onV4O4C9t8CFx/IPSfIBrAOVRVLqftANJNUVgOEKB8X7BRz2cnr0/w1JS1T2lPO1nzaNoRx63zCM9yVZlPdrfIjSFHA2ML0HmO9aqvXSxcJezwBH/mInBbEg0qNYhBXbheke1/9IcbqQwcfAvCWOav7h11iK7ZajECspDOmS3usz7WT9Y0xxxBoNbItwK7qG829xjFqscHQr7TtmuT4YGcgSOr04SoWJMMxDAvgy8DwK5dyyGQBertk50gx0XEiS55O0+05sWCfZ6P5jWhW8SzfVWCSqVzSTaItUy4Poy1j9kLXLCLLTDZfC7r9yHT7ye/x72Qyiz/iMJ4hdwJV9nSqPE4yUHKDyR/31GjBBG9hQ5WFlF1wyQmMjP5+htWWJaXsMVQKCjGTPrF1UX2JpT4QWWXznKERvWjZqiF6PXIVKXFDQjoKBhFvP4czVM/8bH8fbvJnodBSrlRcJRIkPeybuep5xI2QheUT50btPjgMg9wbcyrXawbydQ97F5PvGv7c4EZb2MbLl+J0s/w5oSH3EOFJP0fcq+KxSSk/rn2dz6nYwOAYyHpu8II2+DOrIQOE7+bBCfil9pcZ7o01CzOcbQP/hRGVs6U4dj4IWr9K4FBDYaSJRaQFxnjgIgETMOyw7FPpbKfcA= 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)(82310400026)(36860700013)(1800799024)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:29:09.1178 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: db9cb580-882a-48e0-2f5a-08dd4740baac 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: BN3PEPF0000B075.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8663 Message-ID-Hash: IP5PXS34GWXTRIOWMFY6UYG2BBU7BCLK X-Message-ID-Hash: IP5PXS34GWXTRIOWMFY6UYG2BBU7BCLK X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Store acp pci revision id in SoundWire dma driver private data structure. It will be used to distinguish platform specific code. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/ps/acp63.h | 1 + sound/soc/amd/ps/ps-sdw-dma.c | 1 + 2 files changed, 2 insertions(+) diff --git a/sound/soc/amd/ps/acp63.h b/sound/soc/amd/ps/acp63.h index 9a20846d30ff..098597d92bf9 100644 --- a/sound/soc/amd/ps/acp63.h +++ b/sound/soc/amd/ps/acp63.h @@ -183,6 +183,7 @@ struct pdm_dev_data { struct sdw_dma_dev_data { void __iomem *acp_base; struct mutex *acp_lock; /* used to protect acp common register access */ + u32 acp_rev; struct snd_pcm_substream *acp63_sdw0_dma_stream[ACP63_SDW0_DMA_MAX_STREAMS]; struct snd_pcm_substream *acp63_sdw1_dma_stream[ACP63_SDW1_DMA_MAX_STREAMS]; }; diff --git a/sound/soc/amd/ps/ps-sdw-dma.c b/sound/soc/amd/ps/ps-sdw-dma.c index 878683619a05..b3c716371d15 100644 --- a/sound/soc/amd/ps/ps-sdw-dma.c +++ b/sound/soc/amd/ps/ps-sdw-dma.c @@ -474,6 +474,7 @@ static int acp63_sdw_platform_probe(struct platform_device *pdev) return -ENOMEM; sdw_data->acp_lock = &acp_data->acp_lock; + sdw_data->acp_rev = acp_data->acp_rev; dev_set_drvdata(&pdev->dev, sdw_data); status = devm_snd_soc_register_component(&pdev->dev, &acp63_sdw_component, From patchwork Fri Feb 7 06:28:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863021 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CD620C02192 for ; Fri, 7 Feb 2025 06:32:28 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 16D1D60215; Fri, 7 Feb 2025 07:32:17 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 16D1D60215 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738909947; bh=rAaBrQiaI9YIVDkfqOYJLhaWj9RG+DU8DhhzcumiehE=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=Rz/cG5Xpvo2obUQWAYVsdkUr5HvtJYvrrVX8mXO8KEX+YNxgzwp81ajSW96tBC5t8 fKT0Ucue6XLcF4RPeROGGwoG17bVRwFykOOSTct3B9M/y2qF64Re/OAvi5KhP387W0 4+mnxq/mrxsrpuaO2Ea07Hz97snJtSlVVJ6BEutI= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 1B11DF80792; Fri, 7 Feb 2025 07:29:39 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 77E9DF80787; Fri, 7 Feb 2025 07:29:39 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id EA0B5F806AC; Fri, 7 Feb 2025 07:29:23 +0100 (CET) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on20606.outbound.protection.outlook.com [IPv6:2a01:111:f403:2415::606]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 59023F806AC for ; Fri, 7 Feb 2025 07:29:16 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 59023F806AC Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=ecXR/Wos ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WyDZ8sk47+K0aPJv3ayGxiXZlPsOPyiZgGn/DWnlbIOdhy0BtKk3PG0d13S6sl4BerGp0/ObFpgvBr0i9cAuFFxI9noKQd6gAlyTHWk9wVIVa1g3GaQDeDnw+/9CJ3BN4O1/4Rvx54whYyX/F7QBIZDinU2iSByOw/ygjAG3wrhNFJSMPXLjmMlwI2oBKImt44JOVd+TiRolh/JsyHpF6vtd6Dke4jgbb8IFrAqvwzau3KkglGgjzERCT7bUbRL3AENzdGoiV8EjshbkSzWnOOIKOBvTLh7vqCZyuoJ0RDz0MG7SKkDZ1e6rxyyQh84Xpk7248kHrTiJFGcGwmzjxA== 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=lfrTt0w9sITtXnJTEVMDBXbMt4BUTU4UtoIWFurEk4I=; b=wuWemh8PGxh/OckL48Py4IMKleEUD9i/waLsx7Q9ncQ8cMq+nIXMVMmt0xPLQI4qJ/xSoCt8o4S8zrAhKM9rBveXfM7mvEy8mFSE/Lj0zfavxJTh8YPuqVd0igZICrEWX2DlQUz8WaXmM1WenO2JJSAK5t61r84iBYiiWck43s45NX76LGf3FHL1I1HQ73ZXIXs3dkGXPjWWemGAZfRQZt3xRHaKix3GxsJS8uToMbLP9Y+1dIibet0H2ciJ/LFYypIHIVPTr/cTx/r6zLvj3lOdfbWYPsvW9IpdGj3JsT0CEZM8AiZ1pf9PbhplGAWXOXxYSSRmsOmQS6+iUiFXaA== 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=lfrTt0w9sITtXnJTEVMDBXbMt4BUTU4UtoIWFurEk4I=; b=ecXR/WosOuJ9STkhVe/ypsRPd7kE8N8s7peC6j4Ztv/ddxVdujuloFXQT3twGh0M2BvDEB4uPGt/R3HuObzDcK6Oo0pMVEoAxr0Eq1BrB5JdNJ/d0eG/umHg12xm9LoduMpDjU0fJGZWoJ8sar4HnWojI1d7jHh9ahDBxmJMSaY= Received: from BN9PR03CA0137.namprd03.prod.outlook.com (2603:10b6:408:fe::22) by DM4PR12MB6012.namprd12.prod.outlook.com (2603:10b6:8:6c::5) 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:29:11 +0000 Received: from BN3PEPF0000B076.namprd04.prod.outlook.com (2603:10b6:408:fe:cafe::19) by BN9PR03CA0137.outlook.office365.com (2603:10b6:408:fe::22) 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:29: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 BN3PEPF0000B076.mail.protection.outlook.com (10.167.243.121) 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:29:11 +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:06 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 09/25] ASoC: amd: ps: refactor soundwire dma driver code Date: Fri, 7 Feb 2025 11:58:03 +0530 Message-ID: <20250207062819.1527184-10-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: BN3PEPF0000B076:EE_|DM4PR12MB6012:EE_ X-MS-Office365-Filtering-Correlation-Id: ffb03179-5dba-4b07-e68a-08dd4740bbd7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|376014|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: pyzziuoPgaqLaVpnnqxK4jg9ifAwiUsiILDqpCILknIKVPHJh/YGagReGSiRqipa4TO0yAxc9597RTiOoasvhF9+TTzzneKNQ/J0zqdPmkCgPUcLrgyfZ7pF8tWDyE15E0xqadQ9XovPOzyNZ6j9T2720bcbz9H6Yf96Ko0SMdj+nekvHSzavsJaxlI74uxl5nmW2LdCtvIPg7EMuXM1tBwNo9eh6aEi5FtJk/f/h34eryRNQe/fRydy6JtS5XdPDUPDNwkq0ympOvxz/JBR9H3w1tXFBTD5gecteuvvfCWyjxNhgvAWHzapDwiphY8pnhqOJhouZrO4RnZpkiPwb8jh50ej+X69KEUyLMe76gFbKycHu1PrTT3Sa55xaZHk9QmSnxqi/cAh/hDaub6sx9XWvp0gHseyBa4uZ01qhTdIWOKZ+EJpQWCmh9ussrW/M67ympXQvA3xB8JPIinAMc4ZJxhMT7IhAqZeVTHB0WQpjK8KVwOIaH/7k3L6wILsJyeXb48bw+Z7bGpDZTxgj0YCCJSHejkN8CGIXzuvE9NnQa1QgYNkYAfK+x+8hEND/WGCDfBsFhYkfaMk4o32ePSiT5iz6qwaeg59pL6E9FJ6mMOGkR/ZGk8y8N+BGEuN8ztGIEybwLa4NIj+V0M2vveTF3I3r1e6x/ZAVgHznLI94fD+HUG4pLDvfX0DN1k5lS/qBKAFZVCpAzdtsxjjFHRVsE9PfPO8w+Au8yel+828l0Xan4fJhN/y03xy7CueN0jW8l5lnkEmRECjs8ZB2/FqhRYFSxfte50LDNRBQo0UGG6L8/SNVgFzk7R3V1YnWWQUIrOs8AuDqM8TPQyglYIk3DsepKB/s/P/ThR50hBkv/VDtvusYntgkysUVdoMewDy+TDsUgVpmEDMt1Tl4EhLbMbMCAsB2VWWptSvoGUchrkLKEmv7pWdDudnw1rgp/T4iMSDKPuvWeBFW24uAUGoH0k8n+mP6AexcEThDiDKar+verthPfKy6PFcbqcD7uYXFpxjNQqPZYFe89nmL9+8NkwE94rW/KcFtuaeRJm2YBzeTaCrVFFy/QqsCRsk6VGYAPkAKMW9RCNFmgOB1sPlBtkjIDXN40WbwPnwtYpE+IBgoiV5X+Mj+hy/5UC8Ai8URR8BmbFihAQma1M1FDgY3tMOSEPiwFUE9ppyCzs4rtGmnNc69F2pzJMxkTNjKe2UzIdEDDKkhoSKntDGVBEpjuYuT+lH1BXrYskmn2GMPf527qIiLsz+hD6g9i8Og93IKmu7KmSjcetg2vux+SHhSPq1z/oFvK+osacc2/wTdCR93SedXvTpHurHisI+XSWkJ5cxuq7v2ouucLRs3h04ORG7nKqbYAgQdf+xYOeEzuTbR5wbDVsdoH0X284BEm8hXJ4CYY6gI8Oxo+QzTLi95bdM3dNpDeL/+uroAo1zbhWV00DiQEhwJGCLpCc+fx9gBf4BVZsi470vu/xqLw== 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)(82310400026)(376014)(36860700013)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:29:11.0821 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ffb03179-5dba-4b07-e68a-08dd4740bbd7 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: BN3PEPF0000B076.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6012 Message-ID-Hash: IAO4LYEZE5KA5R7R6H54SVUTMDLREZX7 X-Message-ID-Hash: IAO4LYEZE5KA5R7R6H54SVUTMDLREZX7 X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Refactor existing SoundWire dma driver code by adding acp_rev check for ACP6.3 platform. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/ps/ps-sdw-dma.c | 146 +++++++++++++++++++++------------- 1 file changed, 89 insertions(+), 57 deletions(-) diff --git a/sound/soc/amd/ps/ps-sdw-dma.c b/sound/soc/amd/ps/ps-sdw-dma.c index b3c716371d15..d10950e1cf73 100644 --- a/sound/soc/amd/ps/ps-sdw-dma.c +++ b/sound/soc/amd/ps/ps-sdw-dma.c @@ -167,7 +167,7 @@ static void acp63_config_dma(struct acp_sdw_dma_stream *stream, void __iomem *ac } static int acp63_configure_sdw_ringbuffer(void __iomem *acp_base, u32 stream_id, u32 size, - u32 manager_instance) + u32 manager_instance, u32 acp_rev) { u32 reg_dma_size; u32 reg_fifo_addr; @@ -180,20 +180,26 @@ static int acp63_configure_sdw_ringbuffer(void __iomem *acp_base, u32 stream_id, u32 sdw_ring_buf_size; u32 sdw_mem_window_offset; - switch (manager_instance) { - case ACP_SDW0: - reg_dma_size = acp63_sdw0_dma_reg[stream_id].reg_dma_size; - reg_fifo_addr = acp63_sdw0_dma_reg[stream_id].reg_fifo_addr; - reg_fifo_size = acp63_sdw0_dma_reg[stream_id].reg_fifo_size; - reg_ring_buf_size = acp63_sdw0_dma_reg[stream_id].reg_ring_buf_size; - reg_ring_buf_addr = acp63_sdw0_dma_reg[stream_id].reg_ring_buf_addr; - break; - case ACP_SDW1: - reg_dma_size = acp63_sdw1_dma_reg[stream_id].reg_dma_size; - reg_fifo_addr = acp63_sdw1_dma_reg[stream_id].reg_fifo_addr; - reg_fifo_size = acp63_sdw1_dma_reg[stream_id].reg_fifo_size; - reg_ring_buf_size = acp63_sdw1_dma_reg[stream_id].reg_ring_buf_size; - reg_ring_buf_addr = acp63_sdw1_dma_reg[stream_id].reg_ring_buf_addr; + switch (acp_rev) { + case ACP63_PCI_REV: + switch (manager_instance) { + case ACP_SDW0: + reg_dma_size = acp63_sdw0_dma_reg[stream_id].reg_dma_size; + reg_fifo_addr = acp63_sdw0_dma_reg[stream_id].reg_fifo_addr; + reg_fifo_size = acp63_sdw0_dma_reg[stream_id].reg_fifo_size; + reg_ring_buf_size = acp63_sdw0_dma_reg[stream_id].reg_ring_buf_size; + reg_ring_buf_addr = acp63_sdw0_dma_reg[stream_id].reg_ring_buf_addr; + break; + case ACP_SDW1: + reg_dma_size = acp63_sdw1_dma_reg[stream_id].reg_dma_size; + reg_fifo_addr = acp63_sdw1_dma_reg[stream_id].reg_fifo_addr; + reg_fifo_size = acp63_sdw1_dma_reg[stream_id].reg_fifo_size; + reg_ring_buf_size = acp63_sdw1_dma_reg[stream_id].reg_ring_buf_size; + reg_ring_buf_addr = acp63_sdw1_dma_reg[stream_id].reg_ring_buf_addr; + break; + default: + return -EINVAL; + } break; default: return -EINVAL; @@ -265,21 +271,27 @@ static int acp63_sdw_dma_hw_params(struct snd_soc_component *component, if (!stream) return -EINVAL; stream_id = stream->stream_id; - switch (stream->instance) { - case ACP_SDW0: - sdw_data->acp63_sdw0_dma_stream[stream_id] = substream; - water_mark_size_reg = acp63_sdw0_dma_reg[stream_id].water_mark_size_reg; - acp_ext_intr_cntl_reg = ACP_EXTERNAL_INTR_CNTL; - if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) - irq_mask = BIT(ACP63_SDW0_DMA_TX_IRQ_MASK(stream_id)); - else - irq_mask = BIT(ACP63_SDW0_DMA_RX_IRQ_MASK(stream_id)); - break; - case ACP_SDW1: - sdw_data->acp63_sdw1_dma_stream[stream_id] = substream; - acp_ext_intr_cntl_reg = ACP_EXTERNAL_INTR_CNTL1; - water_mark_size_reg = acp63_sdw1_dma_reg[stream_id].water_mark_size_reg; - irq_mask = BIT(ACP63_SDW1_DMA_IRQ_MASK(stream_id)); + switch (sdw_data->acp_rev) { + case ACP63_PCI_REV: + switch (stream->instance) { + case ACP_SDW0: + sdw_data->acp63_sdw0_dma_stream[stream_id] = substream; + water_mark_size_reg = acp63_sdw0_dma_reg[stream_id].water_mark_size_reg; + acp_ext_intr_cntl_reg = ACP_EXTERNAL_INTR_CNTL; + if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) + irq_mask = BIT(ACP63_SDW0_DMA_TX_IRQ_MASK(stream_id)); + else + irq_mask = BIT(ACP63_SDW0_DMA_RX_IRQ_MASK(stream_id)); + break; + case ACP_SDW1: + sdw_data->acp63_sdw1_dma_stream[stream_id] = substream; + acp_ext_intr_cntl_reg = ACP_EXTERNAL_INTR_CNTL1; + water_mark_size_reg = acp63_sdw1_dma_reg[stream_id].water_mark_size_reg; + irq_mask = BIT(ACP63_SDW1_DMA_IRQ_MASK(stream_id)); + break; + default: + return -EINVAL; + } break; default: return -EINVAL; @@ -290,7 +302,7 @@ static int acp63_sdw_dma_hw_params(struct snd_soc_component *component, stream->num_pages = (PAGE_ALIGN(size) >> PAGE_SHIFT); acp63_config_dma(stream, sdw_data->acp_base, stream_id); ret = acp63_configure_sdw_ringbuffer(sdw_data->acp_base, stream_id, size, - stream->instance); + stream->instance, sdw_data->acp_rev); if (ret) { dev_err(component->dev, "Invalid DMA channel\n"); return -EINVAL; @@ -302,20 +314,27 @@ static int acp63_sdw_dma_hw_params(struct snd_soc_component *component, return 0; } -static u64 acp63_sdw_get_byte_count(struct acp_sdw_dma_stream *stream, void __iomem *acp_base) +static u64 acp63_sdw_get_byte_count(struct acp_sdw_dma_stream *stream, void __iomem *acp_base, + u32 acp_rev) { union acp_sdw_dma_count byte_count; u32 pos_low_reg, pos_high_reg; byte_count.bytescount = 0; - switch (stream->instance) { - case ACP_SDW0: - pos_low_reg = acp63_sdw0_dma_reg[stream->stream_id].pos_low_reg; - pos_high_reg = acp63_sdw0_dma_reg[stream->stream_id].pos_high_reg; - break; - case ACP_SDW1: - pos_low_reg = acp63_sdw1_dma_reg[stream->stream_id].pos_low_reg; - pos_high_reg = acp63_sdw1_dma_reg[stream->stream_id].pos_high_reg; + switch (acp_rev) { + case ACP63_PCI_REV: + switch (stream->instance) { + case ACP_SDW0: + pos_low_reg = acp63_sdw0_dma_reg[stream->stream_id].pos_low_reg; + pos_high_reg = acp63_sdw0_dma_reg[stream->stream_id].pos_high_reg; + break; + case ACP_SDW1: + pos_low_reg = acp63_sdw1_dma_reg[stream->stream_id].pos_low_reg; + pos_high_reg = acp63_sdw1_dma_reg[stream->stream_id].pos_high_reg; + break; + default: + goto POINTER_RETURN_BYTES; + } break; default: goto POINTER_RETURN_BYTES; @@ -340,7 +359,7 @@ static snd_pcm_uframes_t acp63_sdw_dma_pointer(struct snd_soc_component *comp, stream = substream->runtime->private_data; buffersize = frames_to_bytes(substream->runtime, substream->runtime->buffer_size); - bytescount = acp63_sdw_get_byte_count(stream, sdw_data->acp_base); + bytescount = acp63_sdw_get_byte_count(stream, sdw_data->acp_base, sdw_data->acp_rev); if (bytescount > stream->bytescount) bytescount -= stream->bytescount; pos = do_div(bytescount, buffersize); @@ -367,12 +386,18 @@ static int acp63_sdw_dma_close(struct snd_soc_component *component, stream = substream->runtime->private_data; if (!stream) return -EINVAL; - switch (stream->instance) { - case ACP_SDW0: - sdw_data->acp63_sdw0_dma_stream[stream->stream_id] = NULL; - break; - case ACP_SDW1: - sdw_data->acp63_sdw1_dma_stream[stream->stream_id] = NULL; + switch (sdw_data->acp_rev) { + case ACP63_PCI_REV: + switch (stream->instance) { + case ACP_SDW0: + sdw_data->acp63_sdw0_dma_stream[stream->stream_id] = NULL; + break; + case ACP_SDW1: + sdw_data->acp63_sdw1_dma_stream[stream->stream_id] = NULL; + break; + default: + return -EINVAL; + } break; default: return -EINVAL; @@ -382,7 +407,7 @@ static int acp63_sdw_dma_close(struct snd_soc_component *component, } static int acp63_sdw_dma_enable(struct snd_pcm_substream *substream, - void __iomem *acp_base, bool sdw_dma_enable) + void __iomem *acp_base, u32 acp_rev, bool sdw_dma_enable) { struct acp_sdw_dma_stream *stream; u32 stream_id; @@ -393,12 +418,18 @@ static int acp63_sdw_dma_enable(struct snd_pcm_substream *substream, stream = substream->runtime->private_data; stream_id = stream->stream_id; - switch (stream->instance) { - case ACP_SDW0: - sdw_dma_en_reg = acp63_sdw0_dma_enable_reg[stream_id]; - break; - case ACP_SDW1: - sdw_dma_en_reg = acp63_sdw1_dma_enable_reg[stream_id]; + switch (acp_rev) { + case ACP63_PCI_REV: + switch (stream->instance) { + case ACP_SDW0: + sdw_dma_en_reg = acp63_sdw0_dma_enable_reg[stream_id]; + break; + case ACP_SDW1: + sdw_dma_en_reg = acp63_sdw1_dma_enable_reg[stream_id]; + break; + default: + return -EINVAL; + } break; default: return -EINVAL; @@ -422,12 +453,12 @@ static int acp63_sdw_dma_trigger(struct snd_soc_component *comp, case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: case SNDRV_PCM_TRIGGER_RESUME: - ret = acp63_sdw_dma_enable(substream, sdw_data->acp_base, true); + ret = acp63_sdw_dma_enable(substream, sdw_data->acp_base, sdw_data->acp_rev, true); break; case SNDRV_PCM_TRIGGER_PAUSE_PUSH: case SNDRV_PCM_TRIGGER_SUSPEND: case SNDRV_PCM_TRIGGER_STOP: - ret = acp63_sdw_dma_enable(substream, sdw_data->acp_base, false); + ret = acp63_sdw_dma_enable(substream, sdw_data->acp_base, sdw_data->acp_rev, false); break; default: ret = -EINVAL; @@ -527,7 +558,8 @@ static int acp_restore_sdw_dma_config(struct sdw_dma_dev_data *sdw_data) buf_size = frames_to_bytes(runtime, runtime->buffer_size); acp63_config_dma(stream, sdw_data->acp_base, index); ret = acp63_configure_sdw_ringbuffer(sdw_data->acp_base, index, - buf_size, instance); + buf_size, instance, + ACP63_PCI_REV); if (ret) return ret; writel(period_bytes, sdw_data->acp_base + water_mark_size_reg); From patchwork Fri Feb 7 06:28:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863888 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0DEE0C02196 for ; Fri, 7 Feb 2025 06:32:12 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 7256E60220; Fri, 7 Feb 2025 07:32:00 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 7256E60220 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738909930; bh=rY4A/84orgBjBkrqR8C6sz2WtwUPdbPpTnQ9iB6zZks=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=jdwQAIKF01kL+8CVfwZPDFM0xU8a9evKf1O1ZTmll53wy5zmJJu1rvu5hL2PmQEVl QEoshE3eQ2CECSc6vi18sfN7Qgfv6kG6ctsbubT06k2tXWia+N/I7ZMgd4MaG65gvv IeiybGr6CpdBiMV9MFl0cL4nodJDV/jf5CXmijAY= Received: by alsa1.perex.cz (Postfix, from userid 50401) id CD174F805E7; Fri, 7 Feb 2025 07:29:38 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 0BC69F8073C; Fri, 7 Feb 2025 07:29:38 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 30255F806B4; Fri, 7 Feb 2025 07:29:24 +0100 (CET) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on20618.outbound.protection.outlook.com [IPv6:2a01:111:f403:2414::618]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id A30E3F806A6 for ; Fri, 7 Feb 2025 07:29:20 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz A30E3F806A6 Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=FUdImphQ ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eyyepGFimPWObSKn2R5TQfVcCX9Dak2lTIMlST7CeBp1E9h3t0t3CnYx7mEiiTtWxekM8XsV+Tetn1k2wUK0PH5x2YDYOCdSOJRL7UjISVyfXd61THoGsy7RavlZQtqIfJxGGfpyG7KoEomY27QOYGngHAUHYlPWdJBG1QuXn0VOvd4gsC25+oxI8GPMFf6DaQOfrL6u8bhyxetWBtBS1qCewgb1UnHI/k5LlK1imhI7pRcvsDNjYaPg5MCgAsd7kWbVsA/MBxWZG5gs4WHBWZjRFRmAbEBEDBQSXwS9OKuVlzQO/UyFMGfNvR/j57LJT3pvMnXhba82G9fA/8K/vA== 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=JoREM7Lw+Quo47aw0Ekp4pGJWW3N2hlbQ+19QYT7KtY=; b=hqdf+qVTZ4j8vnbPp+CFRtIq7QHm4F84sefMBmIP9zS1AFH/RrFVB0h/k0r7iz7OEm701SLxbob5haaEwO/yhP+mP8XDmTa3/qZMeV0NLeBxVr3T3UrtItZWGP8bovqhol/gnr9CliICjN1c40vU3GRRUrRHa2yBYrdN/wk+6lFYDXIVKhm+1YbDdqAeuvFwKQC8Z/390IonDaUEPc24IrxhizOLPEQ3XS+XRhRybWhgZ7PkCFJ4nCdgG01v/I0v/YrnNPGCKtYFfGL31fMTpRl8iINqe1vWRpn0XcHTh0603/1AymprvpWnGnWOsVvEqQW01uWSc+5EDRjWLjE3VA== 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=JoREM7Lw+Quo47aw0Ekp4pGJWW3N2hlbQ+19QYT7KtY=; b=FUdImphQCb+F/CAVkD61wvwHawNpkFpdgah8zgajnTbgXVI9JqyTGsW95XLNTHu6fXGEjSJ+n4sWIAA+Z4WfO0C+n1RTFlkthhc9Qh1I9qCvdtUloLq6QlmJ3BzTXlk7wdXVOTY9FbM0eMhVzuu+shLuTVCojOyw2czJT7JVHPs= Received: from BYAPR06CA0058.namprd06.prod.outlook.com (2603:10b6:a03:14b::35) by SJ2PR12MB8034.namprd12.prod.outlook.com (2603:10b6:a03:4cb::8) 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:29:17 +0000 Received: from SJ1PEPF000023DA.namprd21.prod.outlook.com (2603:10b6:a03:14b:cafe::8c) by BYAPR06CA0058.outlook.office365.com (2603:10b6:a03:14b::35) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.28 via Frontend Transport; Fri, 7 Feb 2025 06:29: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 SJ1PEPF000023DA.mail.protection.outlook.com (10.167.244.75) 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:16 +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:10 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 10/25] ASoC: amd: ps: refactor soundwire dma interrupts enable/disable sequence Date: Fri, 7 Feb 2025 11:58:04 +0530 Message-ID: <20250207062819.1527184-11-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: SJ1PEPF000023DA:EE_|SJ2PR12MB8034:EE_ X-MS-Office365-Filtering-Correlation-Id: d553cb14-63b4-4cba-d36b-08dd4740bf47 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: hFvtd0Vex2i1J6cnGwGoRuUW5sO7uYFuxl2OKDzNRxnuPxSSrTW4W76MHLQOyC6Ig0RaaMDBwz4TDnZC4lz/JRR07+LCcj0+rnFjdJY8SRzah/70bS7swYCPMnxa5aICd2Bm1zFKKzCEzE5B8WzZkU7BjIg8aFxPh+ottH8ExqL3Tp1qKB0tx0lFx1zoC8yix8MaK5iS5fjEMg+BVGLAHqiaYjOWygJQRk7y+fKhZnurV4dbLgK4ItB093y93WJY0ro6U24XSWXEzxNhxYq1E8n3C+WirYEbUd0seuXb+DSW80mRQPjxEQR0ASZ3tZ6t2z7pnJr4lSjreHvI2ZR0Zod6GcugB9mCHuxx5qi43PFFHGZYTB3z9DNkxPFfyUBFfk4gX/esELhqsiRpc/k59As98tdewSuxGmPFJp5FJLrxCVHOsd/8XytkEk5si1pRtY80GWu9pnwAlb7S0b3C5sT+C3mCyXgUL3ia/dEsi6HaSfno4EToJ5ruXZcIlTQXHOB5tnHz1o6g9UWCcESDT8s1yz6NWSziWEWnVqGHJAjCtdMYMOXEdjzXuZiP5EaDQKeL/H2TENyLlQC2sAldQ0FABEdZT8Ke0tDaa6+GZG2h6hJ+MWaPuiAshjOu6Bz+OEwK0EDU+PC8ozvKfw22FfEZsfwR/3IByFUaEUPgvhZ67QK63iB2zZV1xhe1WW4C/lnjHfjnL8KPSz3lARbxfNqjvGQAGwHgbnb+jy/P5tNE7TeLIKxGlbrQAOjmlfySReL4Sluh3qp29Rda+bd3ViU2sS6R0IOWdXMX7xE81ScNOs0JlolslR2toxjLLYBXruo9NwTwFTi6DOWdrXpIqpVvYew5ZYq8Ur0TvJWwAV0K5I5gGhCwobr19Gnlb5VFb3+7akhHQZ7SHs+hgIaiOpXiRCz3BMq5vMnEUBdUDs5bZTqdkvz08zpQmyeQ0wbw12iDdDCKbjKH5b9ueFtC1hkjYeCKE+iZH8wlE7I2aQFdOwvmTQbV/o4n9Gu8yKSUJcvCXoJuJHzhQu5q2LS6bIpAIX2bSCQAakBzcDy2zmLVuJZnzSf19RBxCZei98FnwdtPcYJORo5Ec6wUwR4BV88BIs1ueQzkeHeaq0nrcrWitvdl+pqnse+nArcmBLOSuuqrLh3DeuQraJySbjIlxuv2utzcJaEM132mpQ9Ry/L5cs/BpQtpjZpq8VxM+P5UUANXZBl+m1S8UM8OLJ6zuOpzf+OgvN5Kd8njUNctfUgPFE68PLXC3jHnHrXqWGlQx8xRmet+PkMcIfrkwxT8CqZGku1vsCmTGUf6XZRyPljrlz6zIn/MONOlmnP+xgAAE+rBvFAQfy0lcEtS3QAGV8IkzAhkDBC59ZJJTACauqADd6SgDbDzJiRqwX+5tmmziBoidZYrAoNvSXAQK0f1eOpWiGyZlNvqWzBZXrYYD9rdUDCVedkIUQyZ+F3kyWknJKEXwjM6QttIEh3vECI1g5CJi3OiNMRqCFkGskogXtg= 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:29:16.7549 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d553cb14-63b4-4cba-d36b-08dd4740bf47 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: SJ1PEPF000023DA.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8034 Message-ID-Hash: IH3KWZLHQA2WL7VFVFQXVIPA76NZ32PP X-Message-ID-Hash: IH3KWZLHQA2WL7VFVFQXVIPA76NZ32PP X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Refactor SoundWire dma interrupts enable/disable sequence by passing interrupt mask values as an arguments. This will allow to use same function for enabling/disabling SoundWire dma interrupts for different platforms. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/ps/ps-sdw-dma.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/sound/soc/amd/ps/ps-sdw-dma.c b/sound/soc/amd/ps/ps-sdw-dma.c index d10950e1cf73..674203a20338 100644 --- a/sound/soc/amd/ps/ps-sdw-dma.c +++ b/sound/soc/amd/ps/ps-sdw-dma.c @@ -114,11 +114,10 @@ static const struct snd_pcm_hardware acp63_sdw_hardware_capture = { .periods_max = SDW_CAPTURE_MAX_NUM_PERIODS, }; -static void acp63_enable_disable_sdw_dma_interrupts(void __iomem *acp_base, bool enable) +static void acp63_enable_disable_sdw_dma_interrupts(void __iomem *acp_base, u32 irq_mask, + u32 irq_mask1, bool enable) { u32 ext_intr_cntl, ext_intr_cntl1; - u32 irq_mask = ACP63_SDW_DMA_IRQ_MASK; - u32 irq_mask1 = ACP63_P1_SDW_DMA_IRQ_MASK; if (enable) { ext_intr_cntl = readl(acp_base + ACP_EXTERNAL_INTR_CNTL); @@ -533,9 +532,11 @@ static int acp_restore_sdw_dma_config(struct sdw_dma_dev_data *sdw_data) struct snd_pcm_substream *substream; struct snd_pcm_runtime *runtime; u32 period_bytes, buf_size, water_mark_size_reg; - u32 stream_count; + u32 stream_count, irq_mask, irq_mask1; int index, instance, ret; + irq_mask = ACP63_SDW_DMA_IRQ_MASK; + irq_mask1 = ACP63_P1_SDW_DMA_IRQ_MASK; for (instance = 0; instance < AMD_SDW_MAX_MANAGERS; instance++) { if (instance == ACP_SDW0) stream_count = ACP63_SDW0_DMA_MAX_STREAMS; @@ -566,7 +567,7 @@ static int acp_restore_sdw_dma_config(struct sdw_dma_dev_data *sdw_data) } } } - acp63_enable_disable_sdw_dma_interrupts(sdw_data->acp_base, true); + acp63_enable_disable_sdw_dma_interrupts(sdw_data->acp_base, irq_mask, irq_mask1, true); return 0; } From patchwork Fri Feb 7 06:28:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863887 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D0F25C02192 for ; Fri, 7 Feb 2025 06:32:50 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id EE6D260219; Fri, 7 Feb 2025 07:32:38 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz EE6D260219 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738909969; bh=1Xddzs6W1ZUcaQJzdNb/rdp6PGZpSYAw6rKAZ/t25bw=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=A/lOuXa1IPVEjMnEuGQgsLPrWA+Us0eIcGOuug804470e0WYVRuqE46A1EdG6d6Qg vhPsNLrCfu0ypKDlqoEcGphQlTk2gHOSDDd2HXGy1BJ2x7dFzQvLwfw5VQGpBQTAvv 08PLCwLcuCG/o3Rc76ewi4jVrhVf1PBjQ1SgHWgw= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 7517BF80808; Fri, 7 Feb 2025 07:29:44 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 3B44EF80803; Fri, 7 Feb 2025 07:29:44 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 223D3F806B3; Fri, 7 Feb 2025 07:29:28 +0100 (CET) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on20630.outbound.protection.outlook.com [IPv6:2a01:111:f403:2413::630]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 9A466F806AA for ; Fri, 7 Feb 2025 07:29:25 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 9A466F806AA Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=Htrlp62S ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uPL+Lq1Id94cZ3A97HbO51gtPjbeDLaCG3NHQPFZ3CvEV5uey0bBOtfFo5jRimQim4AJBPfaAKwFvKt/GH7Ub3Z4+unxW1sAzxPdZDdgDMJyN8psev66IwOI2FNpNuw5aj9yvAASlEyCpG6pgldsyRXUR+RayrDC642C3CZdKFeSRZtM0yWBd0RTmxBvB2wzPd7/yPEZZZcNaCCT+hSwC7ibLBbdqGTOUPyz3YsWjhhkwKubhgDBJaytHCx1wGNl2bV8buI0mD07WjipQklT/70Lze6CVvY7nQiyPpqANpXeobzc9HOzUaV1dGNeLoo8ZY7AdxIatq4pgokN3L61WQ== 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=VuK/hXtqxSGfxj0cES1kGPR3w7ngS1JQ3IMBJ2s6/ws=; b=B66xE0UvZ0iCSkli2XJsByG+D8GNINQvek5XefcVaS3mwdZ94XD/cJ91KdvPCbC0flwFuAl1DjCXnXO9iNfUUw7wJGWVui/QL0R8TWmTCRg9HvOdsfbHHO7gPEUk1zJLTay8autuUo9ROAvnYpkDPa4NtLCWlQI859abx//O+hueElnpNuX3vIYndl9jQ/S4yS0RiM0cSgnvhYPe9M5uQWbx+k6klxgqweSguMndej4WryCxNLi7wbnUFGpCmeGgg5ohJW+8xt4snpwTDosXtzP735Z/rb0835/Gz7hQSySnEsZUc0xhQgmwwDxNOidBdHAX6L/tM9Qqw/tdx9E0zw== 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=VuK/hXtqxSGfxj0cES1kGPR3w7ngS1JQ3IMBJ2s6/ws=; b=Htrlp62SfVZs2C2pf/aqQaZN7aSX3C7z0i09puYb6c8uOr3jgjP3oP2AKvfTh9SlGnpCRvzKafN2FNa+uGWylZgsmLXYA+6rGDk/BZ3QYlL9lGIbNZfKORd2UU3Dvd4tG1LS0tluD+0RJtkptHAamLVylNNsFW/78PoxM5sSJ1o= Received: from BYAPR06CA0059.namprd06.prod.outlook.com (2603:10b6:a03:14b::36) by DS0PR12MB7630.namprd12.prod.outlook.com (2603:10b6:8:11d::6) 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:21 +0000 Received: from SJ1PEPF000023DA.namprd21.prod.outlook.com (2603:10b6:a03:14b:cafe::14) by BYAPR06CA0059.outlook.office365.com (2603:10b6:a03:14b::36) 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: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 SJ1PEPF000023DA.mail.protection.outlook.com (10.167.244.75) 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: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:29:14 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 11/25] ASoC: amd: ps: rename acp_restore_sdw_dma_config() function Date: Fri, 7 Feb 2025 11:58:05 +0530 Message-ID: <20250207062819.1527184-12-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: SJ1PEPF000023DA:EE_|DS0PR12MB7630:EE_ X-MS-Office365-Filtering-Correlation-Id: d6dce464-7c42-4195-2af8-08dd4740c1c9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|376014|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: hLl7eJI77GjOTPV+zS9IDjtrorOMaoWJkLfKC7JAA1xk8JR2xSOWuRXxy9BL9ZpFJperXJ2fyC1wmQKEbJn2kUhL3uwc78BgFGHCLanCiRq84ShY3NMu4+IgN/HSyLFdPtcxxk06NkpHfs7Ef1DLAEsfOZMM+4WCw/OfyW/ivaFc+rhaDXCsB7rObsujo8Nv85iGHDLYG3pbve2GXQ0Em2N7xr0MhbLOOgXGEAjk4UCwrSq+O2kWXTcYdrJ/6PIDiguJiSpbmC9clw9wXto8yx/btwQ2QaTfo/a31vq6wl++ANX+37Ual17af3LK95nJrmprrOTPbDDEqXZb/JO/hrFp0sJq9BBN03x0rmLH6035Lcw1RkseuW7Jz0O1nDcUBp9v6uN3Zyj6n2f9Knc5BgdXpyqgG0BW0Yg69O6TIc/hUXaXOGGyxvKDTrH5to8B+PikIlkL3YgnJnXkuK2wZREq9MerGaWftDguPMTjdz7LB69WospEo4MkxGT/Zm0gYM60g5zef21KFYjfkFYNfF8G4hMekQMGg6MbeS7feEZS+1FVBtPvSVfWTBiwQXqGF7Pn0SHpbjRNDrFsnGneGg4Cto2NAInAiWAbQW+8YTpDQ3L/jZrSEIxg3Exdi/xnjh3tvYI/Zj09HqhccjsPFJLpiUzJ5FxU0Duj6soTMrgLWqED0tfAkSHZMxH7CLtMgDerkVqFohjrisSxLv1Yu8rMIUWhiMQAtwEZPdeiOlkpnnsKJ1cCMhZ0AcF0DoAA93z18yVM7Vvx1c/SZdWk9PL/t6FzqaaATbiUyEprgjC/4rAkCLAUvjTQ/eW44JXrlCKvAn6AHmWmgNguz74tPs8ZN6e1veWuxIy5STjDKVdLM7JPGKIgQCcWuhCkgH1kEcdhOza37v50NO4B1JG6H8oXIKcgMGvDE3gadPYoCrOPQdP9jlNlPO3mHL5Qa8gmtolZ7ZcO8imDcmcP65JpQCsUP+hPTeywYRGhbRjgthqD9eglnnSruw0UfpWl0iSmwY5JEaUm+jgZJFbCvbv3bWpRuVt21I+SSqQzQR6rI7wqgRF1TjQxaMv9gPZDZPliy6R2DiQ6jAiCg/z5YXLnp58xsSTKqO0tQFxXf3pUNq89ZsjA8ILlfAdx9HuGNaSklGjpcltm81sc6wXErI+14/M1EkVBszwCDpAD2qbI3IBphPILVWfA5xRDFMwj6wf6hxVQzumOpil4b6kH0FFTiV/YOcs2EeMu9vk2MEOStFg0k/EZTrC+in3XQ1mc6h8PL6VOhmd90fNozuyV+VHHyPAGExVsI3YoCR2Pm8M9BHXpT07iriKgQPLK+kYdGbsUHFXogjBfiyb27pB/1QaqpFvif6bYBlbmcJAa1gAn95MugLvGOdDtAy3390MhsCyqKf6GuJjoJ/HFS4j4mHrHLhuRqEeoCKHv+8Dvg02FVev3VBEnbElGlFrGT2ykJGbM68D2YS7xiP5gDR8J/puANQie3iL6dgtKCdVPb+NS1dY= 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)(82310400026)(376014)(36860700013)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:29:20.9425 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d6dce464-7c42-4195-2af8-08dd4740c1c9 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: SJ1PEPF000023DA.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7630 Message-ID-Hash: F7E5GKU35MVFYLVIAPUCHGDCJLWYVDGI X-Message-ID-Hash: F7E5GKU35MVFYLVIAPUCHGDCJLWYVDGI X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Rename acp_restore_sdw_dma_config() as acp63_restore_sdw_dma_config() which is specific to ACP6.3 platform. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/ps/ps-sdw-dma.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sound/soc/amd/ps/ps-sdw-dma.c b/sound/soc/amd/ps/ps-sdw-dma.c index 674203a20338..7cd153a4edc9 100644 --- a/sound/soc/amd/ps/ps-sdw-dma.c +++ b/sound/soc/amd/ps/ps-sdw-dma.c @@ -526,7 +526,7 @@ static void acp63_sdw_platform_remove(struct platform_device *pdev) pm_runtime_disable(&pdev->dev); } -static int acp_restore_sdw_dma_config(struct sdw_dma_dev_data *sdw_data) +static int acp63_restore_sdw_dma_config(struct sdw_dma_dev_data *sdw_data) { struct acp_sdw_dma_stream *stream; struct snd_pcm_substream *substream; @@ -576,7 +576,7 @@ static int __maybe_unused acp63_sdw_pcm_resume(struct device *dev) struct sdw_dma_dev_data *sdw_data; sdw_data = dev_get_drvdata(dev); - return acp_restore_sdw_dma_config(sdw_data); + return acp63_restore_sdw_dma_config(sdw_data); } static const struct dev_pm_ops acp63_pm_ops = { From patchwork Fri Feb 7 06:28:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863020 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1F451C02192 for ; Fri, 7 Feb 2025 06:33:09 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 883B860240; Fri, 7 Feb 2025 07:32:56 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 883B860240 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738909986; bh=niT1sOYMxrrkYHJDp3mh+xhqYQ0/cfug//Qg8mCmQzs=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=pcEAjK2aVs4/+Y/WKIAVrOvME/VDvrJ6jqH2kzXUjpp45tEB9AH2qLKSXExn3NtxC oYaZm1uGm5xEJ58YWLF9bUTs/WglceK5fC4z0JM1J1FPtHSKwAqridO8IJ9gL0KTmH Wk24u2LLEJ7sG+ZI+wDbOBteMLI/PSiGsrDisMH8= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 6F612F8085C; Fri, 7 Feb 2025 07:29:45 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 3C662F8086C; Fri, 7 Feb 2025 07:29:45 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 98232F806DF; Fri, 7 Feb 2025 07:29:34 +0100 (CET) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2062b.outbound.protection.outlook.com [IPv6:2a01:111:f403:2009::62b]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 95A78F805BA for ; Fri, 7 Feb 2025 07:29:29 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 95A78F805BA Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=Rn7RJRXY ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=flM4lQWABYKoJIEbbHHjxNhTK6cg73b01Vch2l/aKPUF2Q2yuKtgTU7BZ5gs6YnzxybjGWnI8G/pNHjjO8JlM2MJGDGqA4sj9kYZBQIUBgdoZ6qw8x1ubmS/QBhht4qT19vJOymo/sBKZM3f/Y8Qy0NdYyDlE8TcvZjv6Dy/XmYDNRdRS8i+mhjcR+fulA9WJIE/MpOspmaNX4XI986ZHPTPa6zFclsW0B2f+CDiQMYaZIxAYyv75IO5F7B8xVS6ea5QwdSy9ddhyi366M0GolqbAqXxKVOSWTjO4mLLPVMC0nnkO6PIoopTyJp7gY+wlLitKBdBbrovZDjEJv0YSg== 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=becwH0gojfQkVgOzX9CKvUeF4J3+9v6jiIkj9qa7xh4=; b=Bz+R2XXQt+dvFhiRSbNVX2U2aGsg53zoNYKKkJRvUN3VdhvegCPf7+mHrwrR9lLLmbWu7z5ojzBEgVTerUdmG441eGS5dxno2iwSfWs+eTlbE7Bu7y4gYiqI9XpXf2WuTbtTbCMmVyK1kzOQ2W2iLFp0LI1h2stShNoyWLkA6OYC+nG7M9d7fMpJxGDneuzyBaVAnxYOUK0GrvXzE9Fqm+zwh3q3VE57P20wgRRMUj1r+D1//ePShhxgC3A4PFzRhSHvEyvwnXh5GO3O96iZhdcvBcGZOU56vFMMK9OiQioImfY4EBLU50gzOL8rGzVOcbm3pm/7aDzeVPhZTJiXLg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=temperror (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=temperror 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=becwH0gojfQkVgOzX9CKvUeF4J3+9v6jiIkj9qa7xh4=; b=Rn7RJRXYNv50qSFTlrtSRsBxBrqwQ+hsF/ZHezXeuFyy9VsGCK2kFLDlTCG+zyfaG+YGBrIN3LDJk32ZwqlUGkzJerh0ZNQAtjmQ4qVpkU4ZFzPbRGfot92CV0JGwQo9Vn0iuh5sIudJkGaEkO1KQ9N8h8+Py8RcuHH3BiPUB5Q= Received: from PH7P223CA0022.NAMP223.PROD.OUTLOOK.COM (2603:10b6:510:338::14) by PH7PR12MB9223.namprd12.prod.outlook.com (2603:10b6:510:2f2::18) 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:29:25 +0000 Received: from SJ1PEPF000023D4.namprd21.prod.outlook.com (2603:10b6:510:338:cafe::ab) by PH7P223CA0022.outlook.office365.com (2603:10b6:510:338::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.28 via Frontend Transport; Fri, 7 Feb 2025 06:29:25 +0000 X-MS-Exchange-Authentication-Results: spf=temperror (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=temperror action=none header.from=amd.com; Received-SPF: TempError (protection.outlook.com: error in processing during lookup of amd.com: DNS Timeout) Received: from SATLEXMB04.amd.com (165.204.84.17) by SJ1PEPF000023D4.mail.protection.outlook.com (10.167.244.69) 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:24 +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:18 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 12/25] ASoC: amd: ps: add pci driver hw_ops for ACP7.0 & ACP7.1 variants Date: Fri, 7 Feb 2025 11:58:06 +0530 Message-ID: <20250207062819.1527184-13-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: SJ1PEPF000023D4:EE_|PH7PR12MB9223:EE_ X-MS-Office365-Filtering-Correlation-Id: 8b0e455e-d938-4ace-afce-08dd4740c3b3 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: chYsCTlkd0414xCD9frFmstY/ODl0U59NvWjh/GH8VY+z+y129Z54kgfkPSdFwF9ApYPHhKqB/1zONdFodIMygIVkdCn+ofWxGJaOF7dAW0zVVJB8X3PfWIKVVN7JWwagLpCjoJjMddukwPsEps47vs1RuPe0rsqgDWX60SqlgVDCcWfMQn6CW8nMUIRHfhIN2ZOCfHpdMK0+j9thjVDyFb+jmtbf1cYdBW4haodvbWbt3CeGk7+8/tsv03cRibs04G6QUQRISdJN+8w5zv8HsRSVMJSJE5PfqWSqgh1XGBEHawFqQbmaL7Y9Xej82FGGsgLd6nylCvJ7Ox/peVvkUCt2yUzqMar/5Rts55zUEz7W103s4wYuRfPz7FhHCw6HaSHQeqBqJbf44nLgP21VMDfOqUKakygtMElluMfKnhqX8tEsS/t8cGaGzOxtZwTxjjd4LxjzBcNTNaTMm6F4esR688l/S6VQ3DZMaivOYKQB5m8BUyrnbdytZ+jKSpefXmn5MM4ckpNLAYUW4LT01HA2Mqd3SJpdyMeiFS9mOO6iu7TLSAn4cezDWBQQYIRn0oVy35BEtEuXON0wgvdlJThneKF8Edq3EZ/pmZFV8nHNSBf0Ah1aKijl3maXQRDdczbKW2pTk//sPgOYFrP9QDSI0I3Sd+44823R6lKjyWBz8zy9wLjOXlyLeGEUWDcKOK7juR1TmpSwXslIwZNmP6nQIV1sd9HuUh36V8UkMToZRnd3sM6TDckQMp8gBp6IynoS7tMfm8fVlpgp5m4g0KwgSXi6VhLlQudBpQJeXmD53V8xxVLRNWNNd2H3oBTxJXCuXDbocpXkQQ25eFKCmA/5Hn5O6voedCMb2gbFpTjbpa7WL4KVXPVSBCu02FxfrhiKYi3LWVnzGrSj5SXG4kKmMMa6MZ0R0gzuRn8nAaVgGn7vhqvS1WG85f9tFM9P2eYsm6INW63cciujS+A9T9gbfJ9+oMsJ7hBQzVMk9xYliHXkGkxZs0IBMOAlQaDsUSWPWdg58zl0xMpx2hK4Eo0XMJOIcvGgNfjLdeEI5aP1PM6aSSliV/n9id+0mgBeRe+i9igcHTeeg5+oi06BXNrA/nVhKub9Vds1NDRuFWzbAixOe6RASwpcULSXcy2spNRYYJNiC1DN9t7kvWjLPIhtHHfNOpAaoInU4mea7AF/JI7aI0MykL7eHTRALlxIAwUwHLR+/h7vflw0sfLmEBSF0dfdrsg+mPMliIBIdrznMUadWANq4x85hLi8nX1se0h3Ee46CYfFujT3b+wm9/lDH/ma+AxuRpn/B7hr921ZmYz1c0CaueP1yL6VH1nP7+wQV/ahFSuHtC7swa35GR0dqKrdgQCbYc4YLIUwM6Dj/iEhvJ4VfjMMqKaBODfMg94lLHzkeDQO49sC+IQ1d4En8Duh3VLMMnp7GUiPRYUHWpndEX+9wMf65Dy/snD1dMpXi7VX2jwfmO0CnqGwLb7BuoITNDpS1cj4eQ3lVQ= 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:29:24.1728 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8b0e455e-d938-4ace-afce-08dd4740c3b3 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: SJ1PEPF000023D4.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9223 Message-ID-Hash: OAO5YQDBUCZYKRI6XSLBTWIG7LEJPPLO X-Message-ID-Hash: OAO5YQDBUCZYKRI6XSLBTWIG7LEJPPLO X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Add below ACP pci driver hw_ops for ACP7.0 & ACP7.1 variants. - acp_init() - acp_deinit() - acp_get_config() Signed-off-by: Vijendar Mukunda --- sound/soc/amd/ps/acp63.h | 14 ++++ sound/soc/amd/ps/pci-ps.c | 10 ++- sound/soc/amd/ps/ps-common.c | 138 +++++++++++++++++++++++++++++++++++ 3 files changed, 160 insertions(+), 2 deletions(-) diff --git a/sound/soc/amd/ps/acp63.h b/sound/soc/amd/ps/acp63.h index 098597d92bf9..f65f242211e9 100644 --- a/sound/soc/amd/ps/acp63.h +++ b/sound/soc/amd/ps/acp63.h @@ -12,6 +12,8 @@ #define ACP63_REG_START 0x1240000 #define ACP63_REG_END 0x125C000 #define ACP63_PCI_REV 0x63 +#define ACP70_PCI_REV 0x70 +#define ACP71_PCI_REV 0x71 #define ACP_SOFT_RESET_SOFTRESET_AUDDONE_MASK 0x00010001 #define ACP63_PGFSM_CNTL_POWER_ON_MASK 1 @@ -132,6 +134,12 @@ #define ACP_HW_OPS(acp_data, cb) ((acp_data)->hw_ops->cb) +#define ACP70_PGFSM_CNTL_POWER_ON_MASK 0x1F +#define ACP70_PGFSM_CNTL_POWER_OFF_MASK 0 +#define ACP70_PGFSM_STATUS_MASK 0xFF +#define ACP70_TIMEOUT 2000 +#define ACP70_SDW_HOST_WAKE_MASK 0x0C00000 + enum acp_config { ACP_CONFIG_0 = 0, ACP_CONFIG_1, @@ -149,6 +157,11 @@ enum acp_config { ACP_CONFIG_13, ACP_CONFIG_14, ACP_CONFIG_15, + ACP_CONFIG_16, + ACP_CONFIG_17, + ACP_CONFIG_18, + ACP_CONFIG_19, + ACP_CONFIG_20, }; enum amd_acp63_sdw0_channel { @@ -293,6 +306,7 @@ struct acp63_dev_data { }; void acp63_hw_init_ops(struct acp_hw_ops *hw_ops); +void acp70_hw_init_ops(struct acp_hw_ops *hw_ops); static inline int acp_hw_init(struct acp63_dev_data *adata, struct device *dev) { diff --git a/sound/soc/amd/ps/pci-ps.c b/sound/soc/amd/ps/pci-ps.c index 04b43b4128bc..8f73d2ce2197 100644 --- a/sound/soc/amd/ps/pci-ps.c +++ b/sound/soc/amd/ps/pci-ps.c @@ -438,6 +438,10 @@ static int acp_hw_init_ops(struct acp63_dev_data *adata, struct pci_dev *pci) case ACP63_PCI_REV: acp63_hw_init_ops(adata->hw_ops); break; + case ACP70_PCI_REV: + case ACP71_PCI_REV: + acp70_hw_init_ops(adata->hw_ops); + break; default: dev_err(&pci->dev, "ACP device not found\n"); return -ENODEV; @@ -460,12 +464,14 @@ static int snd_acp63_probe(struct pci_dev *pci, if (flag) return -ENODEV; - /* Pink Sardine device check */ + /* ACP PCI revision id check for ACP6.3, ACP7.0 & ACP7.1 platforms */ switch (pci->revision) { case ACP63_PCI_REV: + case ACP70_PCI_REV: + case ACP71_PCI_REV: break; default: - dev_dbg(&pci->dev, "acp63 pci device not found\n"); + dev_dbg(&pci->dev, "acp63/acp70/acp71 pci device not found\n"); return -ENODEV; } if (pci_enable_device(pci)) { diff --git a/sound/soc/amd/ps/ps-common.c b/sound/soc/amd/ps/ps-common.c index 9098974b3608..a15284bde48d 100644 --- a/sound/soc/amd/ps/ps-common.c +++ b/sound/soc/amd/ps/ps-common.c @@ -246,3 +246,141 @@ void acp63_hw_init_ops(struct acp_hw_ops *hw_ops) hw_ops->acp_suspend_runtime = snd_acp63_suspend; hw_ops->acp_resume_runtime = snd_acp63_runtime_resume; } + +static int acp70_power_on(void __iomem *acp_base) +{ + u32 val = 0; + + val = readl(acp_base + ACP_PGFSM_STATUS); + + if (!val) + return 0; + if (val & ACP70_PGFSM_STATUS_MASK) + writel(ACP70_PGFSM_CNTL_POWER_ON_MASK, acp_base + ACP_PGFSM_CONTROL); + + return readl_poll_timeout(acp_base + ACP_PGFSM_STATUS, val, !val, DELAY_US, ACP70_TIMEOUT); +} + +static int acp70_reset(void __iomem *acp_base) +{ + u32 val; + int ret; + + writel(1, acp_base + ACP_SOFT_RESET); + + ret = readl_poll_timeout(acp_base + ACP_SOFT_RESET, val, + val & ACP_SOFT_RESET_SOFTRESET_AUDDONE_MASK, + DELAY_US, ACP70_TIMEOUT); + if (ret) + return ret; + + writel(0, acp_base + ACP_SOFT_RESET); + + return readl_poll_timeout(acp_base + ACP_SOFT_RESET, val, !val, DELAY_US, ACP70_TIMEOUT); +} + +static void acp70_enable_sdw_host_wake_interrupts(void __iomem *acp_base) +{ + u32 ext_intr_cntl1; + + ext_intr_cntl1 = readl(acp_base + ACP_EXTERNAL_INTR_CNTL1); + ext_intr_cntl1 |= ACP70_SDW_HOST_WAKE_MASK; + writel(ext_intr_cntl1, acp_base + ACP_EXTERNAL_INTR_CNTL1); +} + +static void acp70_enable_interrupts(void __iomem *acp_base) +{ + u32 sdw0_wake_en, sdw1_wake_en; + + writel(1, acp_base + ACP_EXTERNAL_INTR_ENB); + writel(ACP_ERROR_IRQ, acp_base + ACP_EXTERNAL_INTR_CNTL); + sdw0_wake_en = readl(acp_base + ACP_SW0_WAKE_EN); + sdw1_wake_en = readl(acp_base + ACP_SW1_WAKE_EN); + if (sdw0_wake_en || sdw1_wake_en) + acp70_enable_sdw_host_wake_interrupts(acp_base); +} + +static void acp70_disable_interrupts(void __iomem *acp_base) +{ + writel(ACP_EXT_INTR_STAT_CLEAR_MASK, acp_base + ACP_EXTERNAL_INTR_STAT); + writel(0, acp_base + ACP_EXTERNAL_INTR_CNTL); + writel(0, acp_base + ACP_EXTERNAL_INTR_ENB); +} + +static int acp70_init(void __iomem *acp_base, struct device *dev) +{ + int ret; + + ret = acp70_power_on(acp_base); + if (ret) { + dev_err(dev, "ACP power on failed\n"); + return ret; + } + writel(0x01, acp_base + ACP_CONTROL); + ret = acp70_reset(acp_base); + if (ret) { + dev_err(dev, "ACP reset failed\n"); + return ret; + } + writel(0, acp_base + ACP_ZSC_DSP_CTRL); + acp70_enable_interrupts(acp_base); + writel(0x1, acp_base + ACP_PME_EN); + return 0; +} + +static int acp70_deinit(void __iomem *acp_base, struct device *dev) +{ + int ret; + + acp70_disable_interrupts(acp_base); + ret = acp70_reset(acp_base); + if (ret) { + dev_err(dev, "ACP reset failed\n"); + return ret; + } + writel(0x01, acp_base + ACP_ZSC_DSP_CTRL); + return 0; +} + +static void acp70_get_config(struct pci_dev *pci, struct acp63_dev_data *acp_data) +{ + u32 config; + + config = readl(acp_data->acp63_base + ACP_PIN_CONFIG); + dev_dbg(&pci->dev, "ACP config value: %d\n", config); + switch (config) { + case ACP_CONFIG_4: + case ACP_CONFIG_5: + case ACP_CONFIG_10: + case ACP_CONFIG_11: + case ACP_CONFIG_20: + acp_data->is_pdm_config = true; + break; + case ACP_CONFIG_2: + case ACP_CONFIG_3: + case ACP_CONFIG_16: + acp_data->is_sdw_config = true; + break; + case ACP_CONFIG_6: + case ACP_CONFIG_7: + case ACP_CONFIG_12: + case ACP_CONFIG_8: + case ACP_CONFIG_13: + case ACP_CONFIG_14: + case ACP_CONFIG_17: + case ACP_CONFIG_18: + case ACP_CONFIG_19: + acp_data->is_pdm_config = true; + acp_data->is_sdw_config = true; + break; + default: + break; + } +} + +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; +} 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: "Mukunda,Vijendar" X-Patchwork-Id: 863886 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 81C7BC02192 for ; Fri, 7 Feb 2025 06:33:23 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 8FDBC6022A; Fri, 7 Feb 2025 07:33:11 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 8FDBC6022A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738910001; bh=TC7L+1CLAUwWm4rY7CAou7PTpAll00Kzw5D7XHVz9Os=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=E83vMAlgajrGpzpYm/ZlYkmbI/1+U7hmdw2Bhf1eeDzLYyyNEVp/MF35rXzKPoAKq m5rXv9Bd5zKLoCDOctVO/qRaLUr7MIMHNyyziztZkUAJkgRT38TCk4CWoA3V6VRv1z 7iiCFgsI0iml33dvv16NNR8z8OpEMo67H45gA/Gc= Received: by alsa1.perex.cz (Postfix, from userid 50401) id D2F6BF808CB; Fri, 7 Feb 2025 07:29:48 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 93A09F80C07; Fri, 7 Feb 2025 07:29:48 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 789DEF80735; Fri, 7 Feb 2025 07:29:37 +0100 (CET) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on20608.outbound.protection.outlook.com [IPv6:2a01:111:f403:2416::608]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id BF7E3F806E5 for ; Fri, 7 Feb 2025 07:29:33 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz BF7E3F806E5 Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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 Message-ID-Hash: QO7OSQZEY3HKEIBR46UOJLNIXBN436TE X-Message-ID-Hash: QO7OSQZEY3HKEIBR46UOJLNIXBN436TE X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: 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; } From patchwork Fri Feb 7 06:28:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863019 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DE32BC02192 for ; Fri, 7 Feb 2025 06:33:44 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 7E77D60269; Fri, 7 Feb 2025 07:33:32 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 7E77D60269 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738910022; bh=PKWaoiZWN7rBc1IwzZt9eHQWyO//rbxQQcnm4dOjSTY=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=hm2F+s+w0McPC60lnH4MC9ImgRlbLzm5F9Uz5og8lZlRgSapartedMn/LUdGsRkqC Q/zQaSwkKJzOTyWhQFZuV68v39ZJ1zohPsTJXT+jA0zVxEYuGSFcNmHf9/9gJdDAwp FjdUiSblKz02H2/INsRXuiiSgG4PyK1goXsPt12M= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 6EA2DF805FB; Fri, 7 Feb 2025 07:30:16 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 1D565F80600; Fri, 7 Feb 2025 07:30:16 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 5A048F805E8; Fri, 7 Feb 2025 07:30:11 +0100 (CET) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on20612.outbound.protection.outlook.com [IPv6:2a01:111:f403:2417::612]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 3852AF805E4 for ; Fri, 7 Feb 2025 07:30:08 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 3852AF805E4 Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=KeDxVM8K ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bNYEUNupT4GdrUa9sqJoQZHtrYq/Tv49NrqaUlDTfBZGYJzXcDnfCd+LjxRu3vXv27HBAug7EBcl0NLcsMgeDIZdt65l28jrdB6lrqb9b3Rik2soP3DQYzUdQVLobQIMZDI+Fw9CwLCpW3MaH/eBuEfiEaKmWPuRCXGrUw69ZFSOfCZhqu6kDM/YvtycbDIPs42woXBcwf/q0QdcjHkFx08GvCr+G6YS8/W0Zz0I8Aun4rKU0cNK8T9btdSh19w+PFJH3jDzkbBjf94dImdU5MiwMy5W1zx9PPzoYa3xcnLkJRFXSTzSU+9TvIu+pu/aOgHzYS0CTch5dX7E999LkQ== 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=HIuBGknZOxnM9om7Uij7FTIko+jOt0gSH0vpBzcWqio=; b=m8RUjU5h9jv9fUuWzLiPXsHDCuMr9qNllkz7wnpah9B2CLnIgr+mUTKC/n9bLwxMPkQbjSIVjMvf0CP7gbNE9jJmus4roAegsTqDRdGrLs1iNn6MmTLx34G4prq8eAwAixoPUaTG7ZjeEIl5wbRLXEi5rYSmYp0lhtmcBVoIU5YOP10HXDUAT9mWNIxvAb6k4iHQPA9pWNpJyBaKviiNuXJd8y7+kPo3ZUJNl2MmaA1BPcu+7WwDKOf+yRabnpRX6jZbnm5MLfBjMYgeqTIeW2wTw/q5nA+U5N+6FqRSzgVmZVql8eX9vrFcbOkLbhqnKRUPjHywvhA6lve7Et60LQ== 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=HIuBGknZOxnM9om7Uij7FTIko+jOt0gSH0vpBzcWqio=; b=KeDxVM8Kyq83jq4ex91Udu2lQOje87zqiXmnW5vkCzRZQAJgEHxXl7R8vYWxse7c0QI8SMZ+a148Zve/cvf/1voAmxRKMAEofLQaALEcib0LZBm4yN0v4uiDUWcQDPYNIKml9HmkqERAW5I+ZwBoq+dAQwXaKe5GQLilRVnIoH0= Received: from PH8PR07CA0044.namprd07.prod.outlook.com (2603:10b6:510:2cf::12) by SJ0PR12MB8168.namprd12.prod.outlook.com (2603:10b6:a03:4e7::6) 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:30:01 +0000 Received: from SJ1PEPF000023D9.namprd21.prod.outlook.com (2603:10b6:510:2cf:cafe::86) by PH8PR07CA0044.outlook.office365.com (2603:10b6:510:2cf::12) 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:30:00 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by SJ1PEPF000023D9.mail.protection.outlook.com (10.167.244.74) 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:30:00 +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:26 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 14/25] ASoC: amd: ps: add ACP7.0 & ACP7.1 specific soundwire dma driver changes Date: Fri, 7 Feb 2025 11:58:08 +0530 Message-ID: <20250207062819.1527184-15-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: SJ1PEPF000023D9:EE_|SJ0PR12MB8168:EE_ X-MS-Office365-Filtering-Correlation-Id: dce9e38f-5f64-414b-0674-08dd4740d93d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: rg8y1gsguwsfc1ryGI2O/tYyv4sxjkrM5zGPG/0oKXcpDcHXdsvtU92flPe846OtNVSanSYRtXb4RC4rYiiCxhSAn2nbjYkTZapHZNdsdNhQ5QYDJLmjSAHZaAJCZ2UFFU3m6tWEUzPLbtLVHYicdXLYq9OTI0CiqGp3iW08iM/cMUM8KuXbqg1+mKkDjtt/ce3hJ+DyqSdGM1a8l3N3YlDn0QOW7oIMBURjDWepFOdXeKArdszFH9wgHYp9GERSDFU/1st/sYkGOIrdaWXyJ3Jdit6+jzPUbm/3oD0pTqpykWQBdPeh6RwnNqeXMrv6GkLdKp/Vsx6O1rgZPGCT1V7XfxXrmjVGcDRcDZ3wBjlHftHBzoQ4+podalCLhdorxShjuQDBHiMqY9aUMAIuldHwF85ZQlmqyK6f9OyaeyUeq7gO8uiOsET/ngWpPWtKVSAjUx6ex2SiGCvPqPyls89iwvFOGrp7RjusJpE0RP5bCULQYvpAZY8Nj3YmD3jBBg4pTzrbuzY2Kv9l7b0WT2FFIi/NLog8Km8XxTVfwyWp6xoAnmOGMhE+V/U4we0CA8V4sUwvvrcL0r006b2A6Jwcs60D6UQol3WgPrZhxLJBHe5gUhQHFnejUYa6u9dXSErhEKsl87/wNLbiv0gw+e87S+FFw6sWta7R/vs5lZIEskvLAu+YzVrySVjqBC/cLp/78MmdOfHUsA67VJom9gk//osxzPzAHuVs/JRbaleEbrKqEc7PWf7O5PszltNzBDNhWqn5yq+9Syn+e4bp0qCk3RAHkT9GVgoFUHFejedDxkRzGGg9tKELNxVGs37+DB7L4srKxTzfYsTQs2Ss5l/ruL96Ok17gryC8FCShowxBHepjjmseH91ioAqAB13Sz0iqexHanfstNKzEklT+YYf0DXmZOgNoUvsil1gp39KIAxRfOD9bxlcekN+RLnlBt7AyDWGTbRksT5A2kqYjXG0afrNf5rype74g8wiz7kYd/yJKFbudRfgEIG65mbPt9ZsoAoWZRu3rS9025+5CSs+b/8IxS/M3blcwlAZEytfMwq+OfNTB81zjn/wWYbaZ9nq/Xvs2RrDVvE5Pfqqe12BHkS8gO4fxTqd03wdSqBiC7W+29OPyI0nW3JjbFB2MJFVLAujOmYODBeM8aMvM6aGewGXpnp77E867tkHgTVcZDwv6iZVbHXOpq4USFY3xA9FwQICnriQldIl/zCnbIGKNaKIx/lwmIVqt7rfY2cXxoh/lix6TtaRkMbCfM+lOLIERzJ5E3zahh/lsnkuVof45lbFjV9k5sVuLkNXCAfOFA0XgodY5dmyTFvSZEsF44ERSAIwJWEU+gQgZyynWhavrd4SqdHSDiAqbtXkMIc3VE0lmJQfBbcvlFCKOvCSCfuxmZ7HxW01mVYVaoohk1FREdNAZBe2yNdL0YATLOaPW0SSk+vn6QvmByHMldTHa6jStHZCbL6raJbUFsmleoaqC6APBDzJ8bfRS+PM3Sw= 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)(1800799024)(376014)(36860700013)(82310400026); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:30:00.3050 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dce9e38f-5f64-414b-0674-08dd4740d93d 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: SJ1PEPF000023D9.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB8168 Message-ID-Hash: Z4C3WTY6UDYYWF4C3UIB3H5KNCJ7PZR7 X-Message-ID-Hash: Z4C3WTY6UDYYWF4C3UIB3H5KNCJ7PZR7 X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Add SoundWire dma driver changes specific to ACP7.0 & ACP7.1 platforms. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/ps/acp63.h | 52 ++++++++++++ sound/soc/amd/ps/ps-sdw-dma.c | 154 ++++++++++++++++++++++++++++++++++ 2 files changed, 206 insertions(+) diff --git a/sound/soc/amd/ps/acp63.h b/sound/soc/amd/ps/acp63.h index f65f242211e9..4d197bb8271a 100644 --- a/sound/soc/amd/ps/acp63.h +++ b/sound/soc/amd/ps/acp63.h @@ -140,6 +140,47 @@ #define ACP70_TIMEOUT 2000 #define ACP70_SDW_HOST_WAKE_MASK 0x0C00000 +#define ACP70_SDW0_DMA_MAX_STREAMS 6 +#define ACP70_SDW1_DMA_MAX_STREAMS ACP70_SDW0_DMA_MAX_STREAMS + +#define ACP70_P1_AUDIO0_TX_THRESHOLD 0x8 +#define ACP70_P1_AUDIO1_TX_THRESHOLD 0x6 +#define ACP70_P1_AUDIO2_TX_THRESHOLD 0x4 +#define ACP70_P1_AUDIO0_RX_THRESHOLD 0x7 +#define ACP70_P1_AUDIO1_RX_THRESHOLD 0x5 +#define ACP70_P1_AUDIO2_RX_THRESHOLD 0x3 + +#define ACP70_SDW0_DMA_TX_IRQ_MASK(i) (ACP_AUDIO0_TX_THRESHOLD - (2 * (i))) +#define ACP70_SDW0_DMA_RX_IRQ_MASK(i) (ACP_AUDIO0_RX_THRESHOLD - (2 * ((i) - 3))) + +/* + * Below entries describes SDW1 instance DMA stream id and DMA irq bit mapping + * in ACP_EXTENAL_INTR_CNTL1 register for ACP70/ACP71 platforms + * Stream id IRQ Bit + * 0 (SDW1_AUDIO0_TX) 8 + * 1 (SDW1_AUDIO1_TX) 6 + * 2 (SDW1_AUDIO2_TX) 4 + * 3 (SDW1_AUDIO0_RX) 7 + * 4 (SDW1_AUDIO1_RX) 5 + * 5 (SDW1_AUDIO2_RX) 3 + */ +#define ACP70_SDW1_DMA_TX_IRQ_MASK(i) (ACP70_P1_AUDIO0_TX_THRESHOLD - (2 * (i))) +#define ACP70_SDW1_DMA_RX_IRQ_MASK(i) (ACP70_P1_AUDIO0_RX_THRESHOLD - (2 * ((i) - 3))) + +#define ACP70_SW0_AUDIO0_TX_EN ACP_SW0_AUDIO0_TX_EN +#define ACP70_SW0_AUDIO1_TX_EN ACP_SW0_AUDIO1_TX_EN +#define ACP70_SW0_AUDIO2_TX_EN ACP_SW0_AUDIO2_TX_EN +#define ACP70_SW0_AUDIO0_RX_EN ACP_SW0_AUDIO0_RX_EN +#define ACP70_SW0_AUDIO1_RX_EN ACP_SW0_AUDIO1_RX_EN +#define ACP70_SW0_AUDIO2_RX_EN ACP_SW0_AUDIO2_RX_EN + +#define ACP70_SW1_AUDIO0_TX_EN 0x0003C10 +#define ACP70_SW1_AUDIO1_TX_EN 0x0003C50 +#define ACP70_SW1_AUDIO2_TX_EN 0x0003C6C +#define ACP70_SW1_AUDIO0_RX_EN 0x0003C88 +#define ACP70_SW1_AUDIO1_RX_EN 0x0003D28 +#define ACP70_SW1_AUDIO2_RX_EN 0x0003D44 + enum acp_config { ACP_CONFIG_0 = 0, ACP_CONFIG_1, @@ -178,6 +219,15 @@ enum amd_acp63_sdw1_channel { ACP63_SDW1_AUDIO1_RX, }; +enum amd_acp70_sdw_channel { + ACP70_SDW_AUDIO0_TX = 0, + ACP70_SDW_AUDIO1_TX, + ACP70_SDW_AUDIO2_TX, + ACP70_SDW_AUDIO0_RX, + ACP70_SDW_AUDIO1_RX, + ACP70_SDW_AUDIO2_RX, +}; + struct pdm_stream_instance { u16 num_pages; u16 channels; @@ -199,6 +249,8 @@ struct sdw_dma_dev_data { u32 acp_rev; struct snd_pcm_substream *acp63_sdw0_dma_stream[ACP63_SDW0_DMA_MAX_STREAMS]; struct snd_pcm_substream *acp63_sdw1_dma_stream[ACP63_SDW1_DMA_MAX_STREAMS]; + struct snd_pcm_substream *acp70_sdw0_dma_stream[ACP70_SDW0_DMA_MAX_STREAMS]; + struct snd_pcm_substream *acp70_sdw1_dma_stream[ACP70_SDW1_DMA_MAX_STREAMS]; }; struct acp_sdw_dma_stream { diff --git a/sound/soc/amd/ps/ps-sdw-dma.c b/sound/soc/amd/ps/ps-sdw-dma.c index 7cd153a4edc9..2966244eb25e 100644 --- a/sound/soc/amd/ps/ps-sdw-dma.c +++ b/sound/soc/amd/ps/ps-sdw-dma.c @@ -75,6 +75,72 @@ static u32 acp63_sdw1_dma_enable_reg[ACP63_SDW1_DMA_MAX_STREAMS] = { ACP_SW1_AUDIO1_RX_EN, }; +static struct sdw_dma_ring_buf_reg acp70_sdw0_dma_reg[ACP70_SDW0_DMA_MAX_STREAMS] = { + {ACP_AUDIO0_TX_DMA_SIZE, ACP_AUDIO0_TX_FIFOADDR, ACP_AUDIO0_TX_FIFOSIZE, + ACP_AUDIO0_TX_RINGBUFSIZE, ACP_AUDIO0_TX_RINGBUFADDR, ACP_AUDIO0_TX_INTR_WATERMARK_SIZE, + ACP_AUDIO0_TX_LINEARPOSITIONCNTR_LOW, ACP_AUDIO0_TX_LINEARPOSITIONCNTR_HIGH}, + {ACP_AUDIO1_TX_DMA_SIZE, ACP_AUDIO1_TX_FIFOADDR, ACP_AUDIO1_TX_FIFOSIZE, + ACP_AUDIO1_TX_RINGBUFSIZE, ACP_AUDIO1_TX_RINGBUFADDR, ACP_AUDIO1_TX_INTR_WATERMARK_SIZE, + ACP_AUDIO1_TX_LINEARPOSITIONCNTR_LOW, ACP_AUDIO1_TX_LINEARPOSITIONCNTR_HIGH}, + {ACP_AUDIO2_TX_DMA_SIZE, ACP_AUDIO2_TX_FIFOADDR, ACP_AUDIO2_TX_FIFOSIZE, + ACP_AUDIO2_TX_RINGBUFSIZE, ACP_AUDIO2_TX_RINGBUFADDR, ACP_AUDIO2_TX_INTR_WATERMARK_SIZE, + ACP_AUDIO2_TX_LINEARPOSITIONCNTR_LOW, ACP_AUDIO2_TX_LINEARPOSITIONCNTR_HIGH}, + {ACP_AUDIO0_RX_DMA_SIZE, ACP_AUDIO0_RX_FIFOADDR, ACP_AUDIO0_RX_FIFOSIZE, + ACP_AUDIO0_RX_RINGBUFSIZE, ACP_AUDIO0_RX_RINGBUFADDR, ACP_AUDIO0_RX_INTR_WATERMARK_SIZE, + ACP_AUDIO0_RX_LINEARPOSITIONCNTR_LOW, ACP_AUDIO0_RX_LINEARPOSITIONCNTR_HIGH}, + {ACP_AUDIO1_RX_DMA_SIZE, ACP_AUDIO1_RX_FIFOADDR, ACP_AUDIO1_RX_FIFOSIZE, + ACP_AUDIO1_RX_RINGBUFSIZE, ACP_AUDIO1_RX_RINGBUFADDR, ACP_AUDIO1_RX_INTR_WATERMARK_SIZE, + ACP_AUDIO1_RX_LINEARPOSITIONCNTR_LOW, ACP_AUDIO1_RX_LINEARPOSITIONCNTR_HIGH}, + {ACP_AUDIO2_RX_DMA_SIZE, ACP_AUDIO2_RX_FIFOADDR, ACP_AUDIO2_RX_FIFOSIZE, + ACP_AUDIO2_RX_RINGBUFSIZE, ACP_AUDIO2_RX_RINGBUFADDR, ACP_AUDIO2_RX_INTR_WATERMARK_SIZE, + ACP_AUDIO2_RX_LINEARPOSITIONCNTR_LOW, ACP_AUDIO2_RX_LINEARPOSITIONCNTR_HIGH} +}; + +static struct sdw_dma_ring_buf_reg acp70_sdw1_dma_reg[ACP70_SDW1_DMA_MAX_STREAMS] = { + {ACP_P1_AUDIO0_TX_DMA_SIZE, ACP_P1_AUDIO0_TX_FIFOADDR, ACP_P1_AUDIO0_TX_FIFOSIZE, + ACP_P1_AUDIO0_TX_RINGBUFSIZE, ACP_P1_AUDIO0_TX_RINGBUFADDR, + ACP_P1_AUDIO0_TX_INTR_WATERMARK_SIZE, + ACP_P1_AUDIO0_TX_LINEARPOSITIONCNTR_LOW, ACP_P1_AUDIO0_TX_LINEARPOSITIONCNTR_HIGH}, + {ACP_P1_AUDIO1_TX_DMA_SIZE, ACP_P1_AUDIO1_TX_FIFOADDR, ACP_P1_AUDIO1_TX_FIFOSIZE, + ACP_P1_AUDIO1_TX_RINGBUFSIZE, ACP_P1_AUDIO1_TX_RINGBUFADDR, + ACP_P1_AUDIO1_TX_INTR_WATERMARK_SIZE, + ACP_P1_AUDIO1_TX_LINEARPOSITIONCNTR_LOW, ACP_P1_AUDIO1_TX_LINEARPOSITIONCNTR_HIGH}, + {ACP_P1_AUDIO2_TX_DMA_SIZE, ACP_P1_AUDIO2_TX_FIFOADDR, ACP_P1_AUDIO2_TX_FIFOSIZE, + ACP_P1_AUDIO2_TX_RINGBUFSIZE, ACP_P1_AUDIO2_TX_RINGBUFADDR, + ACP_P1_AUDIO2_TX_INTR_WATERMARK_SIZE, + ACP_P1_AUDIO2_TX_LINEARPOSITIONCNTR_LOW, ACP_P1_AUDIO2_TX_LINEARPOSITIONCNTR_HIGH}, + {ACP_P1_AUDIO0_RX_DMA_SIZE, ACP_P1_AUDIO0_RX_FIFOADDR, ACP_P1_AUDIO0_RX_FIFOSIZE, + ACP_P1_AUDIO0_RX_RINGBUFSIZE, ACP_P1_AUDIO0_RX_RINGBUFADDR, + ACP_P1_AUDIO0_RX_INTR_WATERMARK_SIZE, + ACP_P1_AUDIO0_RX_LINEARPOSITIONCNTR_LOW, ACP_P1_AUDIO0_RX_LINEARPOSITIONCNTR_HIGH}, + {ACP_P1_AUDIO1_RX_DMA_SIZE, ACP_P1_AUDIO1_RX_FIFOADDR, ACP_P1_AUDIO1_RX_FIFOSIZE, + ACP_P1_AUDIO1_RX_RINGBUFSIZE, ACP_P1_AUDIO1_RX_RINGBUFADDR, + ACP_P1_AUDIO1_RX_INTR_WATERMARK_SIZE, + ACP_P1_AUDIO1_RX_LINEARPOSITIONCNTR_LOW, ACP_P1_AUDIO1_RX_LINEARPOSITIONCNTR_HIGH}, + {ACP_P1_AUDIO2_RX_DMA_SIZE, ACP_P1_AUDIO2_RX_FIFOADDR, ACP_P1_AUDIO2_RX_FIFOSIZE, + ACP_P1_AUDIO2_RX_RINGBUFSIZE, ACP_P1_AUDIO2_RX_RINGBUFADDR, + ACP_P1_AUDIO2_RX_INTR_WATERMARK_SIZE, + ACP_P1_AUDIO2_RX_LINEARPOSITIONCNTR_LOW, ACP_P1_AUDIO2_RX_LINEARPOSITIONCNTR_HIGH} +}; + +static u32 acp70_sdw0_dma_enable_reg[ACP70_SDW0_DMA_MAX_STREAMS] = { + ACP70_SW0_AUDIO0_TX_EN, + ACP70_SW0_AUDIO1_TX_EN, + ACP70_SW0_AUDIO2_TX_EN, + ACP70_SW0_AUDIO0_RX_EN, + ACP70_SW0_AUDIO1_RX_EN, + ACP70_SW0_AUDIO2_RX_EN, +}; + +static u32 acp70_sdw1_dma_enable_reg[ACP70_SDW1_DMA_MAX_STREAMS] = { + ACP70_SW1_AUDIO0_TX_EN, + ACP70_SW1_AUDIO1_TX_EN, + ACP70_SW1_AUDIO2_TX_EN, + ACP70_SW1_AUDIO0_RX_EN, + ACP70_SW1_AUDIO1_RX_EN, + ACP70_SW1_AUDIO2_RX_EN, +}; + static const struct snd_pcm_hardware acp63_sdw_hardware_playback = { .info = SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | @@ -200,6 +266,27 @@ static int acp63_configure_sdw_ringbuffer(void __iomem *acp_base, u32 stream_id, return -EINVAL; } break; + case ACP70_PCI_REV: + case ACP71_PCI_REV: + switch (manager_instance) { + case ACP_SDW0: + reg_dma_size = acp70_sdw0_dma_reg[stream_id].reg_dma_size; + reg_fifo_addr = acp70_sdw0_dma_reg[stream_id].reg_fifo_addr; + reg_fifo_size = acp70_sdw0_dma_reg[stream_id].reg_fifo_size; + reg_ring_buf_size = acp70_sdw0_dma_reg[stream_id].reg_ring_buf_size; + reg_ring_buf_addr = acp70_sdw0_dma_reg[stream_id].reg_ring_buf_addr; + break; + case ACP_SDW1: + reg_dma_size = acp70_sdw1_dma_reg[stream_id].reg_dma_size; + reg_fifo_addr = acp70_sdw1_dma_reg[stream_id].reg_fifo_addr; + reg_fifo_size = acp70_sdw1_dma_reg[stream_id].reg_fifo_size; + reg_ring_buf_size = acp70_sdw1_dma_reg[stream_id].reg_ring_buf_size; + reg_ring_buf_addr = acp70_sdw1_dma_reg[stream_id].reg_ring_buf_addr; + break; + default: + return -EINVAL; + } + break; default: return -EINVAL; } @@ -292,6 +379,32 @@ static int acp63_sdw_dma_hw_params(struct snd_soc_component *component, return -EINVAL; } break; + case ACP70_PCI_REV: + case ACP71_PCI_REV: + switch (stream->instance) { + case ACP_SDW0: + sdw_data->acp70_sdw0_dma_stream[stream_id] = substream; + water_mark_size_reg = acp70_sdw0_dma_reg[stream_id].water_mark_size_reg; + acp_ext_intr_cntl_reg = ACP_EXTERNAL_INTR_CNTL; + if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) + irq_mask = BIT(ACP70_SDW0_DMA_TX_IRQ_MASK(stream_id)); + else + irq_mask = BIT(ACP70_SDW0_DMA_RX_IRQ_MASK(stream_id)); + break; + case ACP_SDW1: + sdw_data->acp70_sdw1_dma_stream[stream_id] = substream; + acp_ext_intr_cntl_reg = ACP_EXTERNAL_INTR_CNTL1; + water_mark_size_reg = acp70_sdw1_dma_reg[stream_id].water_mark_size_reg; + if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) + irq_mask = BIT(ACP70_SDW1_DMA_TX_IRQ_MASK(stream_id)); + else + irq_mask = BIT(ACP70_SDW1_DMA_RX_IRQ_MASK(stream_id)); + + break; + default: + return -EINVAL; + } + break; default: return -EINVAL; } @@ -335,6 +448,21 @@ static u64 acp63_sdw_get_byte_count(struct acp_sdw_dma_stream *stream, void __io goto POINTER_RETURN_BYTES; } break; + case ACP70_PCI_REV: + case ACP71_PCI_REV: + switch (stream->instance) { + case ACP_SDW0: + pos_low_reg = acp70_sdw0_dma_reg[stream->stream_id].pos_low_reg; + pos_high_reg = acp70_sdw0_dma_reg[stream->stream_id].pos_high_reg; + break; + case ACP_SDW1: + pos_low_reg = acp70_sdw1_dma_reg[stream->stream_id].pos_low_reg; + pos_high_reg = acp70_sdw1_dma_reg[stream->stream_id].pos_high_reg; + break; + default: + goto POINTER_RETURN_BYTES; + } + break; default: goto POINTER_RETURN_BYTES; } @@ -398,6 +526,19 @@ static int acp63_sdw_dma_close(struct snd_soc_component *component, return -EINVAL; } break; + case ACP70_PCI_REV: + case ACP71_PCI_REV: + switch (stream->instance) { + case ACP_SDW0: + sdw_data->acp70_sdw0_dma_stream[stream->stream_id] = NULL; + break; + case ACP_SDW1: + sdw_data->acp70_sdw1_dma_stream[stream->stream_id] = NULL; + break; + default: + return -EINVAL; + } + break; default: return -EINVAL; } @@ -430,6 +571,19 @@ static int acp63_sdw_dma_enable(struct snd_pcm_substream *substream, return -EINVAL; } break; + case ACP70_PCI_REV: + case ACP71_PCI_REV: + switch (stream->instance) { + case ACP_SDW0: + sdw_dma_en_reg = acp70_sdw0_dma_enable_reg[stream_id]; + break; + case ACP_SDW1: + sdw_dma_en_reg = acp70_sdw1_dma_enable_reg[stream_id]; + break; + default: + return -EINVAL; + } + break; default: return -EINVAL; } From patchwork Fri Feb 7 06:28:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863885 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 06464C02192 for ; Fri, 7 Feb 2025 06:33:59 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id BCB9A60254; Fri, 7 Feb 2025 07:33:46 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz BCB9A60254 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738910036; bh=MQy2VKLy6wu/xwz4rVEJ2LEqtZSitcmj95KMGq6McZk=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=maZxAdCOxx9WAv+pj9vgrA43RiY7LEi7cRA5RoxXcztx9fOWNfWPhqk1NxSsEnF4M 2RjpfbdwyN2N5mT1+7+ZaIgq6MnPNFqb0YVln6hJiToKzC/sBHNRb47nPN9FmrdkNL bIAbjR9lZrkVttaZLU+mp4XVBKDZhEVWy0t8hxZc= Received: by alsa1.perex.cz (Postfix, from userid 50401) id C1779F80616; Fri, 7 Feb 2025 07:30:24 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 8A1BDF8061F; Fri, 7 Feb 2025 07:30:24 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 8F7EFF8060B; Fri, 7 Feb 2025 07:30:18 +0100 (CET) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on20605.outbound.protection.outlook.com [IPv6:2a01:111:f403:200a::605]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 05DD3F805C9 for ; Fri, 7 Feb 2025 07:30:12 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 05DD3F805C9 Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=2jgnpVn9 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IOiJHxCnwtUnM0z4YIAQyThsE5pfYSCunatBFqe8UujERY1hxfRZJI2xzSYZqllLwpP2CeCcJSfEFN2FnUNDq10k6D6PgtuIr9MC6sMZDTELCuAqh0I/MMO0cw2XNfSJkr9Clk6MtRjiWEvEFzIYOltUYGeDP5/Uzysr7zusg/1gm9iaZYMGT4iFD/+D5m8OkqQmlfaKpKP5kLCCzuO8NGRf7czxEQHThA1ovcnWue373b0b02SSJlKdkaZRejmktO7ZF+0FEibJ/GsXwMnHpgBItmc891/y1IeZgV/QqfXx2S9kjqBJlTRWc5B5dFOtzOvpcUOy9LVUXgD15KIJ9A== 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=aL43eT2kVs1W+G8LqvwX2g8BeHWsLwNjPxp3+mIGYHw=; b=Se5mkB3GCbtBpaDaLzvYHEelPTPBbLdl+AVP6bgaGSgmHvy900XFuAp5c49gfOSm3eyjOclkcIGTt2K3UCEU2/d5u7jtAqk7bSAPjpgCQ6yj2e2nrw10KhDSGd7zY+uDtzlyOwMliB4sNlRzauNykYyLtqWgjFuDm058ov2wLf6ZNpR28YS9odXQkQIFgAdthJLPZF8ZuoDZA+7ti7WLmKr/jcnC8wQtAp6X5c/+Vyqdx8kpupvj7Yxvvv8GRqp1Oiv0zCkO4aEt/otINokLBOUodxwNEXho6iwHTNw32Tl6c9UtE7GYK3zY1jc/74GQNGOZP4WN27TPZjXpX7/oVg== 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=aL43eT2kVs1W+G8LqvwX2g8BeHWsLwNjPxp3+mIGYHw=; b=2jgnpVn969z8/nGlxhffHZ4IIlpNhmvftmNPPNHB/8Di6xuChsR/klnIIX3pJA1BywRLhWtMiI7Hbi8MhjXZNCGywoPLN40Iqurm2VK1XHQpo8nDGWVhAQigNlG3B1wA2q4ns7JdNEme8HYL5TSi8/9thkxObNfvMbyywAMrIdY= Received: from PH8PR07CA0045.namprd07.prod.outlook.com (2603:10b6:510:2cf::14) by SA3PR12MB7999.namprd12.prod.outlook.com (2603:10b6:806:312::19) 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:30:05 +0000 Received: from SJ1PEPF000023D9.namprd21.prod.outlook.com (2603:10b6:510:2cf:cafe::35) by PH8PR07CA0045.outlook.office365.com (2603:10b6:510:2cf::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.25 via Frontend Transport; Fri, 7 Feb 2025 06:30:04 +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 SJ1PEPF000023D9.mail.protection.outlook.com (10.167.244.74) 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:30:04 +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:59 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 15/25] ASoC: amd: ps: implement function to restore dma config for ACP7.0 platform Date: Fri, 7 Feb 2025 11:58:09 +0530 Message-ID: <20250207062819.1527184-16-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: SJ1PEPF000023D9:EE_|SA3PR12MB7999:EE_ X-MS-Office365-Filtering-Correlation-Id: 1171b7a5-243a-4318-4c13-08dd4740dbca X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|1800799024|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: tXFF1/bynf/LzYPl9BcyFK+1Dz/dFO4VXLQNibN/t9EcXeqiDr6YwRksSCnXhLAy/ZhA1AxRElfWESVGtdRghislMgI6rcmwSyZBPj9dKOGr2AkKR/JCkgFJIkG3/9I8IAsLKKHgx82SHsq2HdPTM38ww4pB1DYnPYx2WVIATKVqflSxIudQn3ZbW59WbcQFHGDzZveKmL5Mhj68YL18wHKVnuvfYMmdfb7JUGBdgK5v+S018aHB45e9jnehfngXI940XV5H6CttvWOTKlChGS1OxJ89oG+N7u7Wo2oOpJ9u9dEFBR/TONkH9fEJdKubW4fv5BajM1cNOvl4TDbIWg6pUeQOLk/YkC5P9hUeb2ANPee4ChvNYoIg/8phd3G+5vzrT3GTLZZPDxI5bKuxmLOqlNuGwU5rscWZzYyXw2wRiHJm++Fso97oHkq0djnYODs51FJ1/5sb2olQK8R+XKEMFvWKko0hNBDISa2oIIQJGjb7a88y/7SFfbamkQYWAx9f5W/2BS1kZcGILz65/0hkIHYXZJeBjNCZzBrRgA2OW3DT2t7aObcC0PMonoDPtx/LeNi5pOC5BJCfLgZ/fJZgyzj4IsdP1TIX36GZPOE/r/KZUe8+Vsz0sFzceYqNSLX1dAckT2Gxm2Z0RGsMJ14bjAQ5XDmcdUxjEsW5WsUJ1TLkbi1kT6u5pW1qRBsWl765JlHVxLXwrvbl+CJh9zJ6ei2uxB+j3JORdW+LpMGfKf7IcJReW3eN5aosAFE1jBdd3NiLWDBawpnzhe/w5hXvtfDQlGG1z4uSDFf4rTWVQjxa5wrYFyiBeiny8KyHI45ZkDDGdbT1Lfa0hI7RGsj9e8WYWxSqVLXpluWug8CggT025aNYni54KbwW9lI2teGlzv7ysVTjjrUTQxfkKFKdFgix8p/Z03aO0x0mamQXaCX95SExvJ45PMqBWqkzL/lpZTcehR89UQDRQgusaQYC2q70AXESUH3yJOdaS+A94dVr67qZlaYNvB8qZ7EhNCK6NAq6SjyINURTSSKHuHD6R8wGmFoEqDHVRRtJUacJ2cfG21E2s4ctag+Fw2j8GJ+0XLNNu490P3xBtD3PuvhzK9LacdeLG9bmErZVFOxvNrlE6kiJE3OlntahNtUjmEubv3W8NqlXkgy5BwXnUqSUPNlsv+7VVIcdmR/O/iMht5laHY1Wjd6CD91BUcG82uOYSAS+ASFrwz3OMHYe9nnq6DnE/vzCNgPmjJDF3xMI2//GfR+txYebTJqdzJjpKuYSA2DnYp6XH/ru1xUKv1uTyTbn4q1ItMgZ0ympb4p0aJilq3tLbR5VazdBu5Zc6ig0/J7KL14E7g645kqytSBfnqrFxWE3dOxAVosc9cdsDUhoyXl6XsFYhR9UbLFWPoFSM9agJCGdOzWEsi9NYzVWrSp2joRuN9pzHeVtMM5YzMsn0Gl9QRADXiv1Ut5vWdJk/dpdVt2N1Cif79VtPGB2gp9LHH3mhGLD+VjEmFg= 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)(1800799024)(36860700013)(82310400026); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:30:04.5706 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1171b7a5-243a-4318-4c13-08dd4740dbca 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: SJ1PEPF000023D9.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB7999 Message-ID-Hash: GHJA22VE3FORNERWD3VHKIS3VH73U3T2 X-Message-ID-Hash: GHJA22VE3FORNERWD3VHKIS3VH73U3T2 X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Implement function to restore the dma configuration during system level resume for ACP7.0 & ACP7.1 platforms. Add a conditional check to invoke restore dma configuration function based on acp pci revision id. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/ps/acp63.h | 2 ++ sound/soc/amd/ps/ps-sdw-dma.c | 46 ++++++++++++++++++++++++++++++++++- 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/sound/soc/amd/ps/acp63.h b/sound/soc/amd/ps/acp63.h index 4d197bb8271a..0aef3a852ff1 100644 --- a/sound/soc/amd/ps/acp63.h +++ b/sound/soc/amd/ps/acp63.h @@ -142,6 +142,8 @@ #define ACP70_SDW0_DMA_MAX_STREAMS 6 #define ACP70_SDW1_DMA_MAX_STREAMS ACP70_SDW0_DMA_MAX_STREAMS +#define ACP70_SDW_DMA_IRQ_MASK 0x1F800000 +#define ACP70_P1_SDW_DMA_IRQ_MASK 0x1F8 #define ACP70_P1_AUDIO0_TX_THRESHOLD 0x8 #define ACP70_P1_AUDIO1_TX_THRESHOLD 0x6 diff --git a/sound/soc/amd/ps/ps-sdw-dma.c b/sound/soc/amd/ps/ps-sdw-dma.c index 2966244eb25e..557d312a23b2 100644 --- a/sound/soc/amd/ps/ps-sdw-dma.c +++ b/sound/soc/amd/ps/ps-sdw-dma.c @@ -725,12 +725,56 @@ static int acp63_restore_sdw_dma_config(struct sdw_dma_dev_data *sdw_data) return 0; } +static int acp70_restore_sdw_dma_config(struct sdw_dma_dev_data *sdw_data) +{ + struct acp_sdw_dma_stream *stream; + struct snd_pcm_substream *substream; + struct snd_pcm_runtime *runtime; + u32 period_bytes, buf_size, water_mark_size_reg; + u32 stream_count, irq_mask, irq_mask1; + int index, instance, ret; + + irq_mask = ACP70_SDW_DMA_IRQ_MASK; + irq_mask1 = ACP70_P1_SDW_DMA_IRQ_MASK; + stream_count = ACP70_SDW0_DMA_MAX_STREAMS; + for (instance = 0; instance < AMD_SDW_MAX_MANAGERS; instance++) { + for (index = 0; index < stream_count; index++) { + if (instance == ACP_SDW0) { + substream = sdw_data->acp70_sdw0_dma_stream[index]; + water_mark_size_reg = acp70_sdw0_dma_reg[index].water_mark_size_reg; + } else { + substream = sdw_data->acp70_sdw1_dma_stream[index]; + water_mark_size_reg = acp70_sdw1_dma_reg[index].water_mark_size_reg; + } + + if (substream && substream->runtime) { + runtime = substream->runtime; + stream = runtime->private_data; + period_bytes = frames_to_bytes(runtime, runtime->period_size); + buf_size = frames_to_bytes(runtime, runtime->buffer_size); + acp63_config_dma(stream, sdw_data->acp_base, index); + ret = acp63_configure_sdw_ringbuffer(sdw_data->acp_base, index, + buf_size, instance, + sdw_data->acp_rev); + if (ret) + return ret; + writel(period_bytes, sdw_data->acp_base + water_mark_size_reg); + } + } + } + acp63_enable_disable_sdw_dma_interrupts(sdw_data->acp_base, irq_mask, irq_mask1, true); + return 0; +} + static int __maybe_unused acp63_sdw_pcm_resume(struct device *dev) { struct sdw_dma_dev_data *sdw_data; sdw_data = dev_get_drvdata(dev); - return acp63_restore_sdw_dma_config(sdw_data); + if (sdw_data->acp_rev == ACP63_PCI_REV) + return acp63_restore_sdw_dma_config(sdw_data); + else + return acp70_restore_sdw_dma_config(sdw_data); } static const struct dev_pm_ops acp63_pm_ops = { From patchwork Fri Feb 7 06:28:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863018 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2147BC02192 for ; Fri, 7 Feb 2025 06:34:10 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 8673360271; Fri, 7 Feb 2025 07:33:58 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 8673360271 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738910048; bh=BQMhtp2kOKO4vzyf5vlaSq/VFnrxiijL1E42xXNaWrg=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=Ef9WYUIUmcC5wU0fA7RmtMgqAqSLMPGZg1a0aGFSTquJ2c2p8rkyfp5vytq3iiEQs I+Gu/9bzpJDgi9yBqctUQt7h0nveNmbRO6kg40t28gAe/sKWg9AO8auzfo6i9npoMv nAacFR5DSYHTa7nirRTqMrNuD6eBZq844Yx5+OHU= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 8B18BF80C87; Fri, 7 Feb 2025 07:30:25 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 2868FF80C57; Fri, 7 Feb 2025 07:30:25 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 0792CF8060A; Fri, 7 Feb 2025 07:30:20 +0100 (CET) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on20607.outbound.protection.outlook.com [IPv6:2a01:111:f403:2418::607]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id E7DB4F805F5 for ; Fri, 7 Feb 2025 07:30:14 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz E7DB4F805F5 Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=wK/FkF2y ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TJ/GBQC3vgnSFrLFI+v80BdH2mHNo6e7+BzCtP9+KxqN0kJ1AwCZ/YNG0GhG041jKaZdVgcRMet2gSVp04n9r9O99Rypos2iK8jEbQBLG7pQTQt0wSt0bvGSxbmQvugZ5YDE1Gr06bKg20GwkLpQ4/EjWw06ag+jjFnKVP8jNlHgeticxIy8exgzrkK0GnN3XVXpwl6BcsmoFr4vPsq/LjNza64Ie9M7X8pXmPYnbrKfyU6+uKkxUXX0g1UGFICxg7yHWHrmIkIkNREu/wZWpRD2hNac3JSHQKpJwjEbpGVeB9urK2wRjorqnTPyWnFfQebrLBVhffNbwg7IuVpRdQ== 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=L/FDr3ag6KXILiIofsdSbgl2zutMcoCbZxQwfHz5UjU=; b=RVj4AUexcXO7egUhUWv0Uxnnv6dmJk+e/Agae7/ueQZlSozSB48mDGBDN+pEclHjIVxgt52FyPQ8ruBrEEDmntgy0I0hTvR+f6/lkU3LPGtI5/3cxKOJwmPsht2YCxSSXhWLkjPzlHLcm91EsDHoxpnUno5/aDrvIdEe2Rztclrv3NvIuwSaF/vWNdNMnV/eUVRm2/M0EvRPouOUp2du/eChkN3ZMgRFgs7nVSQu2/hH1M7SZD1kkRs5JE0NTh8Q9gQhOXAIKv8aS3e+vkUTgOhpNYgqCsAEZkkP035TqneUVKvsyGY5/H5cDcawmB8O5PWPaqAiEBZIhZnxvOkT5w== 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=L/FDr3ag6KXILiIofsdSbgl2zutMcoCbZxQwfHz5UjU=; b=wK/FkF2yjktVna79Da4N24DNDyzK206k1X0FpFbFLTNtMVUO9zKciHaRRWmvx8Odi246S/A6Z9IQ7PzR6JMKrt51U63tnHqND09vYZTMgChNg0kIOKohf5gMDr3+yKIqkRnL7OJbzZ113chJFd2VKcL8CJzacZtpeXcSQugZ414= Received: from PH8PR07CA0026.namprd07.prod.outlook.com (2603:10b6:510:2cf::21) by PH8PR12MB8431.namprd12.prod.outlook.com (2603:10b6:510:25a::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Fri, 7 Feb 2025 06:30:08 +0000 Received: from SJ1PEPF000023D9.namprd21.prod.outlook.com (2603:10b6:510:2cf:cafe::2c) by PH8PR07CA0026.outlook.office365.com (2603:10b6:510:2cf::21) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.28 via Frontend Transport; Fri, 7 Feb 2025 06:30:08 +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 SJ1PEPF000023D9.mail.protection.outlook.com (10.167.244.74) 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:30:07 +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:30:03 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 16/25] ASoC: amd: ps: add soundwire dma interrupts handling for ACP7.0 platform Date: Fri, 7 Feb 2025 11:58:10 +0530 Message-ID: <20250207062819.1527184-17-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: SJ1PEPF000023D9:EE_|PH8PR12MB8431:EE_ X-MS-Office365-Filtering-Correlation-Id: 746c51ab-3a38-4921-5d20-08dd4740ddc1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|82310400026|376014|36860700013; X-Microsoft-Antispam-Message-Info: rPbgKV+4ioF0es6CctSRQZNqOwNb+wAXS5g4Jikjxh7suOUf3DXlEWjeTlSEX1Nj08Xv5YtSQCg2t1xA0UCPxRZKzw9babnshX4My+XRfL/lIFpCDGiWNht5jkSYMFPJS1X99xwMu9pIY22xxKknO0h8qwknpkdMKstSZq95Ctjsqui/STtYEY8Okuus4SQrzDTvV6Ll1b4doNnXX+u9ZGgA14TvizL2fe7s95Hx6bKFjNZyC27bl3s0m1RrP7xf4MSlugqZDfIsV949F9wn7Gcs9KBlsTLFtWdF1isiWF7J6ZJE7+JLST7Wy9vN0jL/c7y43zEcPs2xChu+Ll6dRmjvmR4AvOk9+Sf0EW870DXWxihphEG8mGkMJXQzMEvGDelX9aFqYxDlNDSq8fyuSXQYLDdu899ePsSqgFoT0FYw+aZyYxBf14bDfhpJxr8C6hc6naXd0cBBLPTLFtcgg2nTZcy0chDxU8P4DGaL28mraOvIS1PzDtuzxNMn5XlDkNbr31O01qrD2ImlQj3FeFZfsl8Q1Puejgl5faMYwJvGZcnC6AJZ2PsMJ6NJ2vsxoPJxRVdKjRhXGeGPD9GrMD9ByAhIR5lPmqK3cLnwy8vDFuxzNmfLy7LFYciaaybgogkewvSQGTdzFr+2z8XoLSI7TVRF9GzYzlt9325vXyomQkCefhxVQxVTd56DSpcze1WYOfMVrNsyE8+EjaMBMljAX72Fx6eqWmg4Ubv5sYv9FrxFgml1hp+MyWu9weU7ZGxefgPIkRS86bRosPmmKHKuSNZRO2ELsr7ZWrRmKTB9tjCm3y/b+roxHmgyGuzdPhE46VptD5lx2KbVL3qu9GeykX8uW0DYGZIcqhqwAf0XPbLN3Y9QXQ5DMHhsXPNqaIwVXr9Y446/+VQzyng4+AiaorurlS12HsClXVBaOlIJjfrk++fAyqQCgphJx6Trm8ahza6pp7W+1vPqh3JwE2ng9QMelFTTrueX7OETSexVYMu57imYRirS0XtIZYT3jEC6ooaGk03MZx+6CX4rmHfOBeBnsbd3ys/wOzA7DOoYrkY7X9pWXjeMi62LmX6hPqeN+fCAz1zX32dvSQEQqY2ORfHcK8+keFQadS9q8h9AdIdfd/fPApNJv/f7zcmcLIsyW7Wry7mcS5JVkr2BrTSTB9D3TnU6DQCD9B1aH6q76lZCU3lDSF46bnRgWDcmpggE1tKYKWVTTFRLTJ62fXQZt9uNDYxhktk1gDc3bMjVuMKNbDdeR6nHs8NpzOtyZGfPcoBVNnPDTG7T+GvNpI0Tod6dgJaz+jS9MpHJi2VZfQp8ObsW3pi3TqfkT5Xi9vZB49BWxspt/0utMiT4bqN0ay3ejxsiDfsn8PSfaI41+lvDzWLVpUr/13JGJ9tR23DsOpP9hpJW4IPh3tfapYUE77GdjAhsD1u7G6WILk1GEyyTU8Rx+yfaUUMZCNpr7kVM4TX546FmEKPeLetx5dJo804GZF3R7qDS8f9Mv4A= 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)(1800799024)(82310400026)(376014)(36860700013); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:30:07.9457 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 746c51ab-3a38-4921-5d20-08dd4740ddc1 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: SJ1PEPF000023D9.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB8431 Message-ID-Hash: V5EV5AGNTG2FTQYAYU52CBXR46U4D5DF X-Message-ID-Hash: V5EV5AGNTG2FTQYAYU52CBXR46U4D5DF X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Add Soundwie dma interrupts handling for ACP7.0 & ACP7.1 platforms. Add acp pci revision id conditional checks for handling platform specific implementation. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/ps/acp63.h | 6 ++++ sound/soc/amd/ps/pci-ps.c | 61 ++++++++++++++++++++++++++++++------ sound/soc/amd/ps/ps-common.c | 24 ++++++++++++++ 3 files changed, 81 insertions(+), 10 deletions(-) diff --git a/sound/soc/amd/ps/acp63.h b/sound/soc/amd/ps/acp63.h index 0aef3a852ff1..48dac2a044c2 100644 --- a/sound/soc/amd/ps/acp63.h +++ b/sound/soc/amd/ps/acp63.h @@ -332,6 +332,10 @@ struct acp_hw_ops { * manager-SW0 instance * @acp63_sdw_dma_intr_stat: DMA interrupt status array for ACP6.3 platform SoundWire * manager-SW1 instance + * @acp70_sdw0-dma_intr_stat: DMA interrupt status array for ACP7.0 platform SoundWire + * manager-SW0 instance + * @acp70_sdw_dma_intr_stat: DMA interrupt status array for ACP7.0 platform SoundWire + * manager-SW1 instance */ struct acp63_dev_data { @@ -357,6 +361,8 @@ struct acp63_dev_data { u32 acp_rev; u16 acp63_sdw0_dma_intr_stat[ACP63_SDW0_DMA_MAX_STREAMS]; u16 acp63_sdw1_dma_intr_stat[ACP63_SDW1_DMA_MAX_STREAMS]; + u16 acp70_sdw0_dma_intr_stat[ACP70_SDW0_DMA_MAX_STREAMS]; + u16 acp70_sdw1_dma_intr_stat[ACP70_SDW1_DMA_MAX_STREAMS]; }; void acp63_hw_init_ops(struct acp_hw_ops *hw_ops); diff --git a/sound/soc/amd/ps/pci-ps.c b/sound/soc/amd/ps/pci-ps.c index 8f73d2ce2197..a9e140ca1296 100644 --- a/sound/soc/amd/ps/pci-ps.c +++ b/sound/soc/amd/ps/pci-ps.c @@ -52,20 +52,61 @@ static short int check_and_handle_sdw_dma_irq(struct acp63_dev_data *adata, u32 stream_id = ACP63_SDW0_AUDIO2_RX; break; } - adata->acp63_sdw0_dma_intr_stat[stream_id] = 1; + if (adata->acp_rev >= ACP70_PCI_REV) + adata->acp70_sdw0_dma_intr_stat[stream_id] = 1; + else + adata->acp63_sdw0_dma_intr_stat[stream_id] = 1; + sdw_dma_irq_flag = 1; } } } - if (ext_intr_stat1 & ACP63_P1_AUDIO1_RX_THRESHOLD) { - writel(ACP63_P1_AUDIO1_RX_THRESHOLD, adata->acp63_base + ACP_EXTERNAL_INTR_STAT1); - adata->acp63_sdw1_dma_intr_stat[ACP63_SDW1_AUDIO1_RX] = 1; - sdw_dma_irq_flag = 1; - } - if (ext_intr_stat1 & ACP63_P1_AUDIO1_TX_THRESHOLD) { - writel(ACP63_P1_AUDIO1_TX_THRESHOLD, adata->acp63_base + ACP_EXTERNAL_INTR_STAT1); - adata->acp63_sdw1_dma_intr_stat[ACP63_SDW1_AUDIO1_TX] = 1; - sdw_dma_irq_flag = 1; + if (adata->acp_rev == ACP63_PCI_REV) { + if (ext_intr_stat1 & ACP63_P1_AUDIO1_RX_THRESHOLD) { + writel(ACP63_P1_AUDIO1_RX_THRESHOLD, + adata->acp63_base + ACP_EXTERNAL_INTR_STAT1); + adata->acp63_sdw1_dma_intr_stat[ACP63_SDW1_AUDIO1_RX] = 1; + sdw_dma_irq_flag = 1; + } + if (ext_intr_stat1 & ACP63_P1_AUDIO1_TX_THRESHOLD) { + writel(ACP63_P1_AUDIO1_TX_THRESHOLD, + adata->acp63_base + ACP_EXTERNAL_INTR_STAT1); + adata->acp63_sdw1_dma_intr_stat[ACP63_SDW1_AUDIO1_TX] = 1; + sdw_dma_irq_flag = 1; + } + } else { + if (ext_intr_stat1 & ACP70_P1_SDW_DMA_IRQ_MASK) { + for (index = ACP70_P1_AUDIO2_RX_THRESHOLD; + index <= ACP70_P1_AUDIO0_TX_THRESHOLD; index++) { + if (ext_intr_stat1 & BIT(index)) { + writel(BIT(index), + adata->acp63_base + ACP_EXTERNAL_INTR_STAT1); + switch (index) { + case ACP70_P1_AUDIO0_TX_THRESHOLD: + stream_id = ACP70_SDW_AUDIO0_TX; + break; + case ACP70_P1_AUDIO1_TX_THRESHOLD: + stream_id = ACP70_SDW_AUDIO1_TX; + break; + case ACP70_P1_AUDIO2_TX_THRESHOLD: + stream_id = ACP70_SDW_AUDIO2_TX; + break; + case ACP70_P1_AUDIO0_RX_THRESHOLD: + stream_id = ACP70_SDW_AUDIO0_RX; + break; + case ACP70_P1_AUDIO1_RX_THRESHOLD: + stream_id = ACP70_SDW_AUDIO1_RX; + break; + case ACP70_P1_AUDIO2_RX_THRESHOLD: + stream_id = ACP70_SDW_AUDIO2_RX; + break; + } + + adata->acp70_sdw1_dma_intr_stat[stream_id] = 1; + sdw_dma_irq_flag = 1; + } + } + } } return sdw_dma_irq_flag; } diff --git a/sound/soc/amd/ps/ps-common.c b/sound/soc/amd/ps/ps-common.c index 6639dac0a415..1c89fb5fe1da 100644 --- a/sound/soc/amd/ps/ps-common.c +++ b/sound/soc/amd/ps/ps-common.c @@ -378,6 +378,29 @@ static void acp70_get_config(struct pci_dev *pci, struct acp63_dev_data *acp_dat } } +static void acp70_sdw_dma_irq_thread(struct acp63_dev_data *adata) +{ + struct sdw_dma_dev_data *sdw_data; + u32 stream_id; + + sdw_data = dev_get_drvdata(&adata->sdw_dma_dev->dev); + + for (stream_id = 0; stream_id < ACP70_SDW0_DMA_MAX_STREAMS; stream_id++) { + if (adata->acp70_sdw0_dma_intr_stat[stream_id]) { + if (sdw_data->acp70_sdw0_dma_stream[stream_id]) + snd_pcm_period_elapsed(sdw_data->acp70_sdw0_dma_stream[stream_id]); + adata->acp70_sdw0_dma_intr_stat[stream_id] = 0; + } + } + for (stream_id = 0; stream_id < ACP70_SDW1_DMA_MAX_STREAMS; stream_id++) { + if (adata->acp70_sdw1_dma_intr_stat[stream_id]) { + if (sdw_data->acp70_sdw1_dma_stream[stream_id]) + snd_pcm_period_elapsed(sdw_data->acp70_sdw1_dma_stream[stream_id]); + adata->acp70_sdw1_dma_intr_stat[stream_id] = 0; + } + } +} + static int __maybe_unused snd_acp70_suspend(struct device *dev) { struct acp63_dev_data *adata; @@ -444,6 +467,7 @@ 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_sdw_dma_irq_thread = acp70_sdw_dma_irq_thread; hw_ops->acp_suspend = snd_acp70_suspend; hw_ops->acp_resume = snd_acp70_resume; hw_ops->acp_suspend_runtime = snd_acp70_suspend; From patchwork Fri Feb 7 06:28:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863884 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9C8D3C02192 for ; Fri, 7 Feb 2025 06:34:36 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id D4CDD60282; Fri, 7 Feb 2025 07:34:24 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz D4CDD60282 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738910074; bh=gSIprwLO2wUy1bIHR1CagLVdFXpqFZ1T1M7xpLKNyQo=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=bX/KpziJM6iPMw2Q2bg4RW+hf4rFVdCeZ7PF1uK3+4gY5Fw9xVDYJmM38g7zvmZmL UWRer1+HvUw++DWnDAS4cU48XfLKxNP4lTqqK37AujWiNQRV8T+8lYzmM4HmSmHBKG 07/3ijqDjU2Xvpf+XE2tqGyQhCMGFpObjLDjmcqg= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 86649F80CAD; Fri, 7 Feb 2025 07:30:31 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 48BB7F80CB5; Fri, 7 Feb 2025 07:30:31 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 78678F80C8E; Fri, 7 Feb 2025 07:30:26 +0100 (CET) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2060e.outbound.protection.outlook.com [IPv6:2a01:111:f403:2412::60e]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 2BA59F8013D for ; Fri, 7 Feb 2025 07:30:20 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 2BA59F8013D Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=lW5AYofc ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BdaKHbKLnyfDalRlAJMHW2qHA790IJo4++Wpva+KB7gWy7vSBVzj6Ia3uKGwxSBhLqAoTfM05orIJxJeorL4Nn/pJqXoWi/+6hPswwmVfCEnG7g3SXbbOYKWxmQZYO57WOBOpfW666GcNTbI1Qrx5Yh43qCCILK6SefMWqG5ovSwRRSa5wQMDsc2cHIHQ7qAPvYXSlxs+Qn7iLMfoDuhhkr2+akVXK6tW9Fnw2XZu23ZsvXKpphjFDJUdiPzGHUdDMcS4RCoWFXs9tiz/QGoIVENkPoO44dgbI+etucYj27074d7PXFs/CnNpxAJ+lqk8nuu04UyUH1mJWdfIbdNkA== 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=ustehHD68yjWuZ7lmdul4IgTlbsyGXVt42F04adY5c4=; b=lMEZEn1DhQ1mIoEymTod1pnq3IpEHV3IphiH2gdACvur8mpfc3lHm0b1N3a/yS7H6HT3c3PbQ3iMiZ/Yj3po/Xob/PBCNDZi5GTCql6l/Ch5eFgCYDxI8g13i3ibAmSiyPiQWuOZcCrG1/7UCLeI1YppZlQjVws/cexcuT091JB9+ZgjufuQvEdLZr4+Gh3i0sB9xhPF6mfkAS/Z6C+hG3yWEqeDw/l2q1Vh6Vfvxi3/ltQBogqiuJji99fmnyggLW/JLPj57ypD5zLGZ7iElMg/kbtdFDZc141PCSEDUmnaJYphiJo7VV6vpSQlHOVL/JQapLczXE9cxKdhYQXlag== 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=ustehHD68yjWuZ7lmdul4IgTlbsyGXVt42F04adY5c4=; b=lW5AYofca9E/0nA42pwnVbkNziA8XiMcwG0oFQGXS3WF7znbeQOW4iWaiKTM15aL/lN75OGjxHkm0YYwbG1hPqRqqPkJDO5uaKwD3WquuvxSahaSVMqO5f06nYJT2rhB9+lhGspRk2/U/DgnpKHnx4hWPwmMFEQ8PAGI+ez6pQw= Received: from BYAPR07CA0078.namprd07.prod.outlook.com (2603:10b6:a03:12b::19) by CH3PR12MB8188.namprd12.prod.outlook.com (2603:10b6:610:120::8) 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:30:15 +0000 Received: from SJ5PEPF000001F4.namprd05.prod.outlook.com (2603:10b6:a03:12b:cafe::5d) by BYAPR07CA0078.outlook.office365.com (2603:10b6:a03:12b::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.17 via Frontend Transport; Fri, 7 Feb 2025 06:30: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 SJ5PEPF000001F4.mail.protection.outlook.com (10.167.242.72) 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:30:15 +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:30:07 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 17/25] ASoC: amd: ps: add soundwire wake interrupt handling Date: Fri, 7 Feb 2025 11:58:11 +0530 Message-ID: <20250207062819.1527184-18-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: SJ5PEPF000001F4:EE_|CH3PR12MB8188:EE_ X-MS-Office365-Filtering-Correlation-Id: c6065308-bada-4d34-ba90-08dd4740e210 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: ca28OlKRt/13oPAZpb14NQAV9CVMJso7+WKF78kiY59asc3yve0mvD1mS+jm1hDt6SatHgJ1vFkac/SMbJEosSL5QpVZ2mcKOh+UuKuCzN+/DXSFWQRUSR2qvVf+DtYcGPMRUD+7AYf8NfhUXPMJi0+BqEGpavjY5BR+2x+u5grhYBUPQQ57+3KUGSATZls7rrZnFu0FwmBU6g/udnJJ7pAKpsWHOhpfbdf1oszc+6U0UH5gyjsH0NB3WUR3ip3zvoFPosG9NGq6dEROzk4t5JjufDHGdvM9lf+kli4CH+4HIba7Q6jGbG943P5+Rs1Fws+MIcmiCHkFsesqxULb2jagoxdAuCfBX5zr7YEsGW/1IeBD4CIP/4uHGWF6siCBW1bzfKwnqyptVtXtWHC9SY61uo3nrsnOE7qMOWuO7IiAMpBWEWUjLD5WNq+Oqgh1sOiX8kpYVnfGmTRgEBZzUAi7gTgmYbuoANrm+FZv9BGIPBitR+6izvvF6midVHumH/ZjAACXFKhLHdNplpPhFoiI6OkmoVj+XNnfiL+VYPWnc1vNFTpgmu1l5701FyibbghydVUfH4Z0temewBugQrVWAu7D9hg202PSMFuGPMY42bJpxDa9qOyKbpnzzgM9A63xLc/gEv75cNj3bHykB/nYsl6m92KhLgbavUX2Gksj55twixYxm+AeSCKmNKcGA1Gx0Cs+ruUojCQIN9yHIHYtRUnEuuakDNc51scbnRoXE54WRiTMoBi85yKQp4yNu3lNszwXUHOtnEmo8HqAUNu3JFa9SL9I/XgIgJ9kVXELQqbY17gcYg9ZpqK6xNvkaewGKjBOZtqdrpxw3R04yeQHD4x6T3X0GMyncbyyGBOSa7WzYIUpn+E0WSU2u0DNjOVWE4xk802R6bONT7q3jM/mZuJcZPGA5LyYm1PePlaLANZVBnmu4VdcEtgKU+Z9inUWitxcLpAWdvZnNFtT2vQKi1wWECSEKnb8TNY3CPe85yRFEOnM4SqMqc2XaLv7GxrEdPOpv4yHb+ybyBKWHO9wjW/TGA6612Bw2dVj0afbRRx/3mBRL2CrSDBWEKWQ82jusa8UbFe8MF6FxAWgx57GePlvgsnyvo2xkdmst6ildiZ0YINYMC1zkHvz1HLImskuq7+6bzq5MLRv69sGfw2cwW+8pIvOMmdqze0+BoXkYa+hRQmWC3CuoRz1wm7LG6tReSMq5UZu9DTLWkJzPn83F/Y12tR7q0sI2h4d84HkQeftY7msCLKnAsO8M5nhYLlQN5h2z2IVHbzI+PmUzfnsyj8I7jKHM+p2UyYCo3Pb+yEs+PVvqXLeVruoWCVw0zeeBl/shONktEJeS+cjelEkAkROom0X5St0iaAHq4yqw9hGtd8MAKd85xtoNjxIj7SvW6ZdPUWY4SbNMLRBX8SGP8BDCgGEH54eWhQq9bHwwb/xFkbbn5S2tlcYKYll4KolbmMHQ8Zpd1CWG5ZENticRiBkAAI8r8BUqyXCSc4= 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:30:15.1142 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c6065308-bada-4d34-ba90-08dd4740e210 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: SJ5PEPF000001F4.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8188 Message-ID-Hash: XQ6QQSTJF6J37AFDNRMCEO5C6NYK23YY X-Message-ID-Hash: XQ6QQSTJF6J37AFDNRMCEO5C6NYK23YY X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Add SoundWire wake interrupt handling for ACP7.0 & ACP7.1 platforms. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/ps/acp63.h | 8 +++++ sound/soc/amd/ps/pci-ps.c | 62 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) diff --git a/sound/soc/amd/ps/acp63.h b/sound/soc/amd/ps/acp63.h index 48dac2a044c2..9940151b0675 100644 --- a/sound/soc/amd/ps/acp63.h +++ b/sound/soc/amd/ps/acp63.h @@ -139,6 +139,10 @@ #define ACP70_PGFSM_STATUS_MASK 0xFF #define ACP70_TIMEOUT 2000 #define ACP70_SDW_HOST_WAKE_MASK 0x0C00000 +#define ACP70_SDW0_HOST_WAKE_STAT BIT(24) +#define ACP70_SDW1_HOST_WAKE_STAT BIT(25) +#define ACP70_SDW0_PME_STAT BIT(26) +#define ACP70_SDW1_PME_STAT BIT(27) #define ACP70_SDW0_DMA_MAX_STREAMS 6 #define ACP70_SDW1_DMA_MAX_STREAMS ACP70_SDW0_DMA_MAX_STREAMS @@ -325,6 +329,8 @@ struct acp_hw_ops { * @is_pdm_config: flat set to true when PDM configuration is selected from BIOS * @is_sdw_config: flag set to true when SDW configuration is selected from BIOS * @sdw_en_stat: flag set to true when any one of the SoundWire manager instance is enabled + * @acp70_sdw0_wake_event: flag set to true when wake irq asserted for SW0 instance + * @acp70_sdw1_wake_event: flag set to true when wake irq asserted for SW1 instance * @addr: pci ioremap address * @reg_range: ACP reigister range * @acp_rev: ACP PCI revision id @@ -356,6 +362,8 @@ struct acp63_dev_data { bool is_pdm_config; bool is_sdw_config; bool sdw_en_stat; + bool acp70_sdw0_wake_event; + bool acp70_sdw1_wake_event; u32 addr; u32 reg_range; u32 acp_rev; diff --git a/sound/soc/amd/ps/pci-ps.c b/sound/soc/amd/ps/pci-ps.c index a9e140ca1296..6a725cf36345 100644 --- a/sound/soc/amd/ps/pci-ps.c +++ b/sound/soc/amd/ps/pci-ps.c @@ -21,6 +21,65 @@ #include "acp63.h" +static void handle_acp70_sdw_wake_event(struct acp63_dev_data *adata) +{ + struct amd_sdw_manager *amd_manager; + + if (adata->acp70_sdw0_wake_event) { + amd_manager = dev_get_drvdata(&adata->sdw->pdev[0]->dev); + if (amd_manager) + pm_request_resume(amd_manager->dev); + adata->acp70_sdw0_wake_event = 0; + } + + if (adata->acp70_sdw1_wake_event) { + amd_manager = dev_get_drvdata(&adata->sdw->pdev[1]->dev); + if (amd_manager) + pm_request_resume(amd_manager->dev); + adata->acp70_sdw1_wake_event = 0; + } +} + +static short int check_and_handle_acp70_sdw_wake_irq(struct acp63_dev_data *adata) +{ + u32 ext_intr_stat1; + int irq_flag = 0; + bool sdw_wake_irq = false; + + ext_intr_stat1 = readl(adata->acp63_base + ACP_EXTERNAL_INTR_STAT1); + if (ext_intr_stat1 & ACP70_SDW0_HOST_WAKE_STAT) { + writel(ACP70_SDW0_HOST_WAKE_STAT, adata->acp63_base + ACP_EXTERNAL_INTR_STAT1); + adata->acp70_sdw0_wake_event = true; + sdw_wake_irq = true; + } + + if (ext_intr_stat1 & ACP70_SDW1_HOST_WAKE_STAT) { + writel(ACP70_SDW1_HOST_WAKE_STAT, adata->acp63_base + ACP_EXTERNAL_INTR_STAT1); + adata->acp70_sdw1_wake_event = true; + sdw_wake_irq = true; + } + + if (ext_intr_stat1 & ACP70_SDW0_PME_STAT) { + writel(0, adata->acp63_base + ACP_SW0_WAKE_EN); + writel(ACP70_SDW0_PME_STAT, adata->acp63_base + ACP_EXTERNAL_INTR_STAT1); + adata->acp70_sdw0_wake_event = true; + sdw_wake_irq = true; + } + + if (ext_intr_stat1 & ACP70_SDW1_PME_STAT) { + writel(0, adata->acp63_base + ACP_SW1_WAKE_EN); + writel(ACP70_SDW1_PME_STAT, adata->acp63_base + ACP_EXTERNAL_INTR_STAT1); + adata->acp70_sdw1_wake_event = true; + sdw_wake_irq = true; + } + + if (sdw_wake_irq) { + handle_acp70_sdw_wake_event(adata); + irq_flag = 1; + } + return irq_flag; +} + static short int check_and_handle_sdw_dma_irq(struct acp63_dev_data *adata, u32 ext_intr_stat, u32 ext_intr_stat1) { @@ -163,6 +222,9 @@ static irqreturn_t acp63_irq_handler(int irq, void *dev_id) irq_flag = 1; } + if (adata->acp_rev >= ACP70_PCI_REV) + irq_flag = check_and_handle_acp70_sdw_wake_irq(adata); + if (ext_intr_stat & BIT(PDM_DMA_STAT)) { ps_pdm_data = dev_get_drvdata(&adata->pdm_dev->dev); writel(BIT(PDM_DMA_STAT), adata->acp63_base + ACP_EXTERNAL_INTR_STAT); From patchwork Fri Feb 7 06:28:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863017 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 537F6C02192 for ; Fri, 7 Feb 2025 06:34:53 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 5E2186023C; Fri, 7 Feb 2025 07:34:41 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 5E2186023C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738910091; bh=q75AvJMA/a4qWhO+GeW8YlxVTN+TVqN7BT1S1NmSZDA=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=O52ApoE4ymN427Ou9NX2Gvo3/ebhuY30IvsS2lXTgq4ZGHsiZhwFxW20dml71keC9 s0MtEYM424qRM2bJyzcydkQ9gqfMCmEE3eVGFl0MAxe+rxE9l0EjljnPWXrIGWdASq O7mCKLaKntMJJbcn3xHsmc+RaBcCeMwm9OxvQ5qk= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 974C5F89627; Fri, 7 Feb 2025 07:30:33 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 1D2ADF89623; Fri, 7 Feb 2025 07:30:33 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 9E781F80C8E; Fri, 7 Feb 2025 07:30:27 +0100 (CET) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on20627.outbound.protection.outlook.com [IPv6:2a01:111:f403:2418::627]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 538FEF80C76 for ; Fri, 7 Feb 2025 07:30:23 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 538FEF80C76 Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=kO9zIe9z ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=INUYn9lvohWM6yJrwTOuDjDrBBiuihi46HtO7a/aIrxsU8GGk2ssCg2WGDwKpoPvM6Q2UyyUu8dDUyDe31VGNUDqDv2mUwZi3VtVsHOQudQUT840mBjlm9TiA5wDgp/NYUWwLc22auw26Hq0DbTdx5uhqdMhQTgLFr2rcWjxOLuyWLP/0oxtAWKV6bRFISCYyxGPwKB5/WWpWpA7zbS5Ht+ZXlhp33/YuFgGyGitbS6wmIoyO47HHixrqiO+IIL+hlGFmhyd8gSqT1fIHZL+ns8tHOKTZFuXDe7OUpfQi5NvARWK/1k6a5up6zQIZ8q91r3tgafkZ0y87wDAyvPbVw== 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=u3kFtQt56Z6fk/Gbv9G5k1gBu7mqVnykSYpygXRGQII=; b=mwO3s6jrXllYDzB4XqoWmzdapaMK1079uTqr3q2B7wvfWoQGqlhT+TQ7O0BjL7N/fO27VzzKCJGCwtv9Oar+Us7A+6Jn2B8xXCmIuYPTs/Tmm+uL4EsizcwDNNgrfLjngcrqZGK0DDmGfLr77z/dA5rFGgLoEJDKh4D6LmHu/NGkH+adHqwE0HVVmtDxMDh7ck1XvpLtFy/f9DPJO8S4AAHsaHyt1Q+Mx9obi2Dx0PTlo1EX7s8xFLWfZi9sayuG+FDgVd6dkyZeiGn4pTNN8LkKuAHoUoAtoEpjlL2HaYfJXh305T+lp1K0YTtBQQfaWau33tqP5TS3zj4VwyxnLg== 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=u3kFtQt56Z6fk/Gbv9G5k1gBu7mqVnykSYpygXRGQII=; b=kO9zIe9zPhwCwudJNDAn+94Lj9FLPXELxKhjXDgox6303JT+TBbWRz6qo42pcsQwIiHedOHDidueZQiojrQbMc3YHT+yHLwbXz4G4Z080fBSdXBLleeheW1ZFqzyORfmgnjKDqGKnusvznINA+mzMqNwb1sk0UddJw6iNPiSUM4= Received: from BYAPR07CA0087.namprd07.prod.outlook.com (2603:10b6:a03:12b::28) by SJ2PR12MB8847.namprd12.prod.outlook.com (2603:10b6:a03:546::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:30:17 +0000 Received: from SJ5PEPF000001F4.namprd05.prod.outlook.com (2603:10b6:a03:12b:cafe::bf) by BYAPR07CA0087.outlook.office365.com (2603:10b6:a03:12b::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.25 via Frontend Transport; Fri, 7 Feb 2025 06:30: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 SJ5PEPF000001F4.mail.protection.outlook.com (10.167.242.72) 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:30:16 +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:30:11 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 18/25] ASoC: amd: ps: update module description Date: Fri, 7 Feb 2025 11:58:12 +0530 Message-ID: <20250207062819.1527184-19-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: SJ5PEPF000001F4:EE_|SJ2PR12MB8847:EE_ X-MS-Office365-Filtering-Correlation-Id: 2974a25b-81a3-4e65-fd13-08dd4740e316 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|82310400026|36860700013|376014; X-Microsoft-Antispam-Message-Info: tFvnQoDHMJibATpyC9EmCKYlTfXoEx3mo/RX9WP5KT7k6NcLu9W8IJeF81caAQyyH83e8iACI2Km+Kg/p+XO493eBjSbh2ubYlOCkABJq3wwXueoGJLy8CUwlpJ/jhZZyf2+RTGMWXrSFVCv/cZNFwvBYCyWYXYeV/CvST8v9BkJ0ps49hAbCmh1kM3xVwMSe4SFxebUCrhrnmQocAOUrFwRwKxgbQ+pN40phbQNxX8PfbBP8d2pc3b/sEOSquFm72LVZae7TCOMHJxidKxrjYisEuoeMBKUwtYyE5pO/2iZFvOy3NS+9BTGnuouWU/6ke//eo3R/uX+FPSeYX2iBJgS5bZ88276GawqUjbOitDBbd+qAlcy+++2cvR/0IV34r/GbUoFyCPcOR3K1VM4lk5BnWlDva7tOh+oe8QeBhnv5hxe+MTONzgums8QK9pnfkWIbHzOo9PCsVSS+eoOc3AFooABy/qHokIM6JDqZb5XIlgUsGMrPr9IJDfSSHGGcNTNjuYwuhFUW/SoElT9D5PMhmkIkIlhkyx08RBqiXekNsmbXlHSu7oOI5QeTJj9/5d0FuEZgo1CIA4culuDcaRkU2/UydBSacQmiSX+8q4b81QAigx7H+BZuMRNEpvXMj9sVxW6FgSURJ9g6VzNe+jWAXknXJfZJHOWoGr6QOJyvdMx8cfwog2CseLsfYcJJXbc5f9natj7xxdj98bIoL/SiPv02jdjYQqGwiIxGw+3jla37YEvxWPaPyYNXPngZR8D4xvYVGljDLTbtwXkLvbE+vkz8L9awQtMtpXv+3Kz6XvBNTpZx+j6aCBhpYwPzF4RRhvrAflFkenenyckiyZoVwMjxB/13Yz8KVXsiuUYjFeCjpG4WrSOIQfQpAPGHRzWsFsxJGeSq1tmTArbLjsfqu1cMaQ98u6T1Gc+eDLIBTLY9BVoFEdC1CBXKi/bj8CYLvpyMPdWbyd5JotsrHFjUHK86bSawfh1xiyjWVYgt6eotivSUGOn3x6b6o4Zdl0vTZT1Uw/wVYZLHcRaEGH0C4jnKMBK3T3u3mDOZZ/MdLQkznGfvFecPqfAD07Wu3p0Z7BcFfJFz8MaGhWUK/lS4/v3+K3Yt8crDcB5Ii8DyevvYm/8ENNoSJSjfYOy8N9zN5xDYfsKp933jJ2aI8afPpswZeGc1dus3J2Wm8lK3lDfcdn8PnSBG0V+AVhq34Q8mc6NCVQoABQn856sccVJ0Btf/9R/7217p+rFIheuoWApygnDLLQXCXnsmydwJ6zyJeVL4dFkIjp9I6hqlJ4aou4foc1+OKSxiH6J2dTtX1xFFlClRpc+5JyYCr9knAEe3GtKrooE9f8IqujGHMuH80b36gJiH/8+FkbSIPdRtQooBo77JFcw0r1ablr+Z++yH+ElWZPohnZ/6ZlQtSso8sPYHHXxE+UhnZgYFKXv9+UrmqqcDg4V0FeugSLIwiI8rROaAP6w0qWnwl2n0kUN8ByuvhOryXiV8hrppew= 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)(1800799024)(82310400026)(36860700013)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:30:16.8329 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2974a25b-81a3-4e65-fd13-08dd4740e316 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: SJ5PEPF000001F4.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8847 Message-ID-Hash: HGKI7C3VVZBQKW2VUDGMJW7MM3PB5MTJ X-Message-ID-Hash: HGKI7C3VVZBQKW2VUDGMJW7MM3PB5MTJ X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Update module description for Pink Sardine platform acp pci driver, SoundWire dma driver and PDM driver modules. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/ps/pci-ps.c | 2 +- sound/soc/amd/ps/ps-pdm-dma.c | 2 +- sound/soc/amd/ps/ps-sdw-dma.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sound/soc/amd/ps/pci-ps.c b/sound/soc/amd/ps/pci-ps.c index 6a725cf36345..3a6034e074f5 100644 --- a/sound/soc/amd/ps/pci-ps.c +++ b/sound/soc/amd/ps/pci-ps.c @@ -723,7 +723,7 @@ module_pci_driver(ps_acp63_driver); MODULE_AUTHOR("Vijendar.Mukunda@amd.com"); MODULE_AUTHOR("Syed.SabaKareem@amd.com"); -MODULE_DESCRIPTION("AMD ACP Pink Sardine PCI driver"); +MODULE_DESCRIPTION("AMD common ACP PCI driver for ACP6.3, ACP7.0 & ACP7.1 platforms"); MODULE_IMPORT_NS("SOUNDWIRE_AMD_INIT"); MODULE_IMPORT_NS("SND_AMD_SOUNDWIRE_ACPI"); MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/amd/ps/ps-pdm-dma.c b/sound/soc/amd/ps/ps-pdm-dma.c index 318fc260f293..e726186fe8c6 100644 --- a/sound/soc/amd/ps/ps-pdm-dma.c +++ b/sound/soc/amd/ps/ps-pdm-dma.c @@ -458,6 +458,6 @@ static struct platform_driver acp63_pdm_dma_driver = { module_platform_driver(acp63_pdm_dma_driver); MODULE_AUTHOR("Syed.SabaKareem@amd.com"); -MODULE_DESCRIPTION("AMD PINK SARDINE PDM Driver"); +MODULE_DESCRIPTION("AMD common PDM Driver for ACP6.3, ACP7,0 & ACP7.1 platforms"); MODULE_LICENSE("GPL v2"); MODULE_ALIAS("platform:" DRV_NAME); diff --git a/sound/soc/amd/ps/ps-sdw-dma.c b/sound/soc/amd/ps/ps-sdw-dma.c index 557d312a23b2..2461c6421ae9 100644 --- a/sound/soc/amd/ps/ps-sdw-dma.c +++ b/sound/soc/amd/ps/ps-sdw-dma.c @@ -793,6 +793,6 @@ static struct platform_driver acp63_sdw_dma_driver = { module_platform_driver(acp63_sdw_dma_driver); MODULE_AUTHOR("Vijendar.Mukunda@amd.com"); -MODULE_DESCRIPTION("AMD ACP6.3 PS SDW DMA Driver"); +MODULE_DESCRIPTION("AMD common SDW DMA Driver for ACP6.3, ACP7.0 & ACP7.1 platforms"); MODULE_LICENSE("GPL"); MODULE_ALIAS("platform:" DRV_NAME); From patchwork Fri Feb 7 06:28:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863883 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CE560C02196 for ; Fri, 7 Feb 2025 06:35:05 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 312566028C; Fri, 7 Feb 2025 07:34:54 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 312566028C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738910104; bh=/J0SciXYSk5Fz5CkhnF9pUTHtJIBJ9PPfSHjGlFrTAg=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=TEQtnOoN63r59QP/ldoOyjdUdKw08FsCT4tfnEvkBrOOzc1ORLsNgzaWnVqKNRSws iMFwqBy7BkgXwzCOKqOp13qb9prKlf6/TA8TBWGWErMG6q/2sXzCtw5FFrbFi78VqN 0A3a2TmnGvSNRN+4rmOmmvuz91fcMleA2144bxtw= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 7AF9FF89684; Fri, 7 Feb 2025 07:30:35 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 53246F89678; Fri, 7 Feb 2025 07:30:35 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 482DBF80636; Fri, 7 Feb 2025 07:30:28 +0100 (CET) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on2060d.outbound.protection.outlook.com [IPv6:2a01:111:f403:2406::60d]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 0DC80F80C70 for ; Fri, 7 Feb 2025 07:30:23 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 0DC80F80C70 Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=xHYkLEY6 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MEoXOx53ca9F6wgoxHwdD3HzauuUnFVsPnXqH8qBHoG8gcepORa882kpJ/G8iTeZcsWZApjAgTQgzzyIdn5uEgHFPnw4AVRhvPk25bMF04bFpfJ37H9WZaHJTufGn5F3myS7H11k7WIOMCxPCCriznWMIEoCxE8FvAsYqeLY1OUWshVjpIZ46XpFKYZb4tcBdW7ML0WJ1ScTn7M8gh8BAabEybMY4gKEuDDoIxwcmvkhfH9hyHGGNXPXvcYSo3yZzmGlR6leO2bS3YtRjqucffWH5dfexMUlYEkorxDC3SOOuiU2sraxnNE5k9kzbniMgei6XmaeYaT2PccDX69I5Q== 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=zeB0GOlfYLOKWVgbkcnQaheZSSzn52yBob3fgyODEoM=; b=rb8uVSQQAcl+ggEfozXvZgdtG/Ho6hINLd2bArhcgD/NVuEVUdK8aL9w4N0MBbisyX3p8ldkucq/R19rlynvhWBWFoxtCY9PDeEgVW78r7JJ2rlOjFABPTOreAqKZwI76GRHq5ZiEY2Vvae9sFL2hwIqFlrhnD82VEsLRTzqx9UnUwT2GOKcMF9Kn71p5QOT3PGs2pmO3yNtwNtgOmZH2iXGQsMgQ9FLV+erNDSXGfaIiLw8xCuHff6GwvH4jplrSJ7iNOMhHVlXwtvZlnsljTksm0/LGptwgqCp5xVjHHk4vlW6xWhW5UBlyJ6OV6UmX5m/JbdRd4RcTBGeaLDnag== 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=zeB0GOlfYLOKWVgbkcnQaheZSSzn52yBob3fgyODEoM=; b=xHYkLEY6kGAAtqU9tNtWdeveU3qIr4+hKXAbbcWj1HasC645fONoXSW6S+oSEXw6etcSSe9KeY0i5ngq52/Au4tw2l+1xMQMYgHyhKVMsH6yXIVHt59Om2NZqK0yVIkvGFQAXupoGXv/K8xE3NkRfFT2h6Jmiz/pXsdl8QBWYK0= Received: from BYAPR08CA0061.namprd08.prod.outlook.com (2603:10b6:a03:117::38) by CH3PR12MB8933.namprd12.prod.outlook.com (2603:10b6:610:17a::22) 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:30:20 +0000 Received: from SJ1PEPF000023D5.namprd21.prod.outlook.com (2603:10b6:a03:117:cafe::d9) by BYAPR08CA0061.outlook.office365.com (2603:10b6:a03:117::38) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.25 via Frontend Transport; Fri, 7 Feb 2025 06:30:19 +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 SJ1PEPF000023D5.mail.protection.outlook.com (10.167.244.70) 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:30:19 +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:30:15 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 19/25] ASoC: amd: ps: update file description and copyright year Date: Fri, 7 Feb 2025 11:58:13 +0530 Message-ID: <20250207062819.1527184-20-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: SJ1PEPF000023D5:EE_|CH3PR12MB8933:EE_ X-MS-Office365-Filtering-Correlation-Id: 1e38f7e2-03e6-469d-f985-08dd4740e4c8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: n0NMThKvZJHNz2T7VQsRoC76EP10cSnkJ9sOkKWBi03U9r01FqTCdmvsFkOM9cA/MnIh9FAiRp3MwftGwB2i0ec3Ym5cHe4QbvfKRUe8DiFBRpsa5rcKJ3ZAZ7JqizVWqhzxaNk36MteP3s/mG2Z5/bq6Z9fOi9jkHX9xd7PCU1Bh12XHk+GhffVMwrpl/OA9FKcWKOfGszFnRFDSfe6mbms19+MYAen8zeyRm2MjTqlpkcZvwI2B5HXe4bRnp36+zki+UcWfVXKWyXEZZtr7VUauKcKJomgDLeBBWXO7e8WGHVWwh9cCcIknSt6+9VmoYKm6b48sIqt1ybJH/PCBS0KG+u9Yle9vReY602j8jceDHdzVhwKWL8TMhEK/VxP62ekRM/bWTZ7eat0KEbM3UWjIcOeMJ1CR81kG9PNkmFL/OAQjJoryff+DLbc/nKiPbCznItftIKxkMkU54Kjd8cBNKrvT3uAB3rjbCR2eTmrfdRnx0CpruJsHYDF/NyIrnLOuPUIBUYlLX7uc+Dwab2+E7VgeiNsZF8ApEMV3z6UGcXaX5XIxVOZhwqGSC65Xr/UaHyy6hY/XUVbd/GlbFHEvBDVtjAxMAQsP4amkxTgTtj75l+fW2w5HY0hg1Xog+p3XpDpggC++N9ljZ2fvDapd8C/EyB7YVCLIfWaZ1uqGmJr3uSnEj5tuBfWYVyijhD6FQShddT9plxkNt6wcZ3PSM6Mp3LKd/S6ANM7aAM7uVrqHhcMTsNrCUYjU9sI+79voPpKVO3xu5VmSsf303e1MPy15oNaC/D/te/IWBUu2aze4Kp89l2aQzLSJRDnUC55P7qtjoPfN8ljHPmBRsAt4LDhx3ZQ/LOi2guht8SCnVw2XjSRJapMVRunGRBpZnA7pOSFo+TURpKARweZUFq5cTIhv0PSnx6z0PsJyRDPCCVDFdIo3OXRqlodtE6lX/nXUJJkufezWE1N7ZiJ/7Y7qTO5QaCtjw01FZhPBMsJNLnkaN3vcmpOskVTXYXEghWq4GMrrqzvnzTM7Pm3dCOVPCbcGWXQfZhD1X6Nq9ekLWInXIsl7Iq8IzhCrp0faRAb2GbfEeZW4wdAJEV/NaQce2REfkVHljqV7yGdQ45yZS+RDLKqcSfHuAiyR+2/yHnU4EQ5KnJYSxVRqH8eLrYMpi/s5BTqPX3nurKYAxTjgdSrn9+XLsYNTU6A+u1s+GQJBzPkOc/d0Fxs3cfkx09N+UIkn6hBi1flyvx9ppOlPU2KfILXW6fOMvSKD/QUorFXnpPQecqKXinCsGwlEo6DKG8pUwDY/lsGHWn0OH2WvqfdY4m1qahZbDnslZo75/kD1hUx4Lu1SBOz48+GoOHMh532eS14tOAuFVXYq+cyWM/8EdvumCXcltuRPl81uMJD9lnmEp4iy8rf+W5SdoKgQ4tekOin5eLD4dz/ThdUrFSKaBGc/vwlLWCGmHTJCMQc90LhJSGYLiEG5crKn8fkjNbwVC3OQotbblJv35g= 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)(1800799024)(376014)(36860700013)(82310400026); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:30:19.7396 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1e38f7e2-03e6-469d-f985-08dd4740e4c8 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: SJ1PEPF000023D5.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8933 Message-ID-Hash: 647W3AQDT4537WJ2SDBP3JTNJIPDBMPB X-Message-ID-Hash: 647W3AQDT4537WJ2SDBP3JTNJIPDBMPB X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Update files description for acp pci driver, SoundWire DMA driver, PDM driver and acp header file as new support is added for ACP7.0 & ACP7.1 platforms. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/ps/acp63.h | 4 ++-- sound/soc/amd/ps/pci-ps.c | 4 ++-- sound/soc/amd/ps/ps-pdm-dma.c | 4 ++-- sound/soc/amd/ps/ps-sdw-dma.c | 5 +++-- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/sound/soc/amd/ps/acp63.h b/sound/soc/amd/ps/acp63.h index 9940151b0675..85feae45c44c 100644 --- a/sound/soc/amd/ps/acp63.h +++ b/sound/soc/amd/ps/acp63.h @@ -1,8 +1,8 @@ /* SPDX-License-Identifier: GPL-2.0+ */ /* - * AMD ALSA SoC PDM Driver + * AMD Common ACP header file for ACP6.3, ACP7.0 & ACP7.1 platforms * - * Copyright (C) 2022, 2023 Advanced Micro Devices, Inc. All rights reserved. + * Copyright (C) 2022, 2023, 2025 Advanced Micro Devices, Inc. All rights reserved. */ #include diff --git a/sound/soc/amd/ps/pci-ps.c b/sound/soc/amd/ps/pci-ps.c index 3a6034e074f5..2cbfeb07d5c4 100644 --- a/sound/soc/amd/ps/pci-ps.c +++ b/sound/soc/amd/ps/pci-ps.c @@ -1,8 +1,8 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * AMD Pink Sardine ACP PCI Driver + * AMD common ACP PCI driver for ACP6.3, ACP7.0 & ACP7.1 platforms. * - * Copyright 2022 Advanced Micro Devices, Inc. + * Copyright 2022, 2025 Advanced Micro Devices, Inc. */ #include diff --git a/sound/soc/amd/ps/ps-pdm-dma.c b/sound/soc/amd/ps/ps-pdm-dma.c index e726186fe8c6..7cdeb34e8f73 100644 --- a/sound/soc/amd/ps/ps-pdm-dma.c +++ b/sound/soc/amd/ps/ps-pdm-dma.c @@ -1,8 +1,8 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * AMD ALSA SoC Pink Sardine PDM Driver + * AMD ALSA SoC common PDM Driver for ACP6.3, ACP7.0 & ACP7.1 platforms. * - * Copyright 2022 Advanced Micro Devices, Inc. + * Copyright 2022, 2025 Advanced Micro Devices, Inc. */ #include diff --git a/sound/soc/amd/ps/ps-sdw-dma.c b/sound/soc/amd/ps/ps-sdw-dma.c index 2461c6421ae9..21b336109c99 100644 --- a/sound/soc/amd/ps/ps-sdw-dma.c +++ b/sound/soc/amd/ps/ps-sdw-dma.c @@ -1,8 +1,9 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * AMD ALSA SoC Pink Sardine SoundWire DMA Driver + * AMD ALSA SoC common SoundWire DMA Driver for ACP6.3, ACP7.0 and ACP7.1 + * platforms. * - * Copyright 2023 Advanced Micro Devices, Inc. + * Copyright 2023, 2025 Advanced Micro Devices, Inc. */ #include From patchwork Fri Feb 7 06:28:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863016 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D4364C02196 for ; Fri, 7 Feb 2025 06:35:26 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 3B70260276; Fri, 7 Feb 2025 07:35:15 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 3B70260276 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738910125; bh=HT/WYyoNb7Ak6bfRUxM2cBTsmJfApcoItYE214m88Ew=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=e3alUgSHyKRP4A105UiPqZb44UNh575ctcyUQgRC/DTe31gdZUsvfktr6DCrXJ2+i a4sG85cPgW+MtqFtm2RGSVefKOUS6A2Gm61tv+ph7vjrbYjzl2pxMkFIznyaURVGX0 GF8Fcg7TzF6IfhWCLMD+HVbbifhmu2FiVE5zCYYM= Received: by alsa1.perex.cz (Postfix, from userid 50401) id C07ECF896F8; Fri, 7 Feb 2025 07:30:38 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 6E8F8F896F0; Fri, 7 Feb 2025 07:30:38 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 2834FF80640; Fri, 7 Feb 2025 07:30:34 +0100 (CET) Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on20625.outbound.protection.outlook.com [IPv6:2a01:111:f403:240a::625]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id DA15AF8060D for ; Fri, 7 Feb 2025 07:30:28 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz DA15AF8060D Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=dw12LYll ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=B5s0bPvo61aAzsav3zjPY3vrbCBE+U/H8Bc7wmhvd2R69qX7BEvEjIjGO/MCvTHJNDbfZNHcArjDjlm+OJtVW346Mzm95axMLUs0AGHFClwkt24ipWhQ6aLIB9Qi+UNmyzDUhBfciiaIn9FxOn4zgQ6NkBMgxDGAss0m3gGlIxmzd302k1FHLGLd5AXuySGrV1wH5k7IkP4FiZqYeuY1l7TPZrJGVl7fD4CafOA6RgyVJ02cMhly+BToAmBl7D8G2OlDVCe7Ry9sDU9L9HYjiB9cnAQmxrpUxtkV2Zn4Oo0LMpmeYKoDsxsN+DlCdwjBcqJj4xCblEKxobwKBZYQyw== 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=lXi6JwICWCjhKGxjpnX3NCL2X9Gp4MZ20f4F5bwn9WQ=; b=S1mJLm7CxVhtcK1iv/bTStNGhTowRMDHcKJuFsQi1ChNbD6h1utTh+NQN3DZt7FdI/p9miwhfiIUVoa5AXfqVwBbY7kn83urW1eiyCEER+ajdejSAhi+NRTjg4fQndLPH+/XclHHdmNBIU4rippDvM0wrIBz4OYWYl7uTwx2S5UmuJG1DG9Sbe0ZOQ3qmy/wr2lacLS9WR0SNSf16E1aJwFhrPeqpx227z1FRG0SrZl8caTeoTb9QgAXrmshN1znR00KpqjOKgToYxrMAkW7H+Io2uTvhgFLnFBM+n5izAudYYH/AV3Rxqoi42lf0zzTct3dFyjX6Cy10oET1WqMTQ== 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=lXi6JwICWCjhKGxjpnX3NCL2X9Gp4MZ20f4F5bwn9WQ=; b=dw12LYll6G9y0qlYcBIhQzR3Htst9jKia0xoauXDvh7zmyzPvBIwTTC52TZspa/G/gyvgVjYTlSKLelvHCTpiN1WFQdvdSL9Faz+ZlZlRQvN2AlUr0ldOpMGVeAZYRl89QtCmYTPM9D1IqGU/MwB715M6SdSWQxBFUfX63zIPps= Received: from BYAPR06CA0045.namprd06.prod.outlook.com (2603:10b6:a03:14b::22) by MW6PR12MB8960.namprd12.prod.outlook.com (2603:10b6:303:23e::22) 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:30:24 +0000 Received: from SJ1PEPF000023DA.namprd21.prod.outlook.com (2603:10b6:a03:14b:cafe::38) by BYAPR06CA0045.outlook.office365.com (2603:10b6:a03:14b::22) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8356.22 via Frontend Transport; Fri, 7 Feb 2025 06:30:24 +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 SJ1PEPF000023DA.mail.protection.outlook.com (10.167.244.75) 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:30:23 +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:30:19 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 20/25] ASoC: amd: update Pink Sardine platform Kconfig description Date: Fri, 7 Feb 2025 11:58:14 +0530 Message-ID: <20250207062819.1527184-21-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: SJ1PEPF000023DA:EE_|MW6PR12MB8960:EE_ X-MS-Office365-Filtering-Correlation-Id: c25e1a7d-7a1e-4679-d2c6-08dd4740e74c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: h7HD1pv5JSwE1h6+bQFqsZ+tnTWhqGwPg7+1RUI5lfQqD1AqRb/+6Sbh+3iqbxgauu/iSTilVYW5+hQkWle9I2ea9RJKs2nm8DShC5KtX5FLuyQb2A0Ielm5QcHkLDFVoaTFHvAQO8RvNWwtAgX54nd655lj8RjYXdt1cCHf0HKBOkee9opaY5HvUOLu9yvVaGGdtjzh6FPxNRVCUkgrTy9X24utnOGejB10tRnqKhGs5ku5etv5bnP0peoTxtatWtYuNMjYdai1E/eGImLoZ9x6V6G3eCgT4KG9sGwSSGsfkHGmxY4xj14MXcGae1ot7pCaHQ/7WGp7loASIYNMVIX3xpBfU4zIfq9FipgV/P2lP9OMbm9si8hCbL93sxOWSFH2Z7gKoMLqGUdeFqaEkpaa9XJGT776s1GC8dw9sNKFlRkGb7OHEMP7Uc+zma5A7PzF6Vwwbj/mU3OmTPNMhJdrFDth/Hz7/GNcjS+MvOhIcB91FjTwV1OqQzRgi7WlKAWbLCycoMgUDoCytG+KyUNsN3f6P/0iQW/m7p4P4bfGE8D6jboRpp+Qa3tDkIcLtZDjkbvfS1KSrTK62DWt3Vky6WZCIEYUlWmK5sTBIWR7QshX5NgzBmhlUsAD706z+dNSH6nbgCN9B+CKONVSwpVr2ZDKbOt2B8kQJc8BQkD01T9rTCD+Qgg+tOepJ6hJzFfd9NPE4IVCGsXUezOKlriW1zkhe2/xVgI3Ej1uF29LqBuNr6+nTQC+3OJFXuwsvequE8MS+izpaQWY8OpUw5AQTpEu5xk+7OXqcHQSUivHzV/IgHOC86rAKoOBl7tq1yRFQLbM3dT4Mbxf8Yz2jLudlze2AhIeqsue4iCKkWGGYYG0cBKfIA1WhXaenpeM22JtzQeOix5qnIdgzEiMtF5gbTe8gRci7rtk3Fchc4coRmR69vtJu6K3FJFZfw/v5l+md/QtxQcKhLqyv0ssnTuuPAQLyXxFsNQ8dg7PM6Xy0cv7XpGq01h4nNt3m7wh0ZxceS/DYGgWnU4CKPsh/JcgpP9XDzf4dTB4R13ZwCdBzirT1YGwi0bRwNw2eSI/UIKDDBr89HtCfQ7h4OoujvLZ704h00QDeIFHFYTgyBcRvY6+VqCp/ctqF9+G/JueoruXoiM4wvm1McNJBnfeIYpaV4qGXXcMa1zb+8HzOgDh5nwTO84zhe52y4TlGy72IfxN0ZZhT8wsFxG6YaBAdgzbprkY7SV9TFc9hKIdWtHJVFkwHZ+WmWAIwd9WjQg1C/pZYzFPiJRP+X1U3r3CEXAfPS6ycfUzeknH2E6bopk29ybQg3dw2X1wMxRavUE3zxZlK1lGTO3UhRkMM6RIiMp4QwWLePJSCc+gXSqXXfbPTbzdoDB9QSfn4JdeLjmJwK0ZSJMb0HsCpzLIGbxeV/pQynzotZ+8dmFBkiCbmujn2VBwuGguOpJSiHHTlte5pOwekt0scWPy8kzZC0NGszaYRab4v0+WxxHuQa1QDao= 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)(1800799024)(376014)(36860700013)(82310400026); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:30:23.8966 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c25e1a7d-7a1e-4679-d2c6-08dd4740e74c 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: SJ1PEPF000023DA.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8960 Message-ID-Hash: AXCYPVPM77HSBWW7G3MISW6S6WUJOGAG X-Message-ID-Hash: AXCYPVPM77HSBWW7G3MISW6S6WUJOGAG X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Update Pink Sardine platform Kconfig option description. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/Kconfig | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sound/soc/amd/Kconfig b/sound/soc/amd/Kconfig index 803521178279..c7daae392d74 100644 --- a/sound/soc/amd/Kconfig +++ b/sound/soc/amd/Kconfig @@ -161,15 +161,15 @@ config SND_SOC_AMD_SOUNDWIRE If unsure select "N". config SND_SOC_AMD_PS - tristate "AMD Audio Coprocessor-v6.3 Pink Sardine support" + tristate "AMD Audio Coprocessor-v6.3/v7.0/v7.1 support" select SND_SOC_AMD_SOUNDWIRE_LINK_BASELINE select SND_SOC_ACPI_AMD_MATCH depends on X86 && PCI && ACPI help - This option enables Audio Coprocessor i.e ACP v6.3 support on - AMD Pink sardine platform. By enabling this flag build will be - triggered for ACP PCI driver, ACP PDM DMA driver, ACP SoundWire - DMA driver. + This option enables Audio Coprocessor i.e ACP6.3/ACP7.0/ACP7.1 + variants support. By enabling this flag build will be triggered + for ACP PCI driver, ACP PDM DMA driver, ACP SoundWire DMA + driver. Say m if you have such a device. If unsure select "N". From patchwork Fri Feb 7 06:28:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863882 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E0AFAC02192 for ; Fri, 7 Feb 2025 06:35:41 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id CB78A601F7; Fri, 7 Feb 2025 07:35:29 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz CB78A601F7 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738910139; bh=eKz94r03Bj3HUXDITDlMe71sedbSRkGB3BEuW/CGXH8=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=GQGdNbWNi0RS1IRhMpUY613QbRuwRyfYz8uqLhI35RvXu67E3cMFKGTowy60Gt8mG 4PURG1NZY3enqnr1hYufFTgHrQdHdnSayCtTUWXpQ+qKllucWwYHlUmGBJIMDhGNez fsu/OAZT+3BgmPGQCtELoFG2kxsWAbH+mpxp0IMw= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 8DD78F89701; Fri, 7 Feb 2025 07:30:40 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 2147CF89712; Fri, 7 Feb 2025 07:30:40 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 46B6CF80633; Fri, 7 Feb 2025 07:30:34 +0100 (CET) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2062b.outbound.protection.outlook.com [IPv6:2a01:111:f403:2418::62b]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 6533EF8961D for ; Fri, 7 Feb 2025 07:30:32 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 6533EF8961D Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=J1mVSdFO ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XcuXSO3uSWeG9+eCu4EAl9+3+xTVgTcdmO4oO2wjDF7TwhJFnf+/JdqqRArZ2pTtbLb3SVxXX/ewz0AqFVL0RcEMnPMml6wzkdSBpVlzuPUG8NyjY6DaEtd4EiheSOZGIPy/I3A6LXzP2W0InfwPuKWGKpLnuFwYZ3ZLiTmCbiWiOP1q8sSkiQgUSA/y4iFeOFuWa3s7zey3mHDOyWZ9D/ekrecmiGpoi9m37jzkwPQHISlwouXAx+9u5yMa713PXFm8f/HCxl1nI8A6XetDETYd4gNy1mhReRtL+dV0017o4dC5zH/cU++w9getrL2kHBUuJRn4Wfm+Bjvvw2qnDQ== 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=ZFtXbMu6V/L/QfGLSV6sdrizMEVOab+bPR3qdxribpk=; b=aVYJj89EdSpbwfT6095v8DiCfMNUB9HSRcg72lG/M/utL8ZvC9NZm7gEeguMFmo0/EyAzZi+aYksfm4TBSF8P+OeLIYcFnQYoxsKkw+OMWJ6OQ/osHtvrbbrQDS79Gf5suVMc6XiVniuWxSPL8SDcsjkn+irKj0avgkfjwBeKLHURZkKf+4b8HIq8dy4kboZA4Ah9AYEb6Qs4YbqRZgcaqfBs5z1EsFBAaSSLwtPWgUCDjgcN7w9/DMCjLA2p31Z3Q2jITX+6D265xIsHRX3ceTKm/9Sk/VUi2qTjYDEbXxOiCVfaMrSPC8lqOiRETKnNeYunGhtl+iXktK+MDOprw== 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=ZFtXbMu6V/L/QfGLSV6sdrizMEVOab+bPR3qdxribpk=; b=J1mVSdFONqvhm/reMi6z+szkIhmo9AahLDaObRpvqBy8fdngVmRtpeiXXCrTja7BpdiB1mKLmOEY5ecl0cMD7QAr9exqWmfoE9nF9xL40EYrQm09vN/J0Zzj9fRPa/n9a82aOdywSxb3cwN+SUxlJ8FJEQ8Q8QhA/ArkzrMwtzQ= Received: from PH8PR07CA0008.namprd07.prod.outlook.com (2603:10b6:510:2cd::16) by SN7PR12MB7297.namprd12.prod.outlook.com (2603:10b6:806:2ad::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Fri, 7 Feb 2025 06:30:28 +0000 Received: from SJ1PEPF000023D8.namprd21.prod.outlook.com (2603:10b6:510:2cd:cafe::d3) by PH8PR07CA0008.outlook.office365.com (2603:10b6:510:2cd::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.28 via Frontend Transport; Fri, 7 Feb 2025 06:30: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 SJ1PEPF000023D8.mail.protection.outlook.com (10.167.244.73) 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:30: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:30:23 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 21/25] ASoC: amd: acp: add machine driver changes for ACP7.0 and ACP7.1 platforms Date: Fri, 7 Feb 2025 11:58:15 +0530 Message-ID: <20250207062819.1527184-22-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: SJ1PEPF000023D8:EE_|SN7PR12MB7297:EE_ X-MS-Office365-Filtering-Correlation-Id: 9083441b-01c3-4f45-d72f-08dd4740e995 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|376014|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: NRejEVcS4aYcp3rCPv6Q3NVDtktjm4kAzkb9Y0ukW+6LkUTBVfSxoRQgR5TCuf3OrWUBCunEdoFRNk+fY6wvy5vUoDH/csX8lzM4FR3QXc3/Lk3SyCygj7CnMbknTRYelGtsJKfQPyPG+QYm4/WF5ZT05SfmTOLwvMJmS/W1L/+GHmTcBoCNMSWZb7W3zre+cEa/SW0Av7OnAKUuGp4g817nBxsmNbPlOP0djbkvjvWvitN1HlZsCxjT7CHeGojR7VK1RSV/HOtPR1jDAUxsy7zZJqCLoO3vnTZ09KDVBDyutpT8yAT0MawoVfdeI7gFqf+HhluxeggVa8TrXwM813I81eQqI42xMOxXA38OS9ru4iRtZfWs0DKaHrzEbKiP25A1MtQpuRl0P/M0fn0y9RN1XpZMufgKTshjWE3Wuc8EKxR16MYHxSzzz5DMqBPcEi8KYEF/AFosA4IAp07cqPYABUuPa1nypKd/UM28kFAnfW6/DKNgRpd9APVx/kNqIWAdRWl9ujmOMKJyDLT1YMC1+vs5ZoFQ9yBFr6XHhvN5TDmVMOZadPXGpqavpgjj1+UV4J2Jm0IlnMRIqiPNMGcyQNsIo4l0asM4KRNkCXcgtNWaI6Pok0wsMu8C6Czr+DEzJpooyPo0g4IyGCxeeEsQ595qR2CD5swHSo66TIFUzsM/dG8xlnQKtuT8L3IbwlPeya4Pup2Um7oCvP+vH5fyk9kr6QvLb7nY/LH+vErk+77daISYpIeJ3HcxfyNYmLBISvjRMscFNfUMuelIyTjcXJVqgZhSFI0BNnc6eklTtx7xSWQoX863+w1DN2Stc2veI7NTGKxC/dY+fhg0q+WCIt2RaePWOVcqSPXEWo6MwCUCh9Py3CSa8CFF2kpaX7rL5LzombZpYNFwIt8SUj6pg01hDkN6uIvq5XNuZMu5GxORlPM9H0HGevVaNbxuFLSpojzDuc2NEvRe+GapPrwvmLJNOVty3ATzFsZA94HKrIcRwJESKPGvm81iq/Z9kQrkJqMxG9p1cej0zokbJYxaneN2u3EpCkvrgXDwxwv0mBuAgEDIXykwcBG9Gp1qlWjTWZOtww/wWRsf7rjRet4/+1EZcCnkna2eSoaYq0nH+qRVQWnIryjemyQR8u370Y+ASKwr+CcMbXbwQC3tDo8j6WHTzRMZLEj42uH/Y5LEwXaLhWOsF7tPcoEo9Zox/sAZfcjvLcvo+QBN9FdIjhpB2ZR1ojzfM/JzHVRr1IE3U8JtPCII8Tp2x/O/et7xqUhTUWLl2MB7PE1FAeZuUCNNPjZsKdZA80tJC8aHogjTuy3ryPqtZmluOoE4LzNsTbPRBoDvCwVIyJrN1Cqbsnd4peoiO6z0G1verC9/OXHg7QHngQ3pCSoluMEWrBOcxV/GH7DY/4zs0BlIgCIuZBSRS0qIMInXPDOyoYqMDdBCarSh6npZsz3rEQClBJyi2pDy9jRbg/3q0UWu82fukeSo0Obu7IY8L8mnXGG9qLA= 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)(82310400026)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:30:27.7306 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9083441b-01c3-4f45-d72f-08dd4740e995 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: SJ1PEPF000023D8.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7297 Message-ID-Hash: JJ7JB26FBK4FJEKUCNWNUSHTLC5USXFI X-Message-ID-Hash: JJ7JB26FBK4FJEKUCNWNUSHTLC5USXFI X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Add SoundWire generic machine driver changes for legacy stack(No DSP) for ACP7.0 and ACP7.1 platforms. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/acp/acp-sdw-legacy-mach.c | 11 ++++++++ sound/soc/amd/acp/acp-sdw-mach-common.c | 34 +++++++++++++++++++++++++ sound/soc/amd/acp/soc_amd_sdw_common.h | 11 ++++++++ 3 files changed, 56 insertions(+) diff --git a/sound/soc/amd/acp/acp-sdw-legacy-mach.c b/sound/soc/amd/acp/acp-sdw-legacy-mach.c index 9280cd30d19c..00aeea70f04e 100644 --- a/sound/soc/amd/acp/acp-sdw-legacy-mach.c +++ b/sound/soc/amd/acp/acp-sdw-legacy-mach.c @@ -122,6 +122,13 @@ static int create_sdw_dailink(struct snd_soc_card *card, if (ret) return ret; break; + case ACP70_PCI_REV: + case ACP71_PCI_REV: + ret = get_acp70_cpu_pin_id(ffs(soc_end->link_mask - 1), + *be_id, &cpu_pin_id, dev); + if (ret) + return ret; + break; default: return -EINVAL; } @@ -221,6 +228,8 @@ static int create_sdw_dailinks(struct snd_soc_card *card, switch (amd_ctx->acp_rev) { case ACP63_PCI_REV: + case ACP70_PCI_REV: + case ACP71_PCI_REV: sdw_platform_component->name = "amd_ps_sdw_dma.0"; break; default: @@ -266,6 +275,8 @@ static int create_dmic_dailinks(struct snd_soc_card *card, switch (amd_ctx->acp_rev) { case ACP63_PCI_REV: + case ACP70_PCI_REV: + case ACP71_PCI_REV: pdm_cpu->name = "acp_ps_pdm_dma.0"; pdm_platform->name = "acp_ps_pdm_dma.0"; break; diff --git a/sound/soc/amd/acp/acp-sdw-mach-common.c b/sound/soc/amd/acp/acp-sdw-mach-common.c index 6f5c39ed1a18..e5f394dc2f4c 100644 --- a/sound/soc/amd/acp/acp-sdw-mach-common.c +++ b/sound/soc/amd/acp/acp-sdw-mach-common.c @@ -59,6 +59,40 @@ int get_acp63_cpu_pin_id(u32 sdw_link_id, int be_id, int *cpu_pin_id, struct dev } EXPORT_SYMBOL_NS_GPL(get_acp63_cpu_pin_id, "SND_SOC_AMD_SDW_MACH"); +int get_acp70_cpu_pin_id(u32 sdw_link_id, int be_id, int *cpu_pin_id, struct device *dev) +{ + switch (sdw_link_id) { + case AMD_SDW0: + case AMD_SDW1: + switch (be_id) { + case SOC_SDW_JACK_OUT_DAI_ID: + *cpu_pin_id = ACP70_SW_AUDIO0_TX; + break; + case SOC_SDW_JACK_IN_DAI_ID: + *cpu_pin_id = ACP70_SW_AUDIO0_RX; + break; + case SOC_SDW_AMP_OUT_DAI_ID: + *cpu_pin_id = ACP70_SW_AUDIO1_TX; + break; + case SOC_SDW_AMP_IN_DAI_ID: + *cpu_pin_id = ACP70_SW_AUDIO1_RX; + break; + case SOC_SDW_DMIC_DAI_ID: + *cpu_pin_id = ACP70_SW_AUDIO2_RX; + break; + default: + dev_err(dev, "Invalid be id:%d\n", be_id); + return -EINVAL; + } + break; + default: + return -EINVAL; + } + dev_dbg(dev, "sdw_link_id:%d, be_id:%d, cpu_pin_id:%d\n", sdw_link_id, be_id, *cpu_pin_id); + return 0; +} +EXPORT_SYMBOL_NS_GPL(get_acp70_cpu_pin_id, "SND_SOC_AMD_SDW_MACH"); + MODULE_DESCRIPTION("AMD SoundWire Common Machine driver"); MODULE_AUTHOR("Vijendar Mukunda "); MODULE_LICENSE("GPL"); diff --git a/sound/soc/amd/acp/soc_amd_sdw_common.h b/sound/soc/amd/acp/soc_amd_sdw_common.h index b7bae107c13e..9bedccfe25a9 100644 --- a/sound/soc/amd/acp/soc_amd_sdw_common.h +++ b/sound/soc/amd/acp/soc_amd_sdw_common.h @@ -19,6 +19,8 @@ #define AMD_SDW_MAX_GROUPS 9 #define ACP63_PCI_REV 0x63 +#define ACP70_PCI_REV 0x70 +#define ACP71_PCI_REV 0x71 #define SOC_JACK_JDSRC(quirk) ((quirk) & GENMASK(3, 0)) #define ASOC_SDW_FOUR_SPK BIT(4) #define ASOC_SDW_ACP_DMIC BIT(5) @@ -38,11 +40,20 @@ #define ACP_DMIC_BE_ID 4 +#define ACP70_SW_AUDIO0_TX 0 +#define ACP70_SW_AUDIO1_TX 1 +#define ACP70_SW_AUDIO2_TX 2 + +#define ACP70_SW_AUDIO0_RX 3 +#define ACP70_SW_AUDIO1_RX 4 +#define ACP70_SW_AUDIO2_RX 5 + struct amd_mc_ctx { unsigned int acp_rev; unsigned int max_sdw_links; }; int get_acp63_cpu_pin_id(u32 sdw_link_id, int be_id, int *cpu_pin_id, struct device *dev); +int get_acp70_cpu_pin_id(u32 sdw_link_id, int be_id, int *cpu_pin_id, struct device *dev); #endif From patchwork Fri Feb 7 06:28:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863015 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B48A1C02196 for ; Fri, 7 Feb 2025 06:35:58 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 12CA96028F; Fri, 7 Feb 2025 07:35:47 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 12CA96028F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738910157; bh=7X5vCo5ST658RypRcCSU1E7RLmfdeKJPk/o+dkTapts=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=VouCzj8kuxMpQ/C26KA+cs+KeQf2XZdCMT9NPGGnhAfjKMtAeFgPoSdXiF6kSL5GN 5L4Ln8Ifm87LYbpdyJooRRBXamSIIxBju8D/lqalt7VIrnZOTMoMCW+LLhFOH4Aadl 7ehjWPY37NDMHrP+lpcfrROvgamcX8dn5eYE1cZ8= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 44A97F8971B; Fri, 7 Feb 2025 07:30:45 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 341BBF89728; Fri, 7 Feb 2025 07:30:45 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 32936F8970E; Fri, 7 Feb 2025 07:30:40 +0100 (CET) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on20605.outbound.protection.outlook.com [IPv6:2a01:111:f403:2415::605]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 0131FF896F0 for ; Fri, 7 Feb 2025 07:30:37 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 0131FF896F0 Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=qXt4foSk ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=q4bsRHATY49wYynl5l4YPTJBZNj5T6YU8IWg6M5b9MqESrAi5F6tLv4YRVIOsoTrKSgR5H1s5H7wbXftY8LGdJKEUKHcGmcTBnu1t6YxAvtbxwJQJ7ED0r4TVER4aaaRsPbsNXXBQruJqBqcQEwbS7ZrfM1rJlpuEvV2/PSZWYH9zbAktlYvDiSZ9oFPG4H7vtP4eKqvQUIlj+BfyWW8pwoZDzcaVmpqSAwNrYg/2afWafjpTfezxh3ELalULnE8z0wmZHgsa8Y5Wkivc0qVZweCBKmQHqVPNcelB1jLi53oiWN9KpshtqBVZgjTGY6MmqFTJp95uLMXznlZ7yMLgg== 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=EA/cGCg8R5lVX9AlOiMY17HxDdkq2iEDfElCf1zB7Lk=; b=XFn40mVtGPE80iHhUVs+FSFIq+BiFD4vcDvHD6Bj0sjrppN1HpF/elvNasj/uoZM+seCM4B1Hhn1ZJjv+F1ELpi1dsg2Jo1NFb60lsLoszUlzUvte+Myw3Z/YKnEQ1CTmYrCFOV7uDDVzeYUiRxq74R2nYqI/zMptm04J+u6hc1ekdvQbtQCRU7ciKzuv70a45YROvDd+Ko+igemfUwTdceznCSKJlj5gNGRgCojhBUWRE+3LPh6P48vedrbxnNisryMQ3V0mNqv9zo8HE222D/GdjwlPd9EWy0GpNMTSwL8+d9fz8GICumKxWvble9XWHuePLkqzA22cMvS0QBD9Q== 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=EA/cGCg8R5lVX9AlOiMY17HxDdkq2iEDfElCf1zB7Lk=; b=qXt4foSkyuWdn+5fbROAflA/IhYq0f6CLTX2NfHQcYdT9Bv8S8VU20d6N/c2YMSdtUnB85PwiYGdvIfxOnLN6JReJuNrQGgBGNndc4Muzwj5QCwgWe/yPRNkJwUS93ZtrcAqbwbu/94Po5QsIu/51vkgWTtJravOUQgkBJsRtLM= Received: from PH8PR22CA0002.namprd22.prod.outlook.com (2603:10b6:510:2d1::26) by IA1PR12MB6652.namprd12.prod.outlook.com (2603:10b6:208:38a::10) 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:30:32 +0000 Received: from SJ1PEPF000023D7.namprd21.prod.outlook.com (2603:10b6:510:2d1:cafe::3a) 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:30:31 +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:30:31 +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:30:27 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 22/25] ASoC: amd: acp: add RT711, RT714 & RT1316 support for ACP7.0 platform Date: Fri, 7 Feb 2025 11:58:16 +0530 Message-ID: <20250207062819.1527184-23-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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_|IA1PR12MB6652:EE_ X-MS-Office365-Filtering-Correlation-Id: ed88e333-c1e5-4adf-7598-08dd4740ebe8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|36860700013|1800799024|376014; X-Microsoft-Antispam-Message-Info: phfOCFI9EbRuo+eAXCxllZQNchNbZTeYIQ8c35DN2uSyxqzRtgzDnetcaetLoPjx4u8kLe/I1eakkurKLFKJkijYWYujD6UDZqNfc9n/MProYyRpWlMIlutO4VwUv8pUHtO5nIBgAtwO6uaAb49pN6sqsP56MlpA19EYIPnb2aXDP6vZOo6ybgQNnWYyCZcGuFMkZr/FWeEeGiSU73owR+MdRJa8mAYKWxzIvU8/eIdODUtX+B5h3hsk7eF4hkyhCeQA8P20C+q7qGpJ3zEr4CgQb3mc0zdtAduUzWT39vV+JHFN2hyvE6v0zeZBkWlLh7pc3MmzbqLx8aX2W1DPMgcWfRQOTAazbRP7ajlvIkxtr9cPBJb97faeJHy9x6nof9/BkONcCthRxxUSQXnTBBXGVwmJzHgEJegupSRZmyfCfYocxwjoO9uEUuY8njjPylCZLSSWbJej3MmgxWl7A6PsdSq2EjIWStdSgTNTrOwq56O1MAABpCRSwOKbzxeYt9riGWkDn71jVCDoV2aiRk5TmcoouXuwcB8r0wBaK98NEbbKx6hGScFiQPwRbXiP3s74+ZEu0cCxD+XYtqTV5Lzc6OzkNI03YfmRoND8Z4Uw1+KQLfVIBxKLxpJyd9z6n7ud+sI6Cb8AeAbTldo+PKtupP8bZPJIxxyzqkrEYUN4yM5uywltjLsqm8RYDLOgttY4rmHvam8JCyrAb2qXsDAHmKREyccUE70ULk8u8uIVohbLvaHx4+S54CNmwVop0qKuVKRG6dEbVI7EjfNP1kDBzvC0Kxi2nQQbCWCVaHQYvXHAEJRZ1Y8/k41aZM7cr4STPs6hqCjNICLfsGvk1+gy1eiky+WVhnNOwgp0HYSMNov0b+BGnIHL3gTO1SyRUgThGo7S8S49Smtgnn5vvQ+Wj+9Hg3qWQi7GkchY2i0fPVg+I3QRsiyl3+15T1S1tbw/tkG5NERhb/ekUpARW5AK0OlPDhTvtgXJVep/kjsIGtPcoqWdLDvwqHOsfgZzWaasl49uCeObwnXLXT50X2LjMWGLGCN2f9csVHD1HoZI4BJOno4XHIn/WHShJJSAusI/p0olykyshpyQVVuAbOn2rrkwjdc7XHjKol5yGtBxeQWNB+RYudIWUVhEzthALcby/wrTxV8MBwBX/VEP7mWs/7Yt1NCra8HxnvbpPcFKC2Zl65rY5q7aoJsgH0fZA4q4za0Dv/n3wB6dEIsXLm90ZsspYnV8RV/LR6CGwKzjs9XXem+jvdAUtOC91UXGw2GgVCw4QEHnvsRimnhI4gvPf/oUGAlzaH+oqrG33E9dLaFc8igAWyWjt3h+aFCcK+Rk05PRzRz4oJX+IweIZu70NH8+eej/UQRsANv3TT1/+RbeUtSlNa4gjFmgvhZZUV77QqbjxbnKgmIR7MY9lmnNrqavjObZ/7V5h85C7LHUCpcmy6lGeW/pIJ7snynJi6P0aYyxAJt6xdYJefvjAgFdIndD55PU8GDzM6w++EQ= 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)(82310400026)(36860700013)(1800799024)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:30:31.6275 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ed88e333-c1e5-4adf-7598-08dd4740ebe8 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: IA1PR12MB6652 Message-ID-Hash: OCRWG2U5BQPMTH3DROYLJPLSG4MXYXCE X-Message-ID-Hash: OCRWG2U5BQPMTH3DROYLJPLSG4MXYXCE X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Add support for corresponding codecs on ACP7.0 platform hardware configuration. SDW0: RT711 Jack SDW0: RT1316 Left Speaker SDW0: RT1316 Right Speaker SDW1: RT714 DMIC Signed-off-by: Vijendar Mukunda --- sound/soc/amd/acp/Makefile | 2 +- sound/soc/amd/acp/amd-acp70-acpi-match.c | 88 ++++++++++++++++++++++++ sound/soc/amd/mach-config.h | 1 + sound/soc/amd/ps/pci-ps.c | 6 +- 4 files changed, 95 insertions(+), 2 deletions(-) create mode 100644 sound/soc/amd/acp/amd-acp70-acpi-match.c diff --git a/sound/soc/amd/acp/Makefile b/sound/soc/amd/acp/Makefile index bb2702036338..7c75892e678b 100644 --- a/sound/soc/amd/acp/Makefile +++ b/sound/soc/amd/acp/Makefile @@ -22,7 +22,7 @@ snd-acp70-y := acp70.o snd-acp-mach-y := acp-mach-common.o snd-acp-legacy-mach-y := acp-legacy-mach.o acp3x-es83xx/acp3x-es83xx.o snd-acp-sof-mach-y := acp-sof-mach.o -snd-soc-acpi-amd-match-y := amd-acp63-acpi-match.o +snd-soc-acpi-amd-match-y := amd-acp63-acpi-match.o amd-acp70-acpi-match.o snd-acp-sdw-mach-y := acp-sdw-mach-common.o snd-acp-sdw-sof-mach-y += acp-sdw-sof-mach.o snd-acp-sdw-legacy-mach-y += acp-sdw-legacy-mach.o diff --git a/sound/soc/amd/acp/amd-acp70-acpi-match.c b/sound/soc/amd/acp/amd-acp70-acpi-match.c new file mode 100644 index 000000000000..fa59b462f227 --- /dev/null +++ b/sound/soc/amd/acp/amd-acp70-acpi-match.c @@ -0,0 +1,88 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * amd-acp70-acpi-match.c - tables and support for ACP 7.0 & ACP7.1 + * ACPI enumeration. + * + * Copyright 2025 Advanced Micro Devices, Inc. + */ + +#include +#include "../mach-config.h" + +static const struct snd_soc_acpi_endpoint single_endpoint = { + .num = 0, + .aggregated = 0, + .group_position = 0, + .group_id = 0 +}; + +static const struct snd_soc_acpi_endpoint spk_l_endpoint = { + .num = 0, + .aggregated = 1, + .group_position = 0, + .group_id = 1 +}; + +static const struct snd_soc_acpi_endpoint spk_r_endpoint = { + .num = 0, + .aggregated = 1, + .group_position = 1, + .group_id = 1 +}; + +static const struct snd_soc_acpi_adr_device rt711_rt1316_group_adr[] = { + { + .adr = 0x000030025D071101ull, + .num_endpoints = 1, + .endpoints = &single_endpoint, + .name_prefix = "rt711" + }, + { + .adr = 0x000030025D131601ull, + .num_endpoints = 1, + .endpoints = &spk_l_endpoint, + .name_prefix = "rt1316-1" + }, + { + .adr = 0x000032025D131601ull, + .num_endpoints = 1, + .endpoints = &spk_r_endpoint, + .name_prefix = "rt1316-2" + }, +}; + +static const struct snd_soc_acpi_adr_device rt714_adr[] = { + { + .adr = 0x130025d071401ull, + .num_endpoints = 1, + .endpoints = &single_endpoint, + .name_prefix = "rt714" + } +}; + +static const struct snd_soc_acpi_link_adr acp70_4_in_1_sdca[] = { + { .mask = BIT(0), + .num_adr = ARRAY_SIZE(rt711_rt1316_group_adr), + .adr_d = rt711_rt1316_group_adr, + }, + { + .mask = BIT(1), + .num_adr = ARRAY_SIZE(rt714_adr), + .adr_d = rt714_adr, + }, + {} +}; + +struct snd_soc_acpi_mach snd_soc_acpi_amd_acp70_sdw_machines[] = { + { + .link_mask = BIT(0) | BIT(1), + .links = acp70_4_in_1_sdca, + .drv_name = "amd_sdw", + }, + {}, +}; +EXPORT_SYMBOL(snd_soc_acpi_amd_acp70_sdw_machines); + +MODULE_DESCRIPTION("AMD ACP7.0 & ACP7.1 tables and support for ACPI enumeration"); +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Vijendar.Mukunda@amd.com"); diff --git a/sound/soc/amd/mach-config.h b/sound/soc/amd/mach-config.h index a86c76f781f9..fdf016a64bbf 100644 --- a/sound/soc/amd/mach-config.h +++ b/sound/soc/amd/mach-config.h @@ -26,6 +26,7 @@ extern struct snd_soc_acpi_mach snd_soc_acpi_amd_acp63_sof_machines[]; extern struct snd_soc_acpi_mach snd_soc_acpi_amd_acp63_sdw_machines[]; extern struct snd_soc_acpi_mach snd_soc_acpi_amd_acp63_sof_sdw_machines[]; extern struct snd_soc_acpi_mach snd_soc_acpi_amd_acp70_sof_machines[]; +extern struct snd_soc_acpi_mach snd_soc_acpi_amd_acp70_sdw_machines[]; struct config_entry { u32 flags; diff --git a/sound/soc/amd/ps/pci-ps.c b/sound/soc/amd/ps/pci-ps.c index 2cbfeb07d5c4..220dca8cba85 100644 --- a/sound/soc/amd/ps/pci-ps.c +++ b/sound/soc/amd/ps/pci-ps.c @@ -632,7 +632,11 @@ static int snd_acp63_probe(struct pci_dev *pci, dev_err(&pci->dev, "ACP platform devices creation failed\n"); goto de_init; } - adata->machines = snd_soc_acpi_amd_acp63_sdw_machines; + if (adata->acp_rev >= ACP70_PCI_REV) + adata->machines = snd_soc_acpi_amd_acp70_sdw_machines; + else + adata->machines = snd_soc_acpi_amd_acp63_sdw_machines; + ret = acp63_machine_register(&pci->dev); if (ret) { dev_err(&pci->dev, "ACP machine register failed\n"); From patchwork Fri Feb 7 06:28:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863881 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 30C60C02192 for ; Fri, 7 Feb 2025 06:36:15 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 86141602A6; Fri, 7 Feb 2025 07:36:03 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 86141602A6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738910173; bh=wR1I1erG7hsNY3GIEh7BL0uGvje3H8thQAWq3EKO9JE=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=pFflhgRIZsHR6I1S4ZC2hJdCrXGbJJqTd4+jKXbOAgIzrQwD2ZRMpYh8VDuKrXJQW aPjl1EjmiXOCvFnmDV0q48u3VqsNhc0MXocTRJuWowlJtrTWvyGC70t0JvjhuS0ACc w8c8nSXao/NS8GS6nZAgiWnrNIlhgHGUvmotoM9g= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 8380BF8974A; Fri, 7 Feb 2025 07:30:47 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 5E985F8974A; Fri, 7 Feb 2025 07:30:47 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id E7BE4F89716; Fri, 7 Feb 2025 07:30:42 +0100 (CET) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on20606.outbound.protection.outlook.com [IPv6:2a01:111:f403:2414::606]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 949E6F89714 for ; Fri, 7 Feb 2025 07:30:40 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 949E6F89714 Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=yOJXDP4X ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gTfaGvkDwx98oamXdm9d0qVbYDHC/9O6EUMYDS97wRI/cHubfFo1YLaf0zMfNCsZPvCXtBi5/izijXPawDylnVVIssh/bGzJvywuqS1mnQe7FEF1Q3CfjKB1dO0H91JNH9CYqjVTQH8acbExmhZkbYJEm9fwSkgDbFGD3qXZ0f38T1XU8NhTB6B9tEqltIVPk8Zki2OYGJ/e30z/HJa64KkrKLmSqSLlVkfjkczviscql9uUYZFOVYjgnjw5JWXu8f7jaF6J//+YCq9vbNs8tnbC01PB2CqvY5ZQDWludR6ryajX+h8uOaCB0lE3JZEW/JnhxMnTX4Xxk5aKVE3g4Q== 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=bnqII4rpADUUoTJo1uktwHIhKaGGOPDVHfZM15aV2P8=; b=yDYfevCgpMTyYFJSsDMWXKnrSmUcfIbWQrIVcJd2AetXB7wQcJEZDxhpVFtH/MNE6V+tB2nTIJzRnAa2XoNy0i3UiEgPZePSp/crcLz1LPkSmz24jjKNeMZ9R24RAA38wX4OE+wPPkr/psyoSDXUJ/rRf+F/wzOwBhSoVdyqNo0oNAagvL7g9XDz6SsPt/6fHKVbbzVA04tyCd60hTr2u9MqTWJ4I7fBS0OODuvqPWn+qLubRSbQQpizvM+QY/TShObM/IFxzIn+9RduvA4kX+xukrWwrmFm/jJr34TgM93AvPNtR/kPBizUEPGTS7Y54fAD8iCqAQXMBm+xK7Cciw== 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=bnqII4rpADUUoTJo1uktwHIhKaGGOPDVHfZM15aV2P8=; b=yOJXDP4Xr2UslAOIdqVOn7vrlMkJsFe8PeFCpy96SxjrPBmIN3qv9lrjMEy5rJZZub4Zofaz1ze3QM8q0De5HzFI4nLQjSZATH114XhfSv9kTQuRw2D6AtqJwTNQZAeXpAlpMsmjGnTmlRns4oeR5evZAtoyzBO1kFl2L1KPMsE= Received: from PH8PR22CA0003.namprd22.prod.outlook.com (2603:10b6:510:2d1::6) by DM4PR12MB7526.namprd12.prod.outlook.com (2603:10b6:8:112::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.14; Fri, 7 Feb 2025 06:30:35 +0000 Received: from SJ1PEPF000023D7.namprd21.prod.outlook.com (2603:10b6:510:2d1:cafe::5d) by PH8PR22CA0003.outlook.office365.com (2603:10b6:510:2d1::6) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.31 via Frontend Transport; Fri, 7 Feb 2025 06:30:35 +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:30:35 +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:30:31 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 23/25] ASoC: amd: acp: amd-acp70-acpi-match: Add rt722 support Date: Fri, 7 Feb 2025 11:58:17 +0530 Message-ID: <20250207062819.1527184-24-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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_|DM4PR12MB7526:EE_ X-MS-Office365-Filtering-Correlation-Id: 36baf3b1-b028-4817-5ed5-08dd4740edf7 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: YF/LvSNFnu0J9twwLksEqYtvATHtdQFI7Nt7LRHYbJ1q3B9rnA5k4MXFZjbF6wCxCfgafdDau82zZL0oIFl4fue1N3+upTVsOgcDJK4JiDqQv5ZYBQDr1FlMHp/ZXhuw9eapde8NM7k1kJ/5XN2ojmfq/rkzGVGZZzaLQ5kZg7k+5OQ/5bl47da8msGVZy5U5Z2eg9wI6nVLS9fUWQBeSv0vdSJTRfy7X/ysHTfMxZvmO5LSU48oKQH/+s8xZrd66I2GXrS+OVZkxw7HthiIjA71ijo3SoPkfLQtls6DUoVwUtso1v1zqbQMCbgjqboXxjAH5k9TmSOZ7pFIRnKh63Y0DnZdgO5+NF48K4aeD2ZSUXmnLVF1DK1wossFZknwSa2AxGOjOTelGdg9fbZ8lsb/zyW8+UvrNCxfyreI9Fg4LRW2/OYRWlC7Z0qDbDOJXezvBbKbnDv/9apDNIJybP65fX287DX1VVTPTMf3R0Q/pRHb3S0BEu7Jzfz3nyaLMf/yIPhc1kbGmwZfeHnF5awwUxeZxupMnlTmY+XxwAmnZOV07+mlVYniopUP12qKuHTruHgGtzSNj7qa3a2jYqjuFffEHndVyHudSZlCaGqPtaGd1lA7yT5bZh0TXhA3puDAoG9EUOSB8HSev4FAujShkixQCFFNR9KgFr+yQNID4EEbqNav9a6idR0tg+fH7J3/Z68tQNDCAUFVI4n2Nge9rGjj6X5x5VY3vFlLJoVOMmWs6i2J2zrmyAICwz8Xzj01CzP5b9fOd4tEEUXapBKnhLPAxSabefiopbGczIzxo3EEeFOg36Bwohxd0qTMqRN3KzUVnuVRteEcU2Jq7ivnu5LwT/6kMSr3P+Rn9H6edjGKVXmwPNvf5yfXNlbOyyzyqBQeOZrnbu26zWMdqweAXyi9mJUvdFVg0g0ZrWozF5BCWYDm8Q6py5N5Zu7se2g++MBwfHcBP6kpFnSQhLWSujhAr6dLXlQRvpiLp4tEehQ6M7lcW/fqZf/7sOZruS+/wSpCm3NFufFNYn37h0knhs0+69VgSmoNpa5pAEMEumxZs5olDyr/8/idLtfVLypWTpmkoe+7idyciN7g4kUgN6NRsaEhUVo8XDJC75CtLLqHRDoZFsASMWfyvOJybwWpzTlFkgOg3YM+C6MMsypgUnsYdMpBwNi/JjCfCAq0M5ARug86AMetUhKnuD/p31XVB7O7C19ucqgh95dOt/No6Dq3ZcvSRvKZxhtZKJjoZ1GPCnRwFN0AWTt+xfQvClN232biaGblkZFacIsXTQuY8kD35afMFpyWr1yynnO54XIImIl+fih0oKY4H7/sx2tJQV1AazGlaLNFfFKUO+4EX9l/xYb8sPzBZGQ+DSMvQFQhSsCpoTHTN3O1JhGNaLZ18NPOA8mTPfrFWulZ9fY9BHMQPaaOMnOczZWCtVuPjIC6Ml7r+OduyqvSJxPVFLTRRDAkYCScp0G8DBgmNkzJ6qthUJxum5uqkIavOZo= 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:30:35.0806 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 36baf3b1-b028-4817-5ed5-08dd4740edf7 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: DM4PR12MB7526 Message-ID-Hash: PVGPQQM5AT4OVKE7CC43J7E2ACOQB4PJ X-Message-ID-Hash: PVGPQQM5AT4OVKE7CC43J7E2ACOQB4PJ X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Patch adds driver data and match table for rt722 multi-function codec on acp7.0 and acp7.1 platforms at sdw link0 for legacy(NO DSP) stack. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/acp/amd-acp70-acpi-match.c | 44 ++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/sound/soc/amd/acp/amd-acp70-acpi-match.c b/sound/soc/amd/acp/amd-acp70-acpi-match.c index fa59b462f227..fe166015dc29 100644 --- a/sound/soc/amd/acp/amd-acp70-acpi-match.c +++ b/sound/soc/amd/acp/amd-acp70-acpi-match.c @@ -73,7 +73,51 @@ static const struct snd_soc_acpi_link_adr acp70_4_in_1_sdca[] = { {} }; +static const struct snd_soc_acpi_endpoint rt722_endpoints[] = { + { + .num = 0, + .aggregated = 0, + .group_position = 0, + .group_id = 0, + }, + { + .num = 1, + .aggregated = 0, + .group_position = 0, + .group_id = 0, + }, + { + .num = 2, + .aggregated = 0, + .group_position = 0, + .group_id = 0, + }, +}; + +static const struct snd_soc_acpi_adr_device rt722_0_single_adr[] = { + { + .adr = 0x000030025d072201ull, + .num_endpoints = ARRAY_SIZE(rt722_endpoints), + .endpoints = rt722_endpoints, + .name_prefix = "rt722" + } +}; + +static const struct snd_soc_acpi_link_adr acp70_rt722_only[] = { + { + .mask = BIT(0), + .num_adr = ARRAY_SIZE(rt722_0_single_adr), + .adr_d = rt722_0_single_adr, + }, + {} +}; + struct snd_soc_acpi_mach snd_soc_acpi_amd_acp70_sdw_machines[] = { + { + .link_mask = BIT(0), + .links = acp70_rt722_only, + .drv_name = "amd_sdw", + }, { .link_mask = BIT(0) | BIT(1), .links = acp70_4_in_1_sdca, From patchwork Fri Feb 7 06:28:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863014 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 48514C02192 for ; Fri, 7 Feb 2025 06:36:31 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 6FE5960297; Fri, 7 Feb 2025 07:36:19 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 6FE5960297 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738910189; bh=BdCzaGWZxv/A5maVjKGVmEvCSGO3p1c3BmChfqo73XM=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=HUoUMSg6SfAUPSSNk19CnAVIh4XI9YOSBOQEzKBLnT+ItqQRrpH+3mPQwJr1AiZf/ MZW/Xv2kh3lU8E8+/jhUK87wtFxcxS9giciG6jn9TA9FxRPIRIbSq9T61f/yB3n3wk TTJHLVlkpyQKGLBz6m1enzRV6bbK8uiI9FiFP6Pk= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 616F6F89756; Fri, 7 Feb 2025 07:30:53 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 2D2F5F89762; Fri, 7 Feb 2025 07:30:53 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id D5C4CF89750; Fri, 7 Feb 2025 07:30:47 +0100 (CET) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on20617.outbound.protection.outlook.com [IPv6:2a01:111:f403:200a::617]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id E26DFF89738 for ; Fri, 7 Feb 2025 07:30:45 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz E26DFF89738 Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=NvEr2V5d ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=l7pVg4YwiJ7SogydEDAaP7GOyg9lHeqx7E15IvHoBvIBa12WwDNTaJb85p11SPJQ6jnVpGUssAj2RugeOZRGS+Ij/CWA8K1ZJoXe+adC750VnwHFPSbtEHbdhF/d3WDb5c8IRuIGNMm+dR06TYD0QiQ88aRaDgaFn3PrpW4WsrnGpCxsbMXIwOadHJVjjtkmeN5rm684r+jQNa+8TI306x2LqhAn6AYZYn1R3i5eN9g2EqtfyQbiDRENxlTjcAy47IvFap6V0Qj4XVZLmBHOdv47B2mNx+pLhE1gOJ3a96ot2IxWu2EQ99X9v0pjfNafNhlMQn4Z3zGmYlKFa/Jr0Q== 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=DcFSNdWxW0hDj5AqZyPgafkTZkrkv87yVbs2WOjSlCU=; b=DIctqhrt+ZZ0yPxVpnKxtTkUXQjY2rxR8RG7ekJOQ0L13FltHFNIhbZBy24btGU7CCyQee0kFvwdx+jIglfFM18ysQqMVC3YXqAtx5sZRUzAIUWiv7AZPlhCh3veE/iUUHO0xYeY5tRonPQVs/x1YhjWYaF2KvmBeD3wGwgZ1XlUu8VceQseJ0i9UH0T7NawsJuZOMmL38xjvA8jFPOUT7jmqZ7Wq7mzK9slT5qwFnssQlrI4Bruq58a5iKaZoM0ZGDx2NonaDCeskHtJogYIntnXbEZLQM1P9HIgNzDhQmioQQlO2jA8oEClQGwqz9/De+6ydgrXnMy/kulW4Ro9A== 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=DcFSNdWxW0hDj5AqZyPgafkTZkrkv87yVbs2WOjSlCU=; b=NvEr2V5diVq4ewSEEsoNahSGZEBzlqeNmDsZmT6RdWt6L25R8ilzR6igkQBw/X1+wMc6yx8g2WTWYMiAW253ib647CmJvRsYVzESbnKcum13z+XMY+1RNrURLahCTRg7l7nC4kovUAh6L6i3sVWI44ySphTbK/vwqz0RBBp0G00= Received: from PH7P223CA0022.NAMP223.PROD.OUTLOOK.COM (2603:10b6:510:338::14) by BY5PR12MB4179.namprd12.prod.outlook.com (2603:10b6:a03:211::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.14; Fri, 7 Feb 2025 06:30:39 +0000 Received: from SJ1PEPF000023D3.namprd21.prod.outlook.com (2603:10b6:510:338:cafe::3c) by PH7P223CA0022.outlook.office365.com (2603:10b6:510:338::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.28 via Frontend Transport; Fri, 7 Feb 2025 06:30:39 +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 SJ1PEPF000023D3.mail.protection.outlook.com (10.167.244.68) 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:30:39 +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:30:34 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 24/25] ASoC: amd: acp: amd-acp70-acpi-match: Add RT1320 & RT722 combination soundwire machine Date: Fri, 7 Feb 2025 11:58:18 +0530 Message-ID: <20250207062819.1527184-25-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: SJ1PEPF000023D3:EE_|BY5PR12MB4179:EE_ X-MS-Office365-Filtering-Correlation-Id: d71581c7-43b2-4914-51ed-08dd4740f08d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|1800799024|82310400026|36860700013; X-Microsoft-Antispam-Message-Info: tlzLvz6MzB6Es0li93hwLIa5T5RXcjyRRmicnQZ3VxOWTfWTkW5rEEQdeBfF2qvqgEG7Z5eXm2M/bdkfHG5hVpWdgAjd1EdycQSajxEwOtpuBxhZsXDTDVyGciUYHcpaTrmyfW9A5tDlz7ExtDMqQpmKVESbYm5xew3Wwtegvgxj1nyTdesNNZ8CxthbO/zMnOYjTSZOtNEwXm4Hm8huAM7Ar3ZB3NMjwfdlMh15KAt5ByN79UAtZLj2LlL8VZrZNLLEbV+afwlQgEK4fyi05kFOxD4TjyMBKTOeDntDunS+quA0bzKM9LyZc82rd4AR9Cx2ZthO3lTNfw9dvG2YJUo8FbvaPhDGX2UcwFeQOrQw8jRO8QxmcwVt5H9lpdxH5Vx+Q7W09pHVYvvasWTmsLnnkuBlJKaC0YglrD4YMk55GPKJ+Gy3hieKXEjUo6/cIHzXehAJlx428XHFwVz20kkP6qJaiLBYEsnR0cfjawZi9kJuUZgPleIqjTWPFWX0mkBfMD/b2dR3mcHbuf30B3EMdxCw1q6B2eMbUUt4QTSIFE4Trf9RzOvUBoqrNK+55Bf8WjodFyJT/6B35uYzhN7BhFSYDT0QKEmuRigMxyKIsMonBmINoD30keTWbD7Toqhz//5Qyfbbk7iw9ZZUKZsJCXRAQS917Vkw42C+UaoszbbCwhwpr+ohh2nzDARkcn4n/219IMYc8wUjesV61a1xEBbvEX+JjsLovQ9trF5qNSWAI/fudyeeTEPohaKrotUAMCkliue4bNVwRCOru1efXyreD4+bo+J05P18LW72/6GdGvk42NsYqfj8H2gR5JFq/Dw7onCvMEEoREdfZua7z4BnK1N4tjI7YUmVweMTHa9Uxu8fnQA1iotcU206nb8WWFGkfUtARnbSm6WXyX/8LVXtleqzCsrAbTWa9XzqSVKNg5kz2zZsV2Keb/jIDnO+lYIhSyyu2IkBD4kLTvwQ6ObOf9rbfqID3LTxigWZxWraDveyhXpVCqtHamA1sHvr6fS9xzTkCKchz596Jy/0aOfIa/m4ZZtZQXClQ6/tprB8Yvs7Bn1bA30L/N8Ex+ZeLfC4jdrWmDPM4UwYRGhp8p6BEGxg1JdGD7iEpkiUFbS5YLlJThWsYdbjJ6kA9RuKKICWMO27h6uMRzku9wTEIS/6sxyFmksdPJCBXpMlAbFivf50YlKQNqVzGzZFYPJklJ+GG/oZC2t6SmKzpxHzEKmAa9b9uWXhnOPzgTD51N8nrtoTGMTFISif37xFtzDNuL73ngKZw8n/wagZnA1SEZPqDaWoZGOPrcDPLnq9JjFTd97ROQD1+usd58MartPIflZuXFXqPDnbMWKeDzbt90AhaR9sv94tCFiATB7dNZIJYe6bbqkPalRPn5cKalaSul76Mi7lERdtepsbrVAbDOFMpWITZLWDumJPVwydI/BjYlMhHlqC6q19MopUjeGZoUDWda5shqigbLOI8HirxcT5IzeSYZ98wfWUH7w= 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)(1800799024)(82310400026)(36860700013); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:30:39.4188 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d71581c7-43b2-4914-51ed-08dd4740f08d 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: SJ1PEPF000023D3.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4179 Message-ID-Hash: 2S5EDQMU5EJNB7KLGHRFU67XHBRA4PMJ X-Message-ID-Hash: 2S5EDQMU5EJNB7KLGHRFU67XHBRA4PMJ X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: This patch adds below machine configuration for the ACP7.0 & ACP7.1 platforms. Link 0: RT722 codec with three endpoints: Headset, Speaker, and DMIC. Link 1: RT1320 amplifier. Note: The Speaker endpoint on the RT722 codec is not used. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/acp/Kconfig | 1 + sound/soc/amd/acp/amd-acp70-acpi-match.c | 28 ++++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/sound/soc/amd/acp/Kconfig b/sound/soc/amd/acp/Kconfig index 03f3fcbba5af..53793ec7c7b4 100644 --- a/sound/soc/amd/acp/Kconfig +++ b/sound/soc/amd/acp/Kconfig @@ -156,6 +156,7 @@ config SND_SOC_AMD_LEGACY_SDW_MACH select SND_SOC_RT712_SDCA_SDW select SND_SOC_RT712_SDCA_DMIC_SDW select SND_SOC_RT1316_SDW + select SND_SOC_RT1320_SDW select SND_SOC_RT715_SDW select SND_SOC_RT715_SDCA_SDW select SND_SOC_RT722_SDCA_SDW diff --git a/sound/soc/amd/acp/amd-acp70-acpi-match.c b/sound/soc/amd/acp/amd-acp70-acpi-match.c index fe166015dc29..e87ccfeee5bd 100644 --- a/sound/soc/amd/acp/amd-acp70-acpi-match.c +++ b/sound/soc/amd/acp/amd-acp70-acpi-match.c @@ -103,6 +103,15 @@ static const struct snd_soc_acpi_adr_device rt722_0_single_adr[] = { } }; +static const struct snd_soc_acpi_adr_device rt1320_1_single_adr[] = { + { + .adr = 0x000130025D132001ull, + .num_endpoints = 1, + .endpoints = &single_endpoint, + .name_prefix = "rt1320-1" + } +}; + static const struct snd_soc_acpi_link_adr acp70_rt722_only[] = { { .mask = BIT(0), @@ -112,7 +121,26 @@ static const struct snd_soc_acpi_link_adr acp70_rt722_only[] = { {} }; +static const struct snd_soc_acpi_link_adr acp70_rt722_l0_rt1320_l1[] = { + { + .mask = BIT(0), + .num_adr = ARRAY_SIZE(rt722_0_single_adr), + .adr_d = rt722_0_single_adr, + }, + { + .mask = BIT(1), + .num_adr = ARRAY_SIZE(rt1320_1_single_adr), + .adr_d = rt1320_1_single_adr, + }, + {} +}; + struct snd_soc_acpi_mach snd_soc_acpi_amd_acp70_sdw_machines[] = { + { + .link_mask = BIT(0) | BIT(1), + .links = acp70_rt722_l0_rt1320_l1, + .drv_name = "amd_sdw", + }, { .link_mask = BIT(0), .links = acp70_rt722_only, From patchwork Fri Feb 7 06:28:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mukunda,Vijendar" X-Patchwork-Id: 863880 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 10C10C02196 for ; Fri, 7 Feb 2025 06:36:54 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [45.14.194.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id D342D6024F; Fri, 7 Feb 2025 07:36:41 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz D342D6024F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1738910211; bh=XvW7tQkxCfuBCH74QjqUQhH8LlOfRy5BQ7RLZ9UtxB4=; h=From:To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=VHLtjWxzhakoh/ePR8b91kyaRP95hUo3ecSCLeG8UqVByweRzS84ilvdcMSlqE+mB hv6nSXHUvrrj+3p7Z4dMyW0dFXiw5kwpmvdufw4RuGAOhq0WhBcjVVyVZsJjUQskpZ Zv6/p2jgBepY5kMq+yu9azCM8jtr9HmUEXpCQCt4= Received: by alsa1.perex.cz (Postfix, from userid 50401) id EFABBF89779; Fri, 7 Feb 2025 07:30:56 +0100 (CET) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 2A597F80692; Fri, 7 Feb 2025 07:30:56 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id A1517F8067F; Fri, 7 Feb 2025 07:30:51 +0100 (CET) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on20607.outbound.protection.outlook.com [IPv6:2a01:111:f403:2413::607]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id AC017F8065E for ; Fri, 7 Feb 2025 07:30:49 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz AC017F8065E Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=TyvpMSoJ ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HZKBZ6rf4dNhb0600oXfdknBWJtlm2qBMTGKeGrl5tUv/WXiJdkAjIK6e0DZnc/X65RtKIvjb5m6vSR2P3g1T5h/ZQqpYjS3n5n+lnBkdKjRPkdPmhGxgyl6o/LVD+3Odo4AWyqrQU+fsxwWDsJ8+GfNDYJduOK8ozJxYSAXzFPzNFsmDW57BCEq1zEL+slJqkIJfu7hXu0/nNCZqSoGIPxZQZs31zVVUSEkdp8qB444c/Nggh/UlNEMDKw2Wl06uNNNkB8+F4+5sjhTcDuqtgcx/30A3eaDQOhaCE2xtPZUB2pBBsWFzPR3JHrKqYxtGspiIU1oNi8kd9bjPfn08g== 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=xLjkj9S6yxnbSRqJYDjwdgIbZTMo5Nr3ixnZYGFgK9U=; b=qvm3+B9iTnykzL1ft5sQSNMb3R9SYX//Ep/NFeIlcdaEDO4V7IfLhO1diWELvpZ17Y1a6pgW99fSlSfsEB4BzM/uCm+IMJTEEvilo61/Q0FH4M6X3kebaODfvqUkLNSxfRkDZsRP2zRw3Oxw3+hBGzrcmlvUo03VwBLnXs7RBQdDppIr6H3ro69fX/JFpt8T2J9S4z+Etd+vt2/gLmWWAteRP+RB0v5DNZh263nm/pr5Q9mpxrRynZqp7Yx9bw0+dshxHF9Tvwxy9U6uBpD9XxAFFhb0Fpn8sKUImyalFGUGNaMTNfIqhyKN/6EQ5TRLAzV4MTfLFy9XI9cmd5yHHA== 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=xLjkj9S6yxnbSRqJYDjwdgIbZTMo5Nr3ixnZYGFgK9U=; b=TyvpMSoJGxXutSVBJUaNJRo2p9PNdEduzcnCVHBXM+yEjGkenqavJRx8CFTEamwwr59UaWUhUhBZ0zw8M//3wmK1aJtpCmZ7+ZHYnwKQBs1V5YCDi47wQDPgG6pWueTxJ94eKqFKktLslBsAQQviHOUayo4LQ92S/VtxBav+cgU= Received: from PH7P223CA0005.NAMP223.PROD.OUTLOOK.COM (2603:10b6:510:338::7) by DS7PR12MB8232.namprd12.prod.outlook.com (2603:10b6:8:e3::12) 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:30:43 +0000 Received: from SJ1PEPF000023D3.namprd21.prod.outlook.com (2603:10b6:510:338:cafe::6c) by PH7P223CA0005.outlook.office365.com (2603:10b6:510:338::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.28 via Frontend Transport; Fri, 7 Feb 2025 06:30:43 +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 SJ1PEPF000023D3.mail.protection.outlook.com (10.167.244.68) 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:30:43 +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:30:38 -0600 From: Vijendar Mukunda To: , CC: , , , , , , , , , , Vijendar Mukunda Subject: [PATCH V3 25/25] ASoC: amd: amd_sdw: Add quirks for Dell SKU's Date: Fri, 7 Feb 2025 11:58:19 +0530 Message-ID: <20250207062819.1527184-26-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> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: SJ1PEPF000023D3:EE_|DS7PR12MB8232:EE_ X-MS-Office365-Filtering-Correlation-Id: e88505ee-862f-4778-722d-08dd4740f2d5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|376014|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: u/gXDP8VSAF+hjoPj2pLhoOaZPu1elnihExDn+1o9dYPxh44hoth+6a0efuPuOdAeOfjWcnTwI8gvzSwblm7Ne2piDaG7Iskmd/dXmCoV+zChaSMlgg3ExHZKU9FQlFuwe8cm5sBrAUo4MHZB59u3EQokCmF8/JVQkAr4jv7vtsotSkDbIWS1oJJnDU4h59Ug1JIwnwYg7nwXRkk5l+oA2BjtrWIGiYJ6lFISshBPfgopqcwtvyA5Uh4ubE9YnlrivZE/7XXssmnxZqV97EquEiAyb0kStDd7to9/RAh61vkRQIjTB+F5OLgf6/ZsRwhFnaSH/bC+fjXPlXKC4RUXSgl3QbdcVY1UM+YMfLt7U5OYrWSkoDQ1xhIwfJLC9l44n1mZMdzAd2WDQTjofDloDb2x91V+k7vqVycNLQYAmdYS8Hnkq4A4mmcZziJjD6UPERre0XkNbesBiLfM7mChHaYWpyLJdTZqlofgYfxdoPm42R1fAIn8G3w0wQO03fPLy1M166MuxycNE1bHHbjn0CZyYtoijUBFVKdyQm4vj3RYIMn+L2UIGTV6z6pi2GGQEI7LNWAjZaEVc8tm6Qn8PFVz8a54/BEj2bSQYncNCHwSfcIwSPDwce02fNCbW4DF/baiKLpyNRhWvJkDHnM/3DQBqFKNL0NrVKiDA+hfu1icXSEYuo1E2OVr6SPBXj4pgX1KuEKb0HdKvhUG0ISNz5HQydvAgF/g9ZgBxBODvA/VEB2TPkBrohEVrOgbqv/p5w+OYiXnTlZB/ey9CbVMkYKmHPh4sXFIKbD4zkvXxVKzj98/+R42tGFinav8xyESrJ0QKumYDilxUM3vai9FPNL91TVlA84YD1/rNS9XDlsYeu2F+92Pcfg9WxnJl1PV8JaDqgYPTPNU5xAOagbOC8PUqBm7cUNAL/u17OJ5+koa+kO9CAU2YfWS0Bsv/NSuwVf90x7YB/4mvO795fDpUI6tyxx3IRncTiosAhm44IZhAVCZGRrLZPxRF9WKZzktQ837eoqCQjhqaezHDEnS9VfjVd1RK6yy6DLhE4AhqaHzm4f0Bm89bMCP7YRh6vURnEV55pSnVHo3vXirdHFRC66JjAZ+f8GxdDq6RUqbhX0jjZgXrmyffd0dJiR1mffiYePYctb1nBf5SXdOiH5YG2J7YwMMa3YqvSHf/Y59E8KubGw/i2n69NSaCe/5cfPtOCgQdkZRbfIYrNvZD1ONF2AUROHHqo2saFc/vTYubJcMaxMwfZfCcHKMLRVQOcbOk6bILoF72yrISWSkGqzbXNqio97DnQhNMcFTwIYsLBtHlW8T4p6z4DVsnB7CVYcMRbA+rytbaKvruw53IP85Bs6Y+T1CBmhtt1n0zool+lswYlzLE2djgpU6SMV7+BoZXllakcmP9ooPvlmyxBRv9ZXWZJDck0T93UG4mRzVBQfWdPvRM+ag4eFe0peqFta0sfnOY7AX1ttpyM0UXCWAcIFOrJnQSGpNp/Ws04lo0U= 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)(82310400026)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 06:30:43.2469 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e88505ee-862f-4778-722d-08dd4740f2d5 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: SJ1PEPF000023D3.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8232 Message-ID-Hash: 7QVEIKCSNJL7EEH3TMVILLYPVTJCIWTO X-Message-ID-Hash: 7QVEIKCSNJL7EEH3TMVILLYPVTJCIWTO X-MailFrom: Vijendar.Mukunda@amd.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: This patch adds a quirk to include the codec amplifier function for Dell SKU's listed in quirk table. Note: In these SKU's, the RT722 codec amplifier is excluded, and an external amplifier is used instead. Signed-off-by: Vijendar Mukunda --- sound/soc/amd/acp/acp-sdw-legacy-mach.c | 34 +++++++++++++++++++++++++ sound/soc/amd/acp/soc_amd_sdw_common.h | 1 + 2 files changed, 35 insertions(+) diff --git a/sound/soc/amd/acp/acp-sdw-legacy-mach.c b/sound/soc/amd/acp/acp-sdw-legacy-mach.c index 00aeea70f04e..2020c5cfb3d5 100644 --- a/sound/soc/amd/acp/acp-sdw-legacy-mach.c +++ b/sound/soc/amd/acp/acp-sdw-legacy-mach.c @@ -28,6 +28,8 @@ static void log_quirks(struct device *dev) SOC_JACK_JDSRC(soc_sdw_quirk)); if (soc_sdw_quirk & ASOC_SDW_ACP_DMIC) dev_dbg(dev, "quirk SOC_SDW_ACP_DMIC enabled\n"); + if (soc_sdw_quirk & ASOC_SDW_CODEC_SPKR) + dev_dbg(dev, "quirk ASOC_SDW_CODEC_SPKR enabled\n"); } static int soc_sdw_quirk_cb(const struct dmi_system_id *id) @@ -45,6 +47,38 @@ static const struct dmi_system_id soc_sdw_quirk_table[] = { }, .driver_data = (void *)RT711_JD2, }, + { + .callback = soc_sdw_quirk_cb, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"), + DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0D80"), + }, + .driver_data = (void *)(ASOC_SDW_CODEC_SPKR), + }, + { + .callback = soc_sdw_quirk_cb, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"), + DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0D81"), + }, + .driver_data = (void *)(ASOC_SDW_CODEC_SPKR), + }, + { + .callback = soc_sdw_quirk_cb, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"), + DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0D82"), + }, + .driver_data = (void *)(ASOC_SDW_CODEC_SPKR), + }, + { + .callback = soc_sdw_quirk_cb, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"), + DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0D83"), + }, + .driver_data = (void *)(ASOC_SDW_CODEC_SPKR), + }, {} }; diff --git a/sound/soc/amd/acp/soc_amd_sdw_common.h b/sound/soc/amd/acp/soc_amd_sdw_common.h index 9bedccfe25a9..1f24e0e06487 100644 --- a/sound/soc/amd/acp/soc_amd_sdw_common.h +++ b/sound/soc/amd/acp/soc_amd_sdw_common.h @@ -24,6 +24,7 @@ #define SOC_JACK_JDSRC(quirk) ((quirk) & GENMASK(3, 0)) #define ASOC_SDW_FOUR_SPK BIT(4) #define ASOC_SDW_ACP_DMIC BIT(5) +#define ASOC_SDW_CODEC_SPKR BIT(15) #define AMD_SDW0 0 #define AMD_SDW1 1