diff mbox series

ALSA: emu10k1: skip Sound Blaster-specific hacks for E-MU cards

Message ID 20230422161021.1143888-1-oswald.buddenhagen@gmx.de (mailing list archive)
State Accepted
Commit 65243c7eb601fdb1e0f979e7404d87b91f913387
Headers show
Series ALSA: emu10k1: skip Sound Blaster-specific hacks for E-MU cards | expand

Commit Message

Oswald Buddenhagen April 22, 2023, 4:10 p.m. UTC
The rev2 cards use CA0108, but the embedded P17V goes entirely unused.
Also, A_IOCTL (which is really the GPIO port) is actually the FPGA
control port, so messing with it is no good idea.

The hacks are actually mutually exclusive, so make that explicit while
we're at it.

Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
---
 sound/pci/emu10k1/emu10k1_main.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Takashi Iwai April 23, 2023, 7:30 a.m. UTC | #1
On Sat, 22 Apr 2023 18:10:21 +0200,
Oswald Buddenhagen wrote:
> 
> The rev2 cards use CA0108, but the embedded P17V goes entirely unused.
> Also, A_IOCTL (which is really the GPIO port) is actually the FPGA
> control port, so messing with it is no good idea.
> 
> The hacks are actually mutually exclusive, so make that explicit while
> we're at it.
> 
> Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>

Thanks, applied.


Takashi
diff mbox series

Patch

diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c
index c37df604d470..3607d2e1c905 100644
--- a/sound/pci/emu10k1/emu10k1_main.c
+++ b/sound/pci/emu10k1/emu10k1_main.c
@@ -181,7 +181,8 @@  static int snd_emu10k1_init(struct snd_emu10k1 *emu, int enable_ir)
 	snd_emu10k1_ptr_write(emu, SPCS1, 0, emu->spdif_bits[1]);
 	snd_emu10k1_ptr_write(emu, SPCS2, 0, emu->spdif_bits[2]);
 
-	if (emu->card_capabilities->ca0151_chip) { /* audigy2 */
+	if (emu->card_capabilities->emu_model) {
+	} else if (emu->card_capabilities->ca0151_chip) { /* audigy2 */
 		/* Hacks for Alice3 to work independent of haP16V driver */
 		/* Setup SRCMulti_I2S SamplingRate */
 		tmp = snd_emu10k1_ptr_read(emu, A_SPDIF_SAMPLERATE, 0);
@@ -199,8 +200,7 @@  static int snd_emu10k1_init(struct snd_emu10k1 *emu, int enable_ir)
 		outl(0x0201, emu->port + HCFG2);
 		/* Set playback routing. */
 		snd_emu10k1_ptr20_write(emu, CAPTURE_P16V_SOURCE, 0, 0x78e4);
-	}
-	if (emu->card_capabilities->ca0108_chip) { /* audigy2 Value */
+	} else if (emu->card_capabilities->ca0108_chip) { /* audigy2 Value */
 		/* Hacks for Alice3 to work independent of haP16V driver */
 		dev_info(emu->card->dev, "Audigy2 value: Special config.\n");
 		/* Setup SRCMulti_I2S SamplingRate */