Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: sb16 - Fix build errors on MIPS and others with 13bit ioctl size ALSA: hdspm - Fix compile warnings with PPC ALSA: cs5535 - Fix invalid big-endian conversions ALSA: HDMI - fix ELD monitor name length ALSA: atmel - update author email for ABDAC, AC97C and AT73C213 ALSA: HDA: Add model=auto quirk for Acer Aspire 3830TG ALSA: HDA: Add a new Conexant codec ID (506c)
This commit is contained in:
commit
8aa7ad9018
@ -99,7 +99,14 @@ struct snd_sb_csp_info {
|
|||||||
/* get CSP information */
|
/* get CSP information */
|
||||||
#define SNDRV_SB_CSP_IOCTL_INFO _IOR('H', 0x10, struct snd_sb_csp_info)
|
#define SNDRV_SB_CSP_IOCTL_INFO _IOR('H', 0x10, struct snd_sb_csp_info)
|
||||||
/* load microcode to CSP */
|
/* load microcode to CSP */
|
||||||
#define SNDRV_SB_CSP_IOCTL_LOAD_CODE _IOW('H', 0x11, struct snd_sb_csp_microcode)
|
/* NOTE: struct snd_sb_csp_microcode overflows the max size (13 bits)
|
||||||
|
* defined for some architectures like MIPS, and it leads to build errors.
|
||||||
|
* (x86 and co have 14-bit size, thus it's valid, though.)
|
||||||
|
* As a workaround for skipping the size-limit check, here we don't use the
|
||||||
|
* normal _IOW() macro but _IOC() with the manual argument.
|
||||||
|
*/
|
||||||
|
#define SNDRV_SB_CSP_IOCTL_LOAD_CODE \
|
||||||
|
_IOC(_IOC_WRITE, 'H', 0x11, sizeof(struct snd_sb_csp_microcode))
|
||||||
/* unload microcode from CSP */
|
/* unload microcode from CSP */
|
||||||
#define SNDRV_SB_CSP_IOCTL_UNLOAD_CODE _IO('H', 0x12)
|
#define SNDRV_SB_CSP_IOCTL_UNLOAD_CODE _IO('H', 0x12)
|
||||||
/* start CSP */
|
/* start CSP */
|
||||||
|
@ -599,4 +599,4 @@ module_exit(atmel_abdac_exit);
|
|||||||
|
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
MODULE_DESCRIPTION("Driver for Atmel Audio Bitstream DAC (ABDAC)");
|
MODULE_DESCRIPTION("Driver for Atmel Audio Bitstream DAC (ABDAC)");
|
||||||
MODULE_AUTHOR("Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>");
|
MODULE_AUTHOR("Hans-Christian Egtvedt <egtvedt@samfundet.no>");
|
||||||
|
@ -1199,4 +1199,4 @@ module_exit(atmel_ac97c_exit);
|
|||||||
|
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
MODULE_DESCRIPTION("Driver for Atmel AC97 controller");
|
MODULE_DESCRIPTION("Driver for Atmel AC97 controller");
|
||||||
MODULE_AUTHOR("Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>");
|
MODULE_AUTHOR("Hans-Christian Egtvedt <egtvedt@samfundet.no>");
|
||||||
|
@ -149,7 +149,7 @@ static int cs5535audio_build_dma_packets(struct cs5535audio *cs5535au,
|
|||||||
&((struct cs5535audio_dma_desc *) dma->desc_buf.area)[i];
|
&((struct cs5535audio_dma_desc *) dma->desc_buf.area)[i];
|
||||||
desc->addr = cpu_to_le32(addr);
|
desc->addr = cpu_to_le32(addr);
|
||||||
desc->size = cpu_to_le32(period_bytes);
|
desc->size = cpu_to_le32(period_bytes);
|
||||||
desc->ctlreserved = cpu_to_le32(PRD_EOP);
|
desc->ctlreserved = cpu_to_le16(PRD_EOP);
|
||||||
desc_addr += sizeof(struct cs5535audio_dma_desc);
|
desc_addr += sizeof(struct cs5535audio_dma_desc);
|
||||||
addr += period_bytes;
|
addr += period_bytes;
|
||||||
}
|
}
|
||||||
@ -157,7 +157,7 @@ static int cs5535audio_build_dma_packets(struct cs5535audio *cs5535au,
|
|||||||
lastdesc = &((struct cs5535audio_dma_desc *) dma->desc_buf.area)[periods];
|
lastdesc = &((struct cs5535audio_dma_desc *) dma->desc_buf.area)[periods];
|
||||||
lastdesc->addr = cpu_to_le32((u32) dma->desc_buf.addr);
|
lastdesc->addr = cpu_to_le32((u32) dma->desc_buf.addr);
|
||||||
lastdesc->size = 0;
|
lastdesc->size = 0;
|
||||||
lastdesc->ctlreserved = cpu_to_le32(PRD_JMP);
|
lastdesc->ctlreserved = cpu_to_le16(PRD_JMP);
|
||||||
jmpprd_addr = cpu_to_le32(lastdesc->addr +
|
jmpprd_addr = cpu_to_le32(lastdesc->addr +
|
||||||
(sizeof(struct cs5535audio_dma_desc)*periods));
|
(sizeof(struct cs5535audio_dma_desc)*periods));
|
||||||
|
|
||||||
|
@ -294,7 +294,7 @@ static int hdmi_update_eld(struct hdmi_eld *e,
|
|||||||
snd_printd(KERN_INFO "HDMI: out of range MNL %d\n", mnl);
|
snd_printd(KERN_INFO "HDMI: out of range MNL %d\n", mnl);
|
||||||
goto out_fail;
|
goto out_fail;
|
||||||
} else
|
} else
|
||||||
strlcpy(e->monitor_name, buf + ELD_FIXED_BYTES, mnl);
|
strlcpy(e->monitor_name, buf + ELD_FIXED_BYTES, mnl + 1);
|
||||||
|
|
||||||
for (i = 0; i < e->sad_count; i++) {
|
for (i = 0; i < e->sad_count; i++) {
|
||||||
if (ELD_FIXED_BYTES + mnl + 3 * (i + 1) > size) {
|
if (ELD_FIXED_BYTES + mnl + 3 * (i + 1) > size) {
|
||||||
|
@ -3074,6 +3074,7 @@ static const char * const cxt5066_models[CXT5066_MODELS] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const struct snd_pci_quirk cxt5066_cfg_tbl[] = {
|
static const struct snd_pci_quirk cxt5066_cfg_tbl[] = {
|
||||||
|
SND_PCI_QUIRK(0x1025, 0x054c, "Acer Aspire 3830TG", CXT5066_AUTO),
|
||||||
SND_PCI_QUIRK_MASK(0x1025, 0xff00, 0x0400, "Acer", CXT5066_IDEAPAD),
|
SND_PCI_QUIRK_MASK(0x1025, 0xff00, 0x0400, "Acer", CXT5066_IDEAPAD),
|
||||||
SND_PCI_QUIRK(0x1028, 0x02d8, "Dell Vostro", CXT5066_DELL_VOSTRO),
|
SND_PCI_QUIRK(0x1028, 0x02d8, "Dell Vostro", CXT5066_DELL_VOSTRO),
|
||||||
SND_PCI_QUIRK(0x1028, 0x02f5, "Dell Vostro 320", CXT5066_IDEAPAD),
|
SND_PCI_QUIRK(0x1028, 0x02f5, "Dell Vostro 320", CXT5066_IDEAPAD),
|
||||||
@ -4389,6 +4390,8 @@ static const struct hda_codec_preset snd_hda_preset_conexant[] = {
|
|||||||
.patch = patch_cxt5066 },
|
.patch = patch_cxt5066 },
|
||||||
{ .id = 0x14f15069, .name = "CX20585",
|
{ .id = 0x14f15069, .name = "CX20585",
|
||||||
.patch = patch_cxt5066 },
|
.patch = patch_cxt5066 },
|
||||||
|
{ .id = 0x14f1506c, .name = "CX20588",
|
||||||
|
.patch = patch_cxt5066 },
|
||||||
{ .id = 0x14f1506e, .name = "CX20590",
|
{ .id = 0x14f1506e, .name = "CX20590",
|
||||||
.patch = patch_cxt5066 },
|
.patch = patch_cxt5066 },
|
||||||
{ .id = 0x14f15097, .name = "CX20631",
|
{ .id = 0x14f15097, .name = "CX20631",
|
||||||
@ -4417,6 +4420,7 @@ MODULE_ALIAS("snd-hda-codec-id:14f15066");
|
|||||||
MODULE_ALIAS("snd-hda-codec-id:14f15067");
|
MODULE_ALIAS("snd-hda-codec-id:14f15067");
|
||||||
MODULE_ALIAS("snd-hda-codec-id:14f15068");
|
MODULE_ALIAS("snd-hda-codec-id:14f15068");
|
||||||
MODULE_ALIAS("snd-hda-codec-id:14f15069");
|
MODULE_ALIAS("snd-hda-codec-id:14f15069");
|
||||||
|
MODULE_ALIAS("snd-hda-codec-id:14f1506c");
|
||||||
MODULE_ALIAS("snd-hda-codec-id:14f1506e");
|
MODULE_ALIAS("snd-hda-codec-id:14f1506e");
|
||||||
MODULE_ALIAS("snd-hda-codec-id:14f15097");
|
MODULE_ALIAS("snd-hda-codec-id:14f15097");
|
||||||
MODULE_ALIAS("snd-hda-codec-id:14f15098");
|
MODULE_ALIAS("snd-hda-codec-id:14f15098");
|
||||||
|
@ -896,11 +896,11 @@ struct hdspm {
|
|||||||
unsigned char max_channels_in;
|
unsigned char max_channels_in;
|
||||||
unsigned char max_channels_out;
|
unsigned char max_channels_out;
|
||||||
|
|
||||||
char *channel_map_in;
|
signed char *channel_map_in;
|
||||||
char *channel_map_out;
|
signed char *channel_map_out;
|
||||||
|
|
||||||
char *channel_map_in_ss, *channel_map_in_ds, *channel_map_in_qs;
|
signed char *channel_map_in_ss, *channel_map_in_ds, *channel_map_in_qs;
|
||||||
char *channel_map_out_ss, *channel_map_out_ds, *channel_map_out_qs;
|
signed char *channel_map_out_ss, *channel_map_out_ds, *channel_map_out_qs;
|
||||||
|
|
||||||
char **port_names_in;
|
char **port_names_in;
|
||||||
char **port_names_out;
|
char **port_names_out;
|
||||||
|
@ -1124,6 +1124,6 @@ static void __exit at73c213_exit(void)
|
|||||||
}
|
}
|
||||||
module_exit(at73c213_exit);
|
module_exit(at73c213_exit);
|
||||||
|
|
||||||
MODULE_AUTHOR("Hans-Christian Egtvedt <hcegtvedt@atmel.com>");
|
MODULE_AUTHOR("Hans-Christian Egtvedt <egtvedt@samfundet.no>");
|
||||||
MODULE_DESCRIPTION("Sound driver for AT73C213 with Atmel SSC");
|
MODULE_DESCRIPTION("Sound driver for AT73C213 with Atmel SSC");
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
|
Loading…
Reference in New Issue
Block a user