lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bc99da2b-1eb2-8f73-9e92-184cf172ef6f@perex.cz>
Date:   Tue, 25 May 2021 18:24:28 +0200
From:   Jaroslav Kysela <perex@...ex.cz>
To:     Dmitry Osipenko <digetx@...il.com>,
        Thierry Reding <thierry.reding@...il.com>,
        Jonathan Hunter <jonathanh@...dia.com>,
        Mark Brown <broonie@...nel.org>, Takashi Iwai <tiwai@...e.com>,
        Ion Agorria <ion@...rria.com>,
        Svyatoslav Ryhel <clamor95@...il.com>,
        Liam Girdwood <lgirdwood@...il.com>
Cc:     alsa-devel@...a-project.org, linux-tegra@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 4/4] ASoC: tegra: Specify components string for Nexus 7

On 24. 05. 21 16:00, Dmitry Osipenko wrote:
> 24.05.2021 13:54, Jaroslav Kysela пишет:
>> Dne 24. 05. 21 v 1:44 Dmitry Osipenko napsal(a):
>>> Specify components string for Nexus 7 using the Intel BayTrail components
>>> format. This may allow us to create a more generic UCM for RT5640 codec.
>>>
>>> Signed-off-by: Dmitry Osipenko <digetx@...il.com>
>>> ---
>>>  sound/soc/tegra/tegra_asoc_machine.c | 19 +++++++++++++++++++
>>>  1 file changed, 19 insertions(+)
>>>
>>> diff --git a/sound/soc/tegra/tegra_asoc_machine.c b/sound/soc/tegra/tegra_asoc_machine.c
>>> index a81f2ebfc00c..87e0a47040a5 100644
>>> --- a/sound/soc/tegra/tegra_asoc_machine.c
>>> +++ b/sound/soc/tegra/tegra_asoc_machine.c
>>> @@ -671,6 +671,24 @@ static const struct tegra_asoc_data tegra_rt5640_data = {
>>>  	.add_hp_jack = true,
>>>  };
>>>  
>>> +/*
>>> + * Speaker: Connected to SPO L/R P/N pins, stereo.
>>> + * Internal Microphone: Digital, connected to DMIC1_DAT IN2P/N pins.
>>> + * Headphones: Connected to HPOL/R pins.
>>> + * Headset Microphone: Unconnected.
>>> + *
>>> + * IF2_DAC/ADC are unpopulated.
>>> + */
>>> +static const struct tegra_asoc_data tegra_rt5640_grouper_data = {
>>> +	.components = "codec:rt5640 cfg-spk:2 cfg-mic:dmic1 aif:1",
>>
>> Perhaps, it may be better to handle this string via the DT config (create new
>> function like snd_soc_of_parse_card_name()).
>>
>> The "codec:rt5640" should be set in the driver (it's fixed), but the
>> "cfg-spk:2 cfg-mic:dmic1 aif:1" part is suitable for the DT config.
> 
> Not sure that this is possible. The DT is an ABI, while components
> string has no specification. Any changes to the components string will
> require DT update.
> 
> I think it's much more feasible to have a database of components within
> kernel driver, like Intel sound driver does it for ACPI devices.

There is no other possibility for ACPI. And while the components string is
part of the ALSA ABI, it should not be changed in an incompatible way. Only
new information should be added. The DT solution seems more flexible to me.
For example the stereo/mono speaker or the AIF number can be set without the
driver modification for rt5640.

					Jaroslav


-- 
Jaroslav Kysela <perex@...ex.cz>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ