[{"id":3684457,"web_url":"http://patchwork.ozlabs.org/comment/3684457/","msgid":"<afLv3S6kWnt0D6PW@sirena.co.uk>","list_archive_url":null,"date":"2026-04-30T05:59:57","subject":"Re: [PATCH v2] ASoC: tegra: Add per-stream Mixer Fade controls","submitter":{"id":24878,"url":"http://patchwork.ozlabs.org/api/people/24878/","name":"Mark Brown","email":"broonie@kernel.org"},"content":"On Wed, Apr 29, 2026 at 07:06:03AM +0000, Sheetal wrote:\n> Add per-stream fade controls for the Tegra mixer to allow\n> independently configuring target gain and fade duration for each of\n> the 10 input streams (RX1 through RX10).\n\n> +static int tegra210_mixer_get_fade_status(struct snd_kcontrol *kcontrol,\n> +\t\t\t\t\t  struct snd_ctl_elem_value *ucontrol)\n> +{\n\n> +\t\tif (count >= mixer->duration[id]) {\n> +\t\t\tucontrol->value.integer.value[id] = TEGRA210_MIXER_FADE_COMPLETE;\n> +\t\t\tregmap_update_bits(mixer->regmap,\n> +\t\t\t\t\t   MIXER_REG(TEGRA210_MIXER_RX1_CTRL, id),\n> +\t\t\t\t\t   TEGRA210_MIXER_SAMPLE_COUNT_ENABLE, 0);\n> +\t\t\tmixer->in_fade[id] = false;\n> +\t\t} else {\n> +\t\t\tucontrol->value.integer.value[id] = TEGRA210_MIXER_FADE_ACTIVE;\n> +\t\t}\n\nIs the _FADE_COMPLETE state a good idea here?  Only the first read after\na fade will show it, and functionally it's the same as _IDLE - there's\nno current fade running.  \n\nAlso is there any overhead to having the sample counting enabled?  This\nis the only thing that turns it off AFAICT so if userspace doesn't look\nat the control we'll just leave it running indefinitely.  Perhaps a\ntimer to disable might be useful?  It's generally a bit odd that we have\na write to the hardware in a get().\n\n> +\tSOC_SINGLE_EXT(\"Fade Enable\", SND_SOC_NOPM, 0, 1, 0,\n> +\t\t       tegra210_mixer_get_fade_enable,\n> +\t\t       tegra210_mixer_put_fade_enable),\n\nFade Switch.\n\n>  struct tegra210_mixer {\n>  \tint gain_value[TEGRA210_MIXER_RX_MAX];\n> +\tu32 duration[TEGRA210_MIXER_RX_MAX];\n> +\tbool in_fade[TEGRA210_MIXER_RX_MAX];\n> +\tbool fade_pending[TEGRA210_MIXER_RX_MAX];\n>  \tstruct regmap *regmap;\n>  };\n\ngain_value is used by the existing RX n Gain Volume controls, don't we\nneed separate data for the fade controls here, or should we just have\nthe new Fade Gain controls?  Having the separate controls is more\ncomplicated.","headers":{"Return-Path":"\n <linux-tegra+bounces-14066-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-tegra@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=PG6+z9J7;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-tegra+bounces-14066-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"PG6+z9J7\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g5k6B3J4Rz1yGq\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 16:00:02 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id C0EC2300A610\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 06:00:00 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 4BF3C371076;\n\tThu, 30 Apr 2026 06:00:00 +0000 (UTC)","from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 0CEAE19D092;\n\tThu, 30 Apr 2026 05:59:59 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 9CE22C2BCB8;\n\tThu, 30 Apr 2026 05:59:59 +0000 (UTC)","by finisterre.sirena.org.uk (Postfix, from userid 1000)\n\tid 897321AC585D; Thu, 30 Apr 2026 06:59:57 +0100 (BST)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777528800; cv=none;\n b=sq1Myu9QmYomOnOaeD14/8pdoZli0plNCB1080ir5u6CgkIx3UaORskI9Yds5YyShCoJk/XJO79oPfaMsFPnC6hlMvPpGnVF7BBZSMGqFgo1smUUiNPFw35XealJMOX/KsXwvkSxh9OmsZMduw5HEiPP9pl9MqfJLAu0nPWMejg=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777528800; c=relaxed/simple;\n\tbh=VILLUmaEI3VxYczJPbzj72pY8Mq3pBWIFnAWWa4Byvk=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:\n\t Content-Type:Content-Disposition:In-Reply-To;\n b=HhQuj5FFf1a7aGVKYLUreCZF57cbvk5dTt2Knc6XTPqzea8iuSVtAxJxqfaaGk063RozBXcqD7A8cmoFy3DXlXcB0IhJnLmGtiEL/yNOd7M246oBKxJok6BadIt6QpeAYqcgoILKY0BOFup1pZHkOZaXXWYl+r/Bfqgf/Qy2LUU=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=PG6+z9J7; arc=none smtp.client-ip=10.30.226.201","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1777528799;\n\tbh=VILLUmaEI3VxYczJPbzj72pY8Mq3pBWIFnAWWa4Byvk=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=PG6+z9J7FQZBNNLhhLtp1wXWUuqFN+d6gT8Z+jiVbpfrr2pzJVOfvzL6/ZpF6JdhX\n\t 9Pwp3BHPR4MsKRxH77+trF0PKx48BNYxHXiWS4DXKbxWBtzHYHCRdRu8+craG4qZDc\n\t owWoKx890oN6Ts/0VBxtxT2fx1uAfsin3scVIyu/J6jJg091jreOoroCfxq95WvIGG\n\t y7zNIv4NLMqQqieCzYQTgy6nwr2XmvxyHmYgoO47spy6B0rUX0Zof2U3A2wkyG1svB\n\t 9NlRE80V7Gq+P2ClocdkEwotkbLdRKt2I1nqKWu79xhgLAT5cuPLlG6P4TV33I8fr2\n\t lhW7wWOVzvHZw==","Date":"Thu, 30 Apr 2026 14:59:57 +0900","From":"Mark Brown <broonie@kernel.org>","To":"Sheetal <sheetal@nvidia.com>","Cc":"Liam Girdwood <lgirdwood@gmail.com>, Jaroslav Kysela <perex@perex.cz>,\n\tTakashi Iwai <tiwai@suse.com>,\n\tThierry Reding <thierry.reding@kernel.org>,\n\tJonathan Hunter <jonathanh@nvidia.com>,\n\tSameer Pujar <spujar@nvidia.com>, Mohan Kumar <mkumard@nvidia.com>,\n\tKuninori Morimoto <kuninori.morimoto.gx@renesas.com>,\n\tlinux-sound@vger.kernel.org, linux-tegra@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org","Subject":"Re: [PATCH v2] ASoC: tegra: Add per-stream Mixer Fade controls","Message-ID":"<afLv3S6kWnt0D6PW@sirena.co.uk>","References":"<20260429070603.2791011-1-sheetal@nvidia.com>","Precedence":"bulk","X-Mailing-List":"linux-tegra@vger.kernel.org","List-Id":"<linux-tegra.vger.kernel.org>","List-Subscribe":"<mailto:linux-tegra+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-tegra+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha512;\n\tprotocol=\"application/pgp-signature\"; boundary=\"ELuvR44kxn05ZwYn\"","Content-Disposition":"inline","In-Reply-To":"<20260429070603.2791011-1-sheetal@nvidia.com>","X-Cookie":"667:"}},{"id":3684572,"web_url":"http://patchwork.ozlabs.org/comment/3684572/","msgid":"<f6200923-d796-4ac1-85d8-3ed7383b90a0@nvidia.com>","list_archive_url":null,"date":"2026-04-30T09:42:08","subject":"Re: [PATCH v2] ASoC: tegra: Add per-stream Mixer Fade controls","submitter":{"id":87986,"url":"http://patchwork.ozlabs.org/api/people/87986/","name":"Sheetal .","email":"sheetal@nvidia.com"},"content":"On 30-04-2026 11:29, Mark Brown wrote:\n> On Wed, Apr 29, 2026 at 07:06:03AM +0000, Sheetal wrote:\n>> Add per-stream fade controls for the Tegra mixer to allow\n>> independently configuring target gain and fade duration for each of\n>> the 10 input streams (RX1 through RX10).\n> \n>> +static int tegra210_mixer_get_fade_status(struct snd_kcontrol *kcontrol,\n>> +\t\t\t\t\t  struct snd_ctl_elem_value *ucontrol)\n>> +{\n> \n>> +\t\tif (count >= mixer->duration[id]) {\n>> +\t\t\tucontrol->value.integer.value[id] = TEGRA210_MIXER_FADE_COMPLETE;\n>> +\t\t\tregmap_update_bits(mixer->regmap,\n>> +\t\t\t\t\t   MIXER_REG(TEGRA210_MIXER_RX1_CTRL, id),\n>> +\t\t\t\t\t   TEGRA210_MIXER_SAMPLE_COUNT_ENABLE, 0);\n>> +\t\t\tmixer->in_fade[id] = false;\n>> +\t\t} else {\n>> +\t\t\tucontrol->value.integer.value[id] = TEGRA210_MIXER_FADE_ACTIVE;\n>> +\t\t}\n> \n> Is the _FADE_COMPLETE state a good idea here?  Only the first read after\n> a fade will show it, and functionally it's the same as _IDLE - there's\n> no current fade running.\n> \n\nYes makes sense, will keep IDLE(0) and ACTIVE(1)\n\n> Also is there any overhead to having the sample counting enabled?  This\n> is the only thing that turns it off AFAICT so if userspace doesn't look\n> at the control we'll just leave it running indefinitely.  Perhaps a\n> timer to disable might be useful?  It's generally a bit odd that we have\n> a write to the hardware in a get().\n> \n\n\nRather than a timer (which would require sample rate tracking to convert \nthe sample-based duration to wall-clock time), sample count will be \ndisabled before re-enabling it in the put callback, ensuring the counter \nrestarts from zero for each new fade. Does that sound reasonable, or \nwould you prefer a different approach?\n\n\n>> +\tSOC_SINGLE_EXT(\"Fade Enable\", SND_SOC_NOPM, 0, 1, 0,\n>> +\t\t       tegra210_mixer_get_fade_enable,\n>> +\t\t       tegra210_mixer_put_fade_enable),\n> \n> Fade Switch.\n> \n\nAck\n\n>>   struct tegra210_mixer {\n>>   \tint gain_value[TEGRA210_MIXER_RX_MAX];\n>> +\tu32 duration[TEGRA210_MIXER_RX_MAX];\n>> +\tbool in_fade[TEGRA210_MIXER_RX_MAX];\n>> +\tbool fade_pending[TEGRA210_MIXER_RX_MAX];\n>>   \tstruct regmap *regmap;\n>>   };\n> \n> gain_value is used by the existing RX n Gain Volume controls, don't we\n> need separate data for the fade controls here, or should we just have\n> the new Fade Gain controls?  Having the separate controls is more\n> complicated.\n\n\nThe existing \"RXn Gain Volume\" applies gain immediately on each put \ncall, while Fade Gain needs to be staged until the Fade Switch strobe is \ntriggered. Sharing gain_value would break this staged semantics, so a \nseparate fade_gain[] field keeps the two independent.","headers":{"Return-Path":"\n <linux-tegra+bounces-14080-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-tegra@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=M8tLyXGS;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-tegra+bounces-14080-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=\"M8tLyXGS\"","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=40.93.198.67","smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com","smtp.subspace.kernel.org;\n spf=fail smtp.mailfrom=nvidia.com","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=nvidia.com;"],"Received":["from tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g5q2r12k6z1xqf\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 19:42:28 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id EC4923002D7F\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 09:42:25 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 1B79A3A5451;\n\tThu, 30 Apr 2026 09:42:25 +0000 (UTC)","from CY7PR03CU001.outbound.protection.outlook.com\n (mail-westcentralusazon11010067.outbound.protection.outlook.com\n [40.93.198.67])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id AD1512264B0;\n\tThu, 30 Apr 2026 09:42:23 +0000 (UTC)","from DSSPR12MB999212.namprd12.prod.outlook.com (2603:10b6:8:376::11)\n by PH0PR12MB7932.namprd12.prod.outlook.com (2603:10b6:510:280::8) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.21; Thu, 30 Apr\n 2026 09:42:18 +0000","from DSSPR12MB999212.namprd12.prod.outlook.com\n ([fe80::5e39:8f96:935a:87ba]) by DSSPR12MB999212.namprd12.prod.outlook.com\n ([fe80::5e39:8f96:935a:87ba%3]) with mapi id 15.20.9870.013; Thu, 30 Apr 2026\n 09:42:18 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777542144; cv=fail;\n b=pQjBAMS1EPYe/toWxFKpAZ5cCGnjunc3NCWOkEejQewNsk6sue7EgyVAW+DtrU9NkvrEXvFmy0Qzo2NNt/AY8ORxHUOjfMOtizuJMb6krhizNDPf3GygPHttNEZn+rgXOOsj8SlVYIHbsYA+PCeR6uJibNvrKOtV444Kt4FWjac=","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=jYpA4UKhuifOIRh98qAHKugOGu6psPH9SbWHUXqk5FRPuO4+CRH4MGdO9c/oWuofYTp1n1jVL9KtZ5KSxatK0dl+C6G+Jb6OddTBscB+TvKNhl+V8Gusn+lJhudTR34SCr68R2yqN7DB8iuJVxI9CV7g5zk7Hy8T6f2nxKGjFEmazZLF4UnKm/hsiDU/Ekh7Y/L1NI78oFM9tcAb0l4PE75lS7s31ZtxZ3Pan9fH89XEMdxMFD1al/HLH8swVQr1UQP7c298/bR1UveDTnqMqG1NzHrfycYfR0hbHCnHbx8SxbC9AMN90A3u55PFtsWF2Lb80MHPiMEe9EaqOuMKdg=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777542144; c=relaxed/simple;\n\tbh=0rltcw+eXjGSXlnn/UiErj71LZ3vX15NW8eWkfCWz+4=;\n\th=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:\n\t Content-Type:MIME-Version;\n b=Ihveyp+JTav00MkJzlrsQdkmwkgxQfj/R/BRx2a6iaaJgaBn1rKifnQLVkilBEwSIAyNVW47nbslxS9M3esKwkD9XygUZclTkm2SZVIp58dwyFe24SUCuGotlJffpuigP1mTV0c1xi9hc4InMMTfeqJvwFrEQzyvZgSAKO88u0M=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=+pxY7CElGsrjS5BgDkpFBV9Ls547EcboMXNUGuOrTR0=;\n b=eKy9Re+XdFahgwj43w+prPWTyItdcrWhhwZZ84dgq6/lbJ0lLjk0GTQQrAyFzSJYHe80Ds0kP38oECdwj39Y+XqgyJWr5NlRCycZtuGP7ycSUltvmSamoqPMXh/7KYhUbN93Vdi1saazRB4UTgkzHGaR6NBsT789F6ZHVXXUTgav4WfuKq+xKVUXRe2h89kR8wWBXIsCoKa36RpZHyQTXIWo3FF0wRKl8zRNajCyM6Lsag3pC2uMup4q2MVVDsBg02Nr0RbBLsYdAchKaEEYd0P/SRfJgefTq7Hl0Q/rf8zywvv0rVCOrb7ZT8/A1FR55SAC7kow/BSn5pqIqJcBPg=="],"ARC-Authentication-Results":["i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com;\n spf=fail smtp.mailfrom=nvidia.com;\n dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=M8tLyXGS; arc=fail smtp.client-ip=40.93.198.67","i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;\n dkim=pass header.d=nvidia.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=+pxY7CElGsrjS5BgDkpFBV9Ls547EcboMXNUGuOrTR0=;\n b=M8tLyXGS1UjkEoA0MXxoI+FAoIpCbrYgRt3mdWuAA3kbXy1egnp5H2p6aKdxuUF+kfFHXvBZR2Wv8Lx7j0pNXap4+Bge3N0u6rxMHgIeWysNVsxqB83YGGVWKwYCJJfBaPVTcoHi/XPmLQ0dp3JKzPIe5ngLPwB5Z7wyz+VJ82b1P4efKBIAS9GsQ3tjB2gsioC/TPmNautEvxa9Q4UlADKUTwKW7wJ6nm6YzY5vmM5NITaF2Cvxc2f+XarSX9eT6fSSni/zRdKq1HyG0+aAkV8n544hqbjE3CpNFiXrL5f/lGwlaY6JhzVcJbLHeIjv4Nk33i7x+lX05tIMsRnlcA==","Message-ID":"<f6200923-d796-4ac1-85d8-3ed7383b90a0@nvidia.com>","Date":"Thu, 30 Apr 2026 15:12:08 +0530","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v2] ASoC: tegra: Add per-stream Mixer Fade controls","To":"Mark Brown <broonie@kernel.org>","Cc":"Liam Girdwood <lgirdwood@gmail.com>, Jaroslav Kysela <perex@perex.cz>,\n Takashi Iwai <tiwai@suse.com>, Thierry Reding <thierry.reding@kernel.org>,\n Jonathan Hunter <jonathanh@nvidia.com>, Sameer Pujar <spujar@nvidia.com>,\n Mohan Kumar <mkumard@nvidia.com>,\n Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,\n linux-sound@vger.kernel.org, linux-tegra@vger.kernel.org,\n linux-kernel@vger.kernel.org","References":"<20260429070603.2791011-1-sheetal@nvidia.com>\n <afLv3S6kWnt0D6PW@sirena.co.uk>","Content-Language":"en-US","From":"\"Sheetal .\" <sheetal@nvidia.com>","In-Reply-To":"<afLv3S6kWnt0D6PW@sirena.co.uk>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","X-ClientProxiedBy":"PN5PR01CA0041.INDPRD01.PROD.OUTLOOK.COM\n (2603:1096:c01:264::14) To DSSPR12MB999212.namprd12.prod.outlook.com\n (2603:10b6:8:376::11)","Precedence":"bulk","X-Mailing-List":"linux-tegra@vger.kernel.org","List-Id":"<linux-tegra.vger.kernel.org>","List-Subscribe":"<mailto:linux-tegra+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-tegra+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"DSSPR12MB999212:EE_|PH0PR12MB7932:EE_","X-MS-Office365-Filtering-Correlation-Id":"788c7578-6de6-4ca8-9b48-08dea69cc4bc","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"\n\tBCL:0;ARA:13230040|366016|376014|1800799024|22082099003|18002099003|56012099003;","X-Microsoft-Antispam-Message-Info":"\n\tpu0UvfXiMzWG2B+v3QVmC+Za3/u7RYCImQsrKmx+YEupEz74vFlS43Xx0NTmyDT2oZhaMG8RqHeBlRl/lwgT79lR3wsSmF5jAvZ+XdJ/NGUjwd0libX4CXtJbjNaBGDNFfe+e61xgehK8r/J/PsYaPxwbIV1a2ZoLD21RuBclLzhmIwF7uHO+KIV/rTURD4APL+3CHrimCrzWr7jTZZSnvkYYLzvoy8J2sb1iQaS5pTy4NM2DenfhuvDWtmNkewz58nkrD+FcfL17Xts8yZHc6VR3w3uefTqHgPvfyoqhLk26LWyvWMkLZGCOD4GFtBORWsL1Q1qpXKrzn4o56ceylsJ1qyTkbYPoD0bakyvob+h11rlmhdfN6vbI/TqrzTvBLeFS0Wy0qYPIXvCBLsnESL7di7gZcjPVkY6qSzMY/5Ofk2L4aLqSnaA8o3KlxbjdxbvUwvbYScVqNe0WC3xP3rUNNeTo97qr5fQfWbvaCDdYyhfOvBNBkCcXCUZD3dROUxPnoUb9YGBhTWA3vA31bRhoh2OdQJAKa/0PYLfHmgUCG9lfT4beeIbNFlPovoCdtMIRff6oAtf7UnPiabC8U7hq+C4q7s4j5Fsz8RLxf/Xvc5xUv6cG3FhmtInFEk5cz5pZ/uqAJfTcVl/X3LcUvV/vtTKSeeMagHbObu7mOCXdaZ1PTBAGWfU40VUFvz4jhKJFTGuDJtNjJ8oNaZzODGP87om64TSboCt3rCKK3U=","X-Forefront-Antispam-Report":"\n\tCIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DSSPR12MB999212.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"=?utf-8?q?csLDtfHj3WZEcEihz4GuGACLSevg?=\n\t=?utf-8?q?MDaFAhK58m5ZQX7L/g9ECr991TPMAzznb6cU12pnvdw+DGmIu4eH5MTNIVFySInsv?=\n\t=?utf-8?q?gUpUYrj9dmTAXIQRSKwjIzUHhVCN74b9zFkKBo3vzD/QY1tW3le+U8DIIo1PbQzUb?=\n\t=?utf-8?q?MqftxRZimoe8VIqyKwVar2vvbdo5uuPU52DwIodGeDi2xuWwbO4j0RdsFbG92Hoy6?=\n\t=?utf-8?q?2L2FhpnPwy95dS7EpqRMPFHw2bqVZMfCHVOs6mlDdZSJm1wWfgt5lE+joacWi8qFf?=\n\t=?utf-8?q?35h/Vyopt8i23nrc2/QZ8TVPiBVbuaBe+mHK6ImHiUp+Wc3gTlUp3derOa36ABoEk?=\n\t=?utf-8?q?E5J0XsyadVThws5NS9OKEcu8+xOfew3isllA4uEBSsbS9ZKn+45d1bE7HTiFYMufy?=\n\t=?utf-8?q?xRthiH2kLfx+HBxdOYXXHy0wRR10oq5Ch1FB6b3zIMUJXPE0Hx0DY888wn3oWyjFN?=\n\t=?utf-8?q?w4hAnEsBOo+Z5Ff/qSCaEr3pqN0RtIP+sIC2F/pvBRU1/pIG/Qn1BgLj/ONNV063D?=\n\t=?utf-8?q?87m6aSfe3SyaHDHLv4qeFEJcXGIckCAy9o5/K98iT6XQ1p2tRyzIG1zFvfE1maOhY?=\n\t=?utf-8?q?w8rE3FDpmSzYwL4rp/9RhA92LwbJx9C6nJXMr8qonfvWguCdt8gV2ENAxPqX6EIt8?=\n\t=?utf-8?q?R0V+e12//a1WpCKACtp7jEfTC78+6W/ncvbMjH9124OPxk7A0TVVPCAGYnv9kIFk5?=\n\t=?utf-8?q?GbrO9Ntdr9m+iMHluf4hBmpKSL7TGLFo8k4MdaBtQHTOgSwV9E4+MtDX+tTPCSwOg?=\n\t=?utf-8?q?LeHnw87y9w92PwpF/9mQSMZA9YyCT7CxTwfueVsL0QolUhU9MoZ7K1hcjjRzsHkXl?=\n\t=?utf-8?q?rzuK4ZztEp8qHBKBsK7VU5JDwfVIjEH0K7ZxCIfNfDHqOGl/l4VyOGGjFwfl0wyBp?=\n\t=?utf-8?q?sTHCGrrmgTdGmLTe7ikVIonw9khN36Tz951U3UDTuXs4/k0AlRZN/HFSmj7+mZHW4?=\n\t=?utf-8?q?1ruSDdOx1uFUEiyO+Bh24zHwCkxr68igKO7GYtpBdH4E61pvMDvoQpwP2LWVTM6rR?=\n\t=?utf-8?q?jRg+yyB3QdGlKZQ7AgF2otK4bTfn9jLfsa1CRDflLLM4/kCPwbx3KNTO1GxF+7n9z?=\n\t=?utf-8?q?ovqaMuBsFRatylTXwQaN685esyTUGv7HOmGWfQ+iM7bbzPYRDSQR8iz+nVZ48Njd+?=\n\t=?utf-8?q?MFHZcvp7ZOCe60ANBXiFQVVzYTLqzePYIlVbmeeofeCibb6CfY61+hHNIc5L8/kpA?=\n\t=?utf-8?q?47n44e3RjoaSz50babgMgC0zFT9EeHgxg5K/LVDdGW+lYtK84duLtGrcBl7U/FIdP?=\n\t=?utf-8?q?9XNeJOqR9KYjEkaazLngabkG+vhFubciaxTcTKojFoiZUcLz0PbMsOr1l1dZ4WzNu?=\n\t=?utf-8?q?8GhG0sBMycH8h1WYQkXbFznwIB9WuDx/G0OllsHisB6vIsgrBSoikFGRomEp3vtQ8?=\n\t=?utf-8?q?b3CZzYL7BzRYybKSe6vuiZTmXWhykZp2P4sftRI10vEAlrWXPauFOKfppnoSZLEsj?=\n\t=?utf-8?q?rq+wKBu+Buti1g4XVDaQDMFC5SytJjD344kv9N3XztwRIAISGFDu7LuTPhMGvuHGy?=\n\t=?utf-8?q?co+jmKDC5H63UiM2RNQtTdK0OXJraC4SG/RwLd4J1rETq/uvs+5OiPNJLFI6gJ5ju?=\n\t=?utf-8?q?PNW3VdEfbHu6vIL5lvazYKxK7fpj/Dxu6MV4flZzs4o2updQMt/tVG2qF4aTQU+XE?=\n\t=?utf-8?q?YGLzSUyw7WvLBXmBiGpjWh00XJBlTdDA=3D=3D?=","X-OriginatorOrg":"Nvidia.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 788c7578-6de6-4ca8-9b48-08dea69cc4bc","X-MS-Exchange-CrossTenant-AuthSource":"\n DSSPR12MB999212.namprd12.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"30 Apr 2026 09:42:17.9943\n (UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"43083d15-7273-40c1-b7db-39efd9ccc17a","X-MS-Exchange-CrossTenant-MailboxType":"HOSTED","X-MS-Exchange-CrossTenant-UserPrincipalName":"\n O9o//6wCdQWGBQmGTVNcvFC6pimtzEm/mTbOz0rTB5y92tMI8/XCKS4zDOsRbq69qQnnxiT9UQywGee9VNAP/A==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"PH0PR12MB7932"}},{"id":3684599,"web_url":"http://patchwork.ozlabs.org/comment/3684599/","msgid":"<afMxvRbiMhVF0F7i@sirena.co.uk>","list_archive_url":null,"date":"2026-04-30T10:41:01","subject":"Re: [PATCH v2] ASoC: tegra: Add per-stream Mixer Fade controls","submitter":{"id":24878,"url":"http://patchwork.ozlabs.org/api/people/24878/","name":"Mark Brown","email":"broonie@kernel.org"},"content":"On Thu, Apr 30, 2026 at 03:12:08PM +0530, Sheetal . wrote:\n> On 30-04-2026 11:29, Mark Brown wrote:\n> > On Wed, Apr 29, 2026 at 07:06:03AM +0000, Sheetal wrote:\n\n> > Also is there any overhead to having the sample counting enabled?  This\n> > is the only thing that turns it off AFAICT so if userspace doesn't look\n> > at the control we'll just leave it running indefinitely.  Perhaps a\n> > timer to disable might be useful?  It's generally a bit odd that we have\n> > a write to the hardware in a get().\n\n> Rather than a timer (which would require sample rate tracking to convert the\n> sample-based duration to wall-clock time), sample count will be disabled\n> before re-enabling it in the put callback, ensuring the counter restarts\n> from zero for each new fade. Does that sound reasonable, or would you prefer\n> a different approach?\n\nIt depends on how important it is to do the disable - if there's no\nreal need to do it until the next fade that's fine, if there's some cost\nto having it run then you might need something more active.","headers":{"Return-Path":"\n <linux-tegra+bounces-14085-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-tegra@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=bldCdZND;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-tegra+bounces-14085-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"bldCdZND\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g5rLV6YWBz1xqf\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 20:41:06 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id D233730075EB\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 10:41:04 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 97CFC39FCA0;\n\tThu, 30 Apr 2026 10:41:04 +0000 (UTC)","from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 5890639EF30;\n\tThu, 30 Apr 2026 10:41:04 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 0E72DC2BCB3;\n\tThu, 30 Apr 2026 10:41:04 +0000 (UTC)","by finisterre.sirena.org.uk (Postfix, from userid 1000)\n\tid E9F181AC585E; Thu, 30 Apr 2026 11:41:01 +0100 (BST)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777545664; cv=none;\n b=Y4eryXn7GUVsBZRD0vn9lK9WbDBJy9QdNXnM8wOQziXf2j6aCtxCRWXqbpnVV3UdHKdWGyTqyEujaYNSWze8KxM5V+euLGkssMOhzoRhXKi2/EPz714HVSxYqZxkQEBdy3cYm90OB2MEhCXQGD2H7sPa2JxjiWjv3uMfG3vskes=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777545664; c=relaxed/simple;\n\tbh=C5pMirUInL0Wgzkxt9sEiCkDGWtvuhIS382p9bXhc74=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:\n\t Content-Type:Content-Disposition:In-Reply-To;\n b=t5XNaHWrG7ro4+h87kHO6bY8g4G9F2cdXHUYXkbPvtMep9Si6bGeSc90SY6cXOmi+1OP2iLifo3khJXYl0sY6F11sRFO35gO6w9AJhLz+WEUNbXlp2ow8+6QGMJKj2ezgrsWvhGoKpFDWuH4A42UiViTBAmWg41gldE+rAHVrl0=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=bldCdZND; arc=none smtp.client-ip=10.30.226.201","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1777545664;\n\tbh=C5pMirUInL0Wgzkxt9sEiCkDGWtvuhIS382p9bXhc74=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=bldCdZNDcGEWWum+cCJWCDoSjztMl1O+Ng21a8bDiYLNzXWOHxviI4GZbF7TsB/pl\n\t wSxtgUZ+kj4xTN8kh8NSGzV2zwxUJU4qU2EoKfjGUkeHxqVPrCLoMdHpOnBIZNRfh3\n\t 7lR6IbeUK9+60qc+2xssOewxjsZxjojO3YQnJBaIqpNaMKxZHfZH9963gHL502l5GP\n\t 3UYuCKn3X9/lAQD40kQ9qFo3oNX1B0JBBccA5f6ng4pNf8p/ENkdvoYX8eFI5kwvlk\n\t eYsC6P26rkDc0n1Yna/qS8Qaxi2lrNs1zQKfCpDgTh5dlM3Z6o2r99gEyG/oC1b2XF\n\t 8Kp8CGCx4SDqw==","Date":"Thu, 30 Apr 2026 19:41:01 +0900","From":"Mark Brown <broonie@kernel.org>","To":"\"Sheetal .\" <sheetal@nvidia.com>","Cc":"Liam Girdwood <lgirdwood@gmail.com>, Jaroslav Kysela <perex@perex.cz>,\n\tTakashi Iwai <tiwai@suse.com>,\n\tThierry Reding <thierry.reding@kernel.org>,\n\tJonathan Hunter <jonathanh@nvidia.com>,\n\tSameer Pujar <spujar@nvidia.com>, Mohan Kumar <mkumard@nvidia.com>,\n\tKuninori Morimoto <kuninori.morimoto.gx@renesas.com>,\n\tlinux-sound@vger.kernel.org, linux-tegra@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org","Subject":"Re: [PATCH v2] ASoC: tegra: Add per-stream Mixer Fade controls","Message-ID":"<afMxvRbiMhVF0F7i@sirena.co.uk>","References":"<20260429070603.2791011-1-sheetal@nvidia.com>\n <afLv3S6kWnt0D6PW@sirena.co.uk>\n <f6200923-d796-4ac1-85d8-3ed7383b90a0@nvidia.com>","Precedence":"bulk","X-Mailing-List":"linux-tegra@vger.kernel.org","List-Id":"<linux-tegra.vger.kernel.org>","List-Subscribe":"<mailto:linux-tegra+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-tegra+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha512;\n\tprotocol=\"application/pgp-signature\"; boundary=\"FwfmPUddWjxvT/HH\"","Content-Disposition":"inline","In-Reply-To":"<f6200923-d796-4ac1-85d8-3ed7383b90a0@nvidia.com>","X-Cookie":"667:"}}]