Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 18f3c59f authored by James Courtier-Dutton's avatar James Courtier-Dutton Committed by Jaroslav Kysela
Browse files

[ALSA] snd-emu10k1: Tidy SPI code.



Modules: EMU10K1/EMU10K2 driver

Signed-off-by: default avatarJames Courtier-Dutton <James@superbug.co.uk>
parent c6a02ca2
Loading
Loading
Loading
Loading
+30 −22
Original line number Diff line number Diff line
@@ -92,6 +92,30 @@ void snd_emu10k1_voice_init(struct snd_emu10k1 * emu, int ch)
	}
}

static unsigned int spi_dac_init[] = {
		0x00ff,
		0x02ff,
		0x0400,
		0x0520,
		0x0600,
		0x08ff,
		0x0aff,
		0x0cff,
		0x0eff,
		0x10ff,
		0x1200,
		0x1400,
		0x1480,
		0x1800,
		0x1aff,
		0x1cff,
		0x1e00,
		0x0530,
		0x0602,
		0x0622,
		0x1400,
};
	
static int snd_emu10k1_init(struct snd_emu10k1 *emu, int enable_ir, int resume)
{
	unsigned int silent_page;
@@ -182,28 +206,12 @@ static int snd_emu10k1_init(struct snd_emu10k1 *emu, int enable_ir, int resume)
		outl(tmp, emu->port + A_IOCFG);
	}
	if (emu->card_capabilities->spi_dac) { /* Audigy 2 ZS Notebook with DAC Wolfson WM8768/WM8568 */
		u32 tmp;
		tmp = snd_emu10k1_spi_write(emu, 0x00ff);
		tmp = snd_emu10k1_spi_write(emu, 0x02ff);
		tmp = snd_emu10k1_spi_write(emu, 0x0400);
		tmp = snd_emu10k1_spi_write(emu, 0x0520);
		tmp = snd_emu10k1_spi_write(emu, 0x0600);
		tmp = snd_emu10k1_spi_write(emu, 0x08ff);
		tmp = snd_emu10k1_spi_write(emu, 0x0aff);
		tmp = snd_emu10k1_spi_write(emu, 0x0cff);
		tmp = snd_emu10k1_spi_write(emu, 0x0eff);
		tmp = snd_emu10k1_spi_write(emu, 0x10ff);
		tmp = snd_emu10k1_spi_write(emu, 0x1200);
		tmp = snd_emu10k1_spi_write(emu, 0x1400);
		tmp = snd_emu10k1_spi_write(emu, 0x1480);
		tmp = snd_emu10k1_spi_write(emu, 0x1800);
		tmp = snd_emu10k1_spi_write(emu, 0x1aff);
		tmp = snd_emu10k1_spi_write(emu, 0x1cff);
		tmp = snd_emu10k1_spi_write(emu, 0x1e00);
		tmp = snd_emu10k1_spi_write(emu, 0x0530);
		tmp = snd_emu10k1_spi_write(emu, 0x0602);
		tmp = snd_emu10k1_spi_write(emu, 0x0622);
		tmp = snd_emu10k1_spi_write(emu, 0x1400);
		int size, n;

		size = ARRAY_SIZE(spi_dac_init);
		for (n=0; n < size; n++)
			snd_emu10k1_spi_write(emu, spi_dac_init[n]);

		snd_emu10k1_ptr20_write(emu, 0x60, 0, 0x10);
		/* Enable GPIOs
		 * GPIO0: Unknown