Commit 7002cbd6 authored by Oswald Buddenhagen's avatar Oswald Buddenhagen Committed by Takashi Iwai

ALSA: emu10k1: use high-level I/O in set_filterQ()

This makes the code shorter and more legible.
Signed-off-by: default avatarOswald Buddenhagen <oswald.buddenhagen@gmx.de>
Link: https://lore.kernel.org/r/20230423181002.1246793-2-oswald.buddenhagen@gmx.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 8d60d5ca
...@@ -429,7 +429,8 @@ ...@@ -429,7 +429,8 @@
#define DSL_LOOPENDADDR 0x18000007 #define DSL_LOOPENDADDR 0x18000007
#define CCCA 0x08 /* Filter Q, interp. ROM, byte size, cur. addr register */ #define CCCA 0x08 /* Filter Q, interp. ROM, byte size, cur. addr register */
#define CCCA_RESONANCE 0xf0000000 /* Lowpass filter resonance (Q) height */ #define CCCA_RESONANCE_MASK 0xf0000000 /* Lowpass filter resonance (Q) height */
#define CCCA_RESONANCE 0x041c0008
#define CCCA_INTERPROM_MASK 0x0e000000 /* Selects passband of interpolation ROM */ #define CCCA_INTERPROM_MASK 0x0e000000 /* Selects passband of interpolation ROM */
/* 1 == full band, 7 == lowpass */ /* 1 == full band, 7 == lowpass */
/* ROM 0 is used when pitch shifting downward or less */ /* ROM 0 is used when pitch shifting downward or less */
......
...@@ -531,8 +531,5 @@ set_fm2frq2(struct snd_emu10k1 *hw, struct snd_emux_voice *vp) ...@@ -531,8 +531,5 @@ set_fm2frq2(struct snd_emu10k1 *hw, struct snd_emux_voice *vp)
static void static void
set_filterQ(struct snd_emu10k1 *hw, struct snd_emux_voice *vp) set_filterQ(struct snd_emu10k1 *hw, struct snd_emux_voice *vp)
{ {
unsigned int val; snd_emu10k1_ptr_write(hw, CCCA_RESONANCE, vp->ch, vp->reg.parm.filterQ);
val = snd_emu10k1_ptr_read(hw, CCCA, vp->ch) & ~CCCA_RESONANCE;
val |= (vp->reg.parm.filterQ << 28);
snd_emu10k1_ptr_write(hw, CCCA, vp->ch, val);
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment