ASoC: SOF: ops: add snd_sof_dsp_updateb() helper
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Mon, 24 Oct 2022 16:52:58 +0000 (11:52 -0500)
committerMark Brown <broonie@kernel.org>
Wed, 26 Oct 2022 13:17:55 +0000 (14:17 +0100)
Add missing helper in SOF toolbox.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20221024165310.246183-5-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/ops.h

index 511c798..8cb93e7 100644 (file)
@@ -356,6 +356,17 @@ static inline u64 snd_sof_dsp_read64(struct snd_sof_dev *sdev, u32 bar,
                return readq(sdev->bar[bar] + offset);
 }
 
+static inline void snd_sof_dsp_updateb(struct snd_sof_dev *sdev, u32 bar,
+                                      u32 offset, u8 value, u8 mask)
+{
+       u8 reg;
+
+       reg = snd_sof_dsp_readb(sdev, bar, offset);
+       reg &= ~mask;
+       reg |= value;
+       snd_sof_dsp_writeb(sdev, bar, offset, reg);
+}
+
 /* block IO */
 static inline int snd_sof_dsp_block_read(struct snd_sof_dev *sdev,
                                         enum snd_sof_fw_blk_type blk_type,