Message ID | 20200414110347.23829-1-srinivas.kandagatla@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [RESEND] ASoC: wsa881x: mark read_only_wordlength flag | expand |
On 14-04-20, 12:03, 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. > So use ro_blockctrl1_reg flag to mark this field as read-only so that > core will not write to this register. Reviewed-by: Vinod Koul <vkoul@kernel.org> > > Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > --- > Hi Mark, > > For some reason this patch was missed during last merge window, > Other patch in this series is already in mainline. > Without this patch audio is not functional on DB845c and other SDM845 > based platforms. > > Can you please take this for next possible rc. > > Thanks, > srini > > 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 f2d6f2f81f14..d39d479e2378 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, > } > }; > > -- > 2.21.0
diff --git a/sound/soc/codecs/wsa881x.c b/sound/soc/codecs/wsa881x.c index f2d6f2f81f14..d39d479e2378 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, } };
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. 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@linaro.org> --- Hi Mark, For some reason this patch was missed during last merge window, Other patch in this series is already in mainline. Without this patch audio is not functional on DB845c and other SDM845 based platforms. Can you please take this for next possible rc. Thanks, srini sound/soc/codecs/wsa881x.c | 4 ++++ 1 file changed, 4 insertions(+)