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
| ||
|
Date: Wed, 05 Feb 2014 19:21:23 +0100 From: Lars-Peter Clausen <lars@...afoo.de> To: Jean-Francois Moine <moinejf@...e.fr> CC: Mark Brown <broonie@...nel.org>, alsa-devel@...a-project.org, Russell King - ARM Linux <linux@....linux.org.uk>, linux-kernel@...r.kernel.org, dri-devel@...ts.freedesktop.org, Rob Clark <robdclark@...il.com>, Dave Airlie <airlied@...il.com>, linux-arm-kernel@...ts.infradead.org Subject: Re: [alsa-devel] [PATCH v3 4/5] ASoC: tda998x: adjust the audio hw parameters from EDID On 02/05/2014 07:07 PM, Jean-Francois Moine wrote: > On Wed, 05 Feb 2014 10:19:22 +0100 > Lars-Peter Clausen <lars@...afoo.de> wrote: > >>> So, in the CODEC, I don't see how I could update the parameters >>> dictated by the EDID otherwise in changing the DAI driver parameters. >>> >> >> The startup function is the right place. But instead of modifying the DAI >> use snd_pcm_hw_constraint_mask64(), snd_pcm_hw_constraint_list(), etc. to >> setup the additional constraints that come from the EDID. > > It is more complicated, but it works. Nevertheless, I have 2 problems: > > - snd_pcm_hw_constraint_list() keeps a pointer to the list, so, it > cannot be in the stack. It fix this with static struct and rate array. > Right. If the struct is modified though it should be per device and not global. I think the best way to implement this is to make the array static and specify a mask for the constraint based on the EDID. E.g. static unsigned int hdmi_rates[] = { 32000, 44100, 48000, 88200, 96000, 176400, 192000, }; rate_mask = 0; while (...) { ... rate_mask |= 1 << sad[1]; } rate_constraints->list = hdmi_rates; rate_constraints->count = ARRAY_SIZE(hdmi_rates); rate_constraints->mask = rate_mask; > - snd_pcm_hw_constraint_mask64() is not exported. > Is there an other way to set constraints on the formats/sample widths? I think that's a bug. Both snd_pcm_hw_constraint_mask() and snd_pcm_hw_constraint_mask64() should be exported. Can you send a patch? - Lars -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists