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: <2c56d592-719f-bd87-25cb-c5028bde729b@linux.intel.com>
Date:   Wed, 11 Mar 2020 13:58:44 -0500
From:   Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
To:     Srinivas Kandagatla <srinivas.kandagatla@...aro.org>,
        broonie@...nel.org, vkoul@...nel.org
Cc:     linux-kernel@...r.kernel.org, alsa-devel@...a-project.org
Subject: Re: [PATCH 2/2] ASoC: wsa881x: mark read_only_wordlength flag



On 3/11/20 6:35 AM, Srinivas Kandagatla wrote:
> WSA881x works in PDM mode so the wordlength is fixed, which also makes
> the only field "WordLength" in DPN_BlockCtrl1 register a read-only.
> Writing to this register will throw up errors with Qualcomm Controller.

it'd be good to clarify the nature of these errors, i.e.

a) is this the Slave device responding with a NAK?
b) is this the Slave device responding with COMMAND_IGNORED, and those 
responses not handled by the controller?
c) something else?

Thanks!

> So use ro_blockctrl1_reg flag to mark this field as read-only so that
> core will not write to this register.
> 
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
> ---
>   sound/soc/codecs/wsa881x.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/sound/soc/codecs/wsa881x.c b/sound/soc/codecs/wsa881x.c
> index b59f1d0e7f84..35b44b297f9e 100644
> --- a/sound/soc/codecs/wsa881x.c
> +++ b/sound/soc/codecs/wsa881x.c
> @@ -394,6 +394,7 @@ static struct sdw_dpn_prop wsa_sink_dpn_prop[WSA881X_MAX_SWR_PORTS] = {
>   		.min_ch = 1,
>   		.max_ch = 1,
>   		.simple_ch_prep_sm = true,
> +		.read_only_wordlength = true,
>   	}, {
>   		/* COMP */
>   		.num = 2,
> @@ -401,6 +402,7 @@ static struct sdw_dpn_prop wsa_sink_dpn_prop[WSA881X_MAX_SWR_PORTS] = {
>   		.min_ch = 1,
>   		.max_ch = 1,
>   		.simple_ch_prep_sm = true,
> +		.read_only_wordlength = true,
>   	}, {
>   		/* BOOST */
>   		.num = 3,
> @@ -408,6 +410,7 @@ static struct sdw_dpn_prop wsa_sink_dpn_prop[WSA881X_MAX_SWR_PORTS] = {
>   		.min_ch = 1,
>   		.max_ch = 1,
>   		.simple_ch_prep_sm = true,
> +		.read_only_wordlength = true,
>   	}, {
>   		/* VISENSE */
>   		.num = 4,
> @@ -415,6 +418,7 @@ static struct sdw_dpn_prop wsa_sink_dpn_prop[WSA881X_MAX_SWR_PORTS] = {
>   		.min_ch = 1,
>   		.max_ch = 1,
>   		.simple_ch_prep_sm = true,
> +		.read_only_wordlength = true,
>   	}
>   };
>   
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ