summaryrefslogtreecommitdiffstats
path: root/sound/soc/sof/ops.h
diff options
context:
space:
mode:
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>2022-10-24 11:52:58 -0500
committerMark Brown <broonie@kernel.org>2022-10-26 14:17:55 +0100
commitc28a36b012f1fed177e787d242c592017d284538 (patch)
treef554f97648ed89857705a23e4dbb40cd11b75672 /sound/soc/sof/ops.h
parent74fe0c4dcb41678543915cb97928c366ac1aaceb (diff)
downloadlinux-stable-c28a36b012f1fed177e787d242c592017d284538.tar.gz
linux-stable-c28a36b012f1fed177e787d242c592017d284538.tar.bz2
linux-stable-c28a36b012f1fed177e787d242c592017d284538.zip
ASoC: SOF: ops: add snd_sof_dsp_updateb() helper
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>
Diffstat (limited to 'sound/soc/sof/ops.h')
-rw-r--r--sound/soc/sof/ops.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/sound/soc/sof/ops.h b/sound/soc/sof/ops.h
index 511c798eb1eb..8cb93e7c0c67 100644
--- a/sound/soc/sof/ops.h
+++ b/sound/soc/sof/ops.h
@@ -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,