Commit 4e356d56 authored by Connor McAdams's avatar Connor McAdams Committed by Takashi Iwai
Browse files

ALSA: hda/ca0132 - Add ca0132_mmio_init data for SoundBlaster AE-7.



Modify the AE-5 ca0132_mmio_init function to add AE-7 specific writes.

Signed-off-by: default avatarConnor McAdams <conmanx360@gmail.com>
Link: https://lore.kernel.org/r/20200825201040.30339-14-conmanx360@gmail.com


Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 76d257d6
Loading
Loading
Loading
Loading
+19 −1
Original line number Original line Diff line number Diff line
@@ -8748,10 +8748,28 @@ static void ca0132_mmio_init_ae5(struct hda_codec *codec)
	data = ca0113_mmio_init_data_ae5;
	data = ca0113_mmio_init_data_ae5;
	count = ARRAY_SIZE(ca0113_mmio_init_data_ae5);
	count = ARRAY_SIZE(ca0113_mmio_init_data_ae5);


	for (i = 0; i < count; i++)
	if (ca0132_quirk(spec) == QUIRK_AE7) {
		writel(0x00000680, spec->mem_base + 0x1c);
		writel(0x00880680, spec->mem_base + 0x1c);
	}

	for (i = 0; i < count; i++) {
		/*
		 * AE-7 shares all writes with the AE-5, except that it writes
		 * a different value to 0x20c.
		 */
		if (i == 21 && ca0132_quirk(spec) == QUIRK_AE7) {
			writel(0x00800001, spec->mem_base + addr[i]);
			continue;
		}

		writel(data[i], spec->mem_base + addr[i]);
		writel(data[i], spec->mem_base + addr[i]);
	}
	}


	if (ca0132_quirk(spec) == QUIRK_AE5)
		writel(0x00880680, spec->mem_base + 0x1c);
}

static void ca0132_mmio_init(struct hda_codec *codec)
static void ca0132_mmio_init(struct hda_codec *codec)
{
{
	struct ca0132_spec *spec = codec->spec;
	struct ca0132_spec *spec = codec->spec;