From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3F7A33BB10C for ; Wed, 5 Aug 2026 17:16:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785950175; cv=none; b=NBz8hRUw1HF2nv0kcJ8NQFKwRz/GO1d53uuZK49c1UjecilKB/40Qd+y86FFS0rVi5epth6q6Ln1jUmQUiWdKrnmedV1y/DBJx/uLc+mhkk9hti8aoJydDA61X7WT+mKezyF7dLKUzNo1uJ3uu4wvIh0PPoaVB3W3QMmNgXmCNQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785950175; c=relaxed/simple; bh=1OXvNgBF79ZY8LKA52SVyqJhRiBPae1v3rOOB+6pP1A=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=cr+SjdcvzqwWLvapwdfmRtma2yvJ0PTV8BMq6i33xNdvWdeBrAm+xkny/XoD7AtPDD97XCMPbId8WM+NLLvu0MEpJYgi3fdMtpZg3tIKtU9YqO8os+Cg1+0NoN8elw4TMSc2g6EeE7NHF2kKMuH7eqmZoCh8PFgyIh9+ir9xrAw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ZE2hplG3; arc=none smtp.client-ip=209.85.128.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ZE2hplG3" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-4980dc26022so11869985e9.1 for ; Wed, 05 Aug 2026 10:16:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785950172; x=1786554972; darn=vger.kernel.org; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to :content-type; bh=v1/xDVKNV4JWEck6ko+fu8jMjh0fZluUAUVFY+j3jxA=; b=ZE2hplG3NY2WojJepQIXjCITwwftNvg9PmOs8C98LqPKTYFqIAaHaggUWszDoxzab3 6QgZw9Qa7r83dulINxTRJcYY26gRASnED3UQBO9eQAzbT8doy4kp0CRNrKQd1mJ3w1wm VZLpUVT3zuJkQzaWQlYaRX43Kt7sG9o0IMmAjLPf74O3wiZwmAesdCQ9D3KhKLBrrUwv v8UdOKA9q/dw1pEe1idrWTZOfxoDoPPjeLHGhaDUaimF0cJ8atKdrgw1PHWyIF2plbid 8x2AappAiwPnlhS2HCMtbMhxwMnhVkQWs6VjvtfFVw4f8p9a4il/++DQ3HqSsV+sRqpK p0Og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785950172; x=1786554972; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=v1/xDVKNV4JWEck6ko+fu8jMjh0fZluUAUVFY+j3jxA=; b=tDUvk5hd8I/uGSGlhz6Y1tkDGxOUYZzw6X0c/6pjJ3BnGvYDYX7xbjwyy3HyOVDYca o4rTLu3u0dp1aaHiE+krBna6cT9myWn7POXvhoZGNQhg5EVMNPP5D/oBh74K63nupMI8 nrmbRA08wAfGWCnB+GvmdQAIJc+V+kdo0vnDWLxOPnZpIiVbxfo7nGf9Fhe8Q8lZ8UuH T4STNEtwQsWEalr38znK0SyK2rLmycyGz9guj4Nrx2EGyiMCjYZhfkvJgO3AOJdB45qL L30wJsjTFASMMWLtitlHSddVirnECrEdlg3Mag7HyzHGMOocCKyOwApxiyM5BYV2aV54 fLTA== X-Forwarded-Encrypted: i=1; AHgh+Ro43/ImTlqKmufZgxR1cMJdV8YFKuw/j5I9t45hzqVLNOXAcfXFMFL4wiO5zgQwE+2gUPIakl4H0YGUOYg=@vger.kernel.org X-Gm-Message-State: AOJu0Yy53d6J/tcMP8+cl3Wf4VfbYeUdrHQrK3ItEWyqhcj5WEjGLRJj 1zR7AMS9b6q3XNdJuPYfCtqb/WyctCUGaMDVIerGMALmcmXjhled4QkK X-Gm-Gg: AR+sD13kVLhjPCTMFYshYniRbZCc39Ys7GA65PVKF6BVTLMEdIyaalaa3By4lcEmxea moKKcCpKQ/gKnd5WYqB5Cvb5m+hyQoR/s/PAilpoCxe0pc7LT6hOTqP8UoYLeaaZSJBABuPW2sR aVDE8az44bRJSUTz23skjqCpQMXpmGBTjPO/JegP9B9Jl4IjnFeY4RLtH5uwS3yv4sSMCp+9j6I DUJkoI0kqPFZp/6AO1Ds7EZk6jyVEzofxSaF5SMf/yRfmlxu4JJO58xr29ACJmZF2XqPPnjPnLG Al9myY4CE7E1gkNEMTc4KC6xCE1c2LKxed+VolGfGgiUCJp/zB50/+A48cN1TigcgJSQEtxfqBr GyemZ0ZiYdUIQrl6MkwThVH7PX2A1izLXyMs3JHUvrDXBOWOAJCgDilGNYQ8wTPDBJKLcWwp2Bq HfRSekTf6xkbAv7ZrymqLF6yGMoOFBhYe9kwBRH3oGbGnQolzyHWRaQQATjXbBmg2oj9lbaGbO X-Received: by 2002:a05:600c:1c21:b0:493:e460:1f6 with SMTP id 5b1f17b1804b1-4994e6fe377mr105947895e9.0.1785950172137; Wed, 05 Aug 2026 10:16:12 -0700 (PDT) Received: from [192.168.1.10] ([95.43.220.235]) by smtp.googlemail.com with ESMTPSA id 5b1f17b1804b1-4994a0f7b73sm229089095e9.9.2026.08.05.10.16.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 05 Aug 2026 10:16:11 -0700 (PDT) Message-ID: Date: Wed, 5 Aug 2026 20:16:10 +0300 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] ASoC: core: Support INPUT and OUTPUT DAPM widgets in DT To: Mark Brown Cc: Liam Girdwood , Jaroslav Kysela , Takashi Iwai , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org References: <20260805145625.1290628-1-ivo.g.dimitrov.75@gmail.com> <1cddd05b-804b-4d91-a5ff-7c5e07903610@sirena.org.uk> Content-Language: en-GB From: Ivaylo Dimitrov In-Reply-To: <1cddd05b-804b-4d91-a5ff-7c5e07903610@sirena.org.uk> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 5.08.26 г. 19:40 ч., Mark Brown wrote: > On Wed, Aug 05, 2026 at 05:56:25PM +0300, Ivaylo Dimitrov wrote: > >> Allow the DT audio graph parser to instantiate INPUT and OUTPUT DAPM >> widgets. > >> This extends the set of DAPM widgets that can be described in DT and >> allows modelling external audio endpoints as part of the DAPM graph. >> This is useful for more complex topologies, such as codec-to-codec links >> or multi-DAI audio paths, where routing through external endpoints needs >> to be expressed using standard DAPM routes. > > What specific cases do you have where one of the more specific endpoint > types isn't suitable? The use case is a codec-to-codec DAI connection, where the remote endpoint is another digital audio interface (for example a modem or Bluetooth codec), rather than a physical microphone, speaker or line-level interface. I have an out-of-tree audio-graph-card2 based machine description for Motorola OMAP4 devices using the CPCAP codec together with an external modem codec. Without modelling the remote endpoint as a DAPM INPUT/OUTPUT widget, the DAPM graph is incomplete and one side of the codec-to-codec link does not become active as expected, so runtime PM does not resume one of the devices in the link during a call. With this change, voice calls using the audio-graph-card2 based machine description work correctly, as the codec-to-codec DAPM path is properly represented. The topology I'm referring to is here: https://git.maemo.org/leste-upstream-forks/droid4-linux/src/branch/leste/maemo-6.18.y/arch/arm/boot/dts/ti/omap/motorola-mapphone-handset.dtsi#L65 The hardware schematic diagram is here: https://lkml.org/lkml/2018/3/27/1225 I used INPUT/OUTPUT because they appear to be the generic DAPM endpoint widgets for this type of digital connection. If there is a more appropriate existing widget type for modelling such a remote DAI endpoint, I'd be happy to use that instead. Thanks, Ivo