[PATCH 2/2] ASoC: wsa881x: mark read_only_wordlength flag
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Wed Mar 11 19:58:44 CET 2020
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 at linaro.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,
> }
> };
>
>
More information about the Alsa-devel
mailing list