On Mon, Jun 03, 2019 at 07:47:35PM +0200, codekip...@gmail.com wrote:
> From: Marcus Cooper <codekip...@gmail.com>
>
> Bypass the regmap cache when flushing the i2s FIFOs and modify the tables
> to reflect this.
>
> Signed-off-by: Marcus Cooper <codekip...@gmail.com>
> ---
>  sound/soc/sunxi/sun4i-i2s.c | 29 +++++++++--------------------
>  1 file changed, 9 insertions(+), 20 deletions(-)
>
> diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c
> index 351b8021173b..92828a84902d 100644
> --- a/sound/soc/sunxi/sun4i-i2s.c
> +++ b/sound/soc/sunxi/sun4i-i2s.c
> @@ -595,9 +595,11 @@ static int sun4i_i2s_set_fmt(struct snd_soc_dai *dai, 
> unsigned int fmt)
>  static void sun4i_i2s_start_capture(struct sun4i_i2s *i2s)
>  {
>       /* Flush RX FIFO */
> +     regcache_cache_bypass(i2s->regmap, true);
>       regmap_update_bits(i2s->regmap, SUN4I_I2S_FIFO_CTRL_REG,
>                          SUN4I_I2S_FIFO_CTRL_FLUSH_RX,
>                          SUN4I_I2S_FIFO_CTRL_FLUSH_RX);
> +     regcache_cache_bypass(i2s->regmap, false);

Your commit log should say why you need to do this in the first place.

> @@ -771,13 +775,7 @@ static const struct snd_soc_component_driver 
> sun4i_i2s_component = {
>
>  static bool sun4i_i2s_rd_reg(struct device *dev, unsigned int reg)
>  {
> -     switch (reg) {
> -     case SUN4I_I2S_FIFO_TX_REG:
> -             return false;
> -
> -     default:
> -             return true;
> -     }
> +     return true;

That doesn't seem related?

Maxime

--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

Attachment: signature.asc
Description: PGP signature

Reply via email to