Merge branch 'for-linus' into topic/virmidi
Pull the latest ALSA sequencer fixes for the further development of virmidi. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
@@ -67,9 +67,9 @@ struct cs5535audio_dma_ops {
|
||||
};
|
||||
|
||||
struct cs5535audio_dma_desc {
|
||||
u32 addr;
|
||||
u16 size;
|
||||
u16 ctlreserved;
|
||||
__le32 addr;
|
||||
__le16 size;
|
||||
__le16 ctlreserved;
|
||||
};
|
||||
|
||||
struct cs5535audio_dma {
|
||||
|
@@ -158,8 +158,8 @@ static int cs5535audio_build_dma_packets(struct cs5535audio *cs5535au,
|
||||
lastdesc->addr = cpu_to_le32((u32) dma->desc_buf.addr);
|
||||
lastdesc->size = 0;
|
||||
lastdesc->ctlreserved = cpu_to_le16(PRD_JMP);
|
||||
jmpprd_addr = cpu_to_le32(lastdesc->addr +
|
||||
(sizeof(struct cs5535audio_dma_desc)*periods));
|
||||
jmpprd_addr = (u32)dma->desc_buf.addr +
|
||||
sizeof(struct cs5535audio_dma_desc) * periods;
|
||||
|
||||
dma->substream = substream;
|
||||
dma->period_bytes = period_bytes;
|
||||
|
@@ -177,6 +177,7 @@ static void cx_auto_reboot_notify(struct hda_codec *codec)
|
||||
struct conexant_spec *spec = codec->spec;
|
||||
|
||||
switch (codec->core.vendor_id) {
|
||||
case 0x14f12008: /* CX8200 */
|
||||
case 0x14f150f2: /* CX20722 */
|
||||
case 0x14f150f4: /* CX20724 */
|
||||
break;
|
||||
@@ -184,13 +185,14 @@ static void cx_auto_reboot_notify(struct hda_codec *codec)
|
||||
return;
|
||||
}
|
||||
|
||||
/* Turn the CX20722 codec into D3 to avoid spurious noises
|
||||
/* Turn the problematic codec into D3 to avoid spurious noises
|
||||
from the internal speaker during (and after) reboot */
|
||||
cx_auto_turn_eapd(codec, spec->num_eapds, spec->eapds, false);
|
||||
|
||||
snd_hda_codec_set_power_to_all(codec, codec->core.afg, AC_PWRST_D3);
|
||||
snd_hda_codec_write(codec, codec->core.afg, 0,
|
||||
AC_VERB_SET_POWER_STATE, AC_PWRST_D3);
|
||||
msleep(10);
|
||||
}
|
||||
|
||||
static void cx_auto_free(struct hda_codec *codec)
|
||||
|
@@ -2365,6 +2365,7 @@ static const struct snd_pci_quirk alc882_fixup_tbl[] = {
|
||||
SND_PCI_QUIRK_VENDOR(0x1462, "MSI", ALC882_FIXUP_GPIO3),
|
||||
SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", ALC882_FIXUP_ABIT_AW9D_MAX),
|
||||
SND_PCI_QUIRK(0x1558, 0x9501, "Clevo P950HR", ALC1220_FIXUP_CLEVO_P950),
|
||||
SND_PCI_QUIRK(0x1558, 0x95e1, "Clevo P95xER", ALC1220_FIXUP_CLEVO_P950),
|
||||
SND_PCI_QUIRK(0x1558, 0x95e2, "Clevo P950ER", ALC1220_FIXUP_CLEVO_P950),
|
||||
SND_PCI_QUIRK_VENDOR(0x1558, "Clevo laptop", ALC882_FIXUP_EAPD),
|
||||
SND_PCI_QUIRK(0x161f, 0x2054, "Medion laptop", ALC883_FIXUP_EAPD),
|
||||
|
@@ -275,7 +275,7 @@ static void vx2_dma_write(struct vx_core *chip, struct snd_pcm_runtime *runtime,
|
||||
length >>= 2; /* in 32bit words */
|
||||
/* Transfer using pseudo-dma. */
|
||||
for (; length > 0; length--) {
|
||||
outl(cpu_to_le32(*addr), port);
|
||||
outl(*addr, port);
|
||||
addr++;
|
||||
}
|
||||
addr = (u32 *)runtime->dma_area;
|
||||
@@ -285,7 +285,7 @@ static void vx2_dma_write(struct vx_core *chip, struct snd_pcm_runtime *runtime,
|
||||
count >>= 2; /* in 32bit words */
|
||||
/* Transfer using pseudo-dma. */
|
||||
for (; count > 0; count--) {
|
||||
outl(cpu_to_le32(*addr), port);
|
||||
outl(*addr, port);
|
||||
addr++;
|
||||
}
|
||||
|
||||
@@ -313,7 +313,7 @@ static void vx2_dma_read(struct vx_core *chip, struct snd_pcm_runtime *runtime,
|
||||
length >>= 2; /* in 32bit words */
|
||||
/* Transfer using pseudo-dma. */
|
||||
for (; length > 0; length--)
|
||||
*addr++ = le32_to_cpu(inl(port));
|
||||
*addr++ = inl(port);
|
||||
addr = (u32 *)runtime->dma_area;
|
||||
pipe->hw_ptr = 0;
|
||||
}
|
||||
@@ -321,7 +321,7 @@ static void vx2_dma_read(struct vx_core *chip, struct snd_pcm_runtime *runtime,
|
||||
count >>= 2; /* in 32bit words */
|
||||
/* Transfer using pseudo-dma. */
|
||||
for (; count > 0; count--)
|
||||
*addr++ = le32_to_cpu(inl(port));
|
||||
*addr++ = inl(port);
|
||||
|
||||
vx2_release_pseudo_dma(chip);
|
||||
}
|
||||
|
Reference in New Issue
Block a user