diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-04-18 12:12:14 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-04-18 12:12:14 -0400 |
commit | fac56c2df51bc29b07b3c2dcfabf32a015a0522c (patch) | |
tree | 1ff5d84ecf4ea0bcbd42e2ef9624b5ade3810890 /sound/pci | |
parent | 6caa15d0b84d2ea688fd31f4f172c8353463e109 (diff) | |
parent | a6360dd37e1a144ed11e6548371bade559a1e4df (diff) |
Merge commit 'v2.6.39-rc3' into for-2.6.39
Diffstat (limited to 'sound/pci')
38 files changed, 143 insertions, 90 deletions
diff --git a/sound/pci/ad1889.c b/sound/pci/ad1889.c index 4382d0fa6b9a..d8f6fd65ebbb 100644 --- a/sound/pci/ad1889.c +++ b/sound/pci/ad1889.c | |||
@@ -29,7 +29,7 @@ | |||
29 | * PM support | 29 | * PM support |
30 | * MIDI support | 30 | * MIDI support |
31 | * Game Port support | 31 | * Game Port support |
32 | * SG DMA support (this will need *alot* of work) | 32 | * SG DMA support (this will need *a lot* of work) |
33 | */ | 33 | */ |
34 | 34 | ||
35 | #include <linux/init.h> | 35 | #include <linux/init.h> |
diff --git a/sound/pci/asihpi/asihpi.c b/sound/pci/asihpi/asihpi.c index f53a31e939c1..f8ccc9677c6f 100644 --- a/sound/pci/asihpi/asihpi.c +++ b/sound/pci/asihpi/asihpi.c | |||
@@ -963,7 +963,7 @@ static int snd_card_asihpi_playback_open(struct snd_pcm_substream *substream) | |||
963 | 963 | ||
964 | /*? also check ASI5000 samplerate source | 964 | /*? also check ASI5000 samplerate source |
965 | If external, only support external rate. | 965 | If external, only support external rate. |
966 | If internal and other stream playing, cant switch | 966 | If internal and other stream playing, can't switch |
967 | */ | 967 | */ |
968 | 968 | ||
969 | init_timer(&dpcm->timer); | 969 | init_timer(&dpcm->timer); |
diff --git a/sound/pci/asihpi/hpi.h b/sound/pci/asihpi/hpi.h index 6fc025c448de..255429c32c1c 100644 --- a/sound/pci/asihpi/hpi.h +++ b/sound/pci/asihpi/hpi.h | |||
@@ -725,7 +725,7 @@ enum HPI_AESEBU_ERRORS { | |||
725 | #define HPI_PAD_TITLE_LEN 64 | 725 | #define HPI_PAD_TITLE_LEN 64 |
726 | /** The text string containing the comment. */ | 726 | /** The text string containing the comment. */ |
727 | #define HPI_PAD_COMMENT_LEN 256 | 727 | #define HPI_PAD_COMMENT_LEN 256 |
728 | /** The PTY when the tuner has not recieved any PTY. */ | 728 | /** The PTY when the tuner has not received any PTY. */ |
729 | #define HPI_PAD_PROGRAM_TYPE_INVALID 0xffff | 729 | #define HPI_PAD_PROGRAM_TYPE_INVALID 0xffff |
730 | /** \} */ | 730 | /** \} */ |
731 | 731 | ||
diff --git a/sound/pci/asihpi/hpi6000.c b/sound/pci/asihpi/hpi6000.c index 3e3c2ef6efd8..8c8aac4c567e 100644 --- a/sound/pci/asihpi/hpi6000.c +++ b/sound/pci/asihpi/hpi6000.c | |||
@@ -423,7 +423,7 @@ static void subsys_create_adapter(struct hpi_message *phm, | |||
423 | 423 | ||
424 | ao.priv = kzalloc(sizeof(struct hpi_hw_obj), GFP_KERNEL); | 424 | ao.priv = kzalloc(sizeof(struct hpi_hw_obj), GFP_KERNEL); |
425 | if (!ao.priv) { | 425 | if (!ao.priv) { |
426 | HPI_DEBUG_LOG(ERROR, "cant get mem for adapter object\n"); | 426 | HPI_DEBUG_LOG(ERROR, "can't get mem for adapter object\n"); |
427 | phr->error = HPI_ERROR_MEMORY_ALLOC; | 427 | phr->error = HPI_ERROR_MEMORY_ALLOC; |
428 | return; | 428 | return; |
429 | } | 429 | } |
diff --git a/sound/pci/asihpi/hpi6205.c b/sound/pci/asihpi/hpi6205.c index 620525bdac59..22e9f08dea6d 100644 --- a/sound/pci/asihpi/hpi6205.c +++ b/sound/pci/asihpi/hpi6205.c | |||
@@ -466,7 +466,7 @@ static void subsys_create_adapter(struct hpi_message *phm, | |||
466 | 466 | ||
467 | ao.priv = kzalloc(sizeof(struct hpi_hw_obj), GFP_KERNEL); | 467 | ao.priv = kzalloc(sizeof(struct hpi_hw_obj), GFP_KERNEL); |
468 | if (!ao.priv) { | 468 | if (!ao.priv) { |
469 | HPI_DEBUG_LOG(ERROR, "cant get mem for adapter object\n"); | 469 | HPI_DEBUG_LOG(ERROR, "can't get mem for adapter object\n"); |
470 | phr->error = HPI_ERROR_MEMORY_ALLOC; | 470 | phr->error = HPI_ERROR_MEMORY_ALLOC; |
471 | return; | 471 | return; |
472 | } | 472 | } |
diff --git a/sound/pci/asihpi/hpi_internal.h b/sound/pci/asihpi/hpi_internal.h index af678be0aa15..3b9fd115da36 100644 --- a/sound/pci/asihpi/hpi_internal.h +++ b/sound/pci/asihpi/hpi_internal.h | |||
@@ -607,7 +607,7 @@ struct hpi_data_compat32 { | |||
607 | #endif | 607 | #endif |
608 | 608 | ||
609 | struct hpi_buffer { | 609 | struct hpi_buffer { |
610 | /** placehoder for backward compatability (see dwBufferSize) */ | 610 | /** placehoder for backward compatibility (see dwBufferSize) */ |
611 | struct hpi_msg_format reserved; | 611 | struct hpi_msg_format reserved; |
612 | u32 command; /**< HPI_BUFFER_CMD_xxx*/ | 612 | u32 command; /**< HPI_BUFFER_CMD_xxx*/ |
613 | u32 pci_address; /**< PCI physical address of buffer for DSP DMA */ | 613 | u32 pci_address; /**< PCI physical address of buffer for DSP DMA */ |
diff --git a/sound/pci/asihpi/hpimsgx.c b/sound/pci/asihpi/hpimsgx.c index bcbdf30a6aa0..360028b9abf5 100644 --- a/sound/pci/asihpi/hpimsgx.c +++ b/sound/pci/asihpi/hpimsgx.c | |||
@@ -722,7 +722,7 @@ static u16 HPIMSGX__init(struct hpi_message *phm, | |||
722 | return phr->error; | 722 | return phr->error; |
723 | } | 723 | } |
724 | if (hr.error == 0) { | 724 | if (hr.error == 0) { |
725 | /* the adapter was created succesfully | 725 | /* the adapter was created successfully |
726 | save the mapping for future use */ | 726 | save the mapping for future use */ |
727 | hpi_entry_points[hr.u.s.adapter_index] = entry_point_func; | 727 | hpi_entry_points[hr.u.s.adapter_index] = entry_point_func; |
728 | /* prepare adapter (pre-open streams etc.) */ | 728 | /* prepare adapter (pre-open streams etc.) */ |
diff --git a/sound/pci/au88x0/au88x0.h b/sound/pci/au88x0/au88x0.h index ecb8f4daf408..02f6e08f7592 100644 --- a/sound/pci/au88x0/au88x0.h +++ b/sound/pci/au88x0/au88x0.h | |||
@@ -104,7 +104,7 @@ | |||
104 | #define MIX_PLAYB(x) (vortex->mixplayb[x]) | 104 | #define MIX_PLAYB(x) (vortex->mixplayb[x]) |
105 | #define MIX_SPDIF(x) (vortex->mixspdif[x]) | 105 | #define MIX_SPDIF(x) (vortex->mixspdif[x]) |
106 | 106 | ||
107 | #define NR_WTPB 0x20 /* WT channels per eahc bank. */ | 107 | #define NR_WTPB 0x20 /* WT channels per each bank. */ |
108 | 108 | ||
109 | /* Structs */ | 109 | /* Structs */ |
110 | typedef struct { | 110 | typedef struct { |
diff --git a/sound/pci/au88x0/au88x0_a3d.c b/sound/pci/au88x0/au88x0_a3d.c index f4aa8ff6f5f9..9ae8b3b17651 100644 --- a/sound/pci/au88x0/au88x0_a3d.c +++ b/sound/pci/au88x0/au88x0_a3d.c | |||
@@ -53,7 +53,7 @@ a3dsrc_GetTimeConsts(a3dsrc_t * a, short *HrtfTrack, short *ItdTrack, | |||
53 | } | 53 | } |
54 | 54 | ||
55 | #endif | 55 | #endif |
56 | /* Atmospheric absorbtion. */ | 56 | /* Atmospheric absorption. */ |
57 | 57 | ||
58 | static void | 58 | static void |
59 | a3dsrc_SetAtmosTarget(a3dsrc_t * a, short aa, short b, short c, short d, | 59 | a3dsrc_SetAtmosTarget(a3dsrc_t * a, short aa, short b, short c, short d, |
@@ -835,7 +835,7 @@ snd_vortex_a3d_filter_put(struct snd_kcontrol *kcontrol, | |||
835 | params[i] = ucontrol->value.integer.value[i]; | 835 | params[i] = ucontrol->value.integer.value[i]; |
836 | /* Translate generic filter params to a3d filter params. */ | 836 | /* Translate generic filter params to a3d filter params. */ |
837 | vortex_a3d_translate_filter(a->filter, params); | 837 | vortex_a3d_translate_filter(a->filter, params); |
838 | /* Atmospheric absorbtion and filtering. */ | 838 | /* Atmospheric absorption and filtering. */ |
839 | a3dsrc_SetAtmosTarget(a, a->filter[0], | 839 | a3dsrc_SetAtmosTarget(a, a->filter[0], |
840 | a->filter[1], a->filter[2], | 840 | a->filter[1], a->filter[2], |
841 | a->filter[3], a->filter[4]); | 841 | a->filter[3], a->filter[4]); |
diff --git a/sound/pci/au88x0/au88x0_pcm.c b/sound/pci/au88x0/au88x0_pcm.c index 5439d662d104..33f0ba5559a7 100644 --- a/sound/pci/au88x0/au88x0_pcm.c +++ b/sound/pci/au88x0/au88x0_pcm.c | |||
@@ -515,7 +515,7 @@ static int __devinit snd_vortex_new_pcm(vortex_t *chip, int idx, int nr) | |||
515 | return -ENODEV; | 515 | return -ENODEV; |
516 | 516 | ||
517 | /* idx indicates which kind of PCM device. ADB, SPDIF, I2S and A3D share the | 517 | /* idx indicates which kind of PCM device. ADB, SPDIF, I2S and A3D share the |
518 | * same dma engine. WT uses it own separate dma engine whcih cant capture. */ | 518 | * same dma engine. WT uses it own separate dma engine which can't capture. */ |
519 | if (idx == VORTEX_PCM_ADB) | 519 | if (idx == VORTEX_PCM_ADB) |
520 | nr_capt = nr; | 520 | nr_capt = nr; |
521 | else | 521 | else |
diff --git a/sound/pci/azt3328.c b/sound/pci/azt3328.c index 5715c4d05573..9b7a6346037a 100644 --- a/sound/pci/azt3328.c +++ b/sound/pci/azt3328.c | |||
@@ -140,7 +140,7 @@ | |||
140 | * Possible remedies: | 140 | * Possible remedies: |
141 | * - use speaker (amplifier) output instead of headphone output | 141 | * - use speaker (amplifier) output instead of headphone output |
142 | * (in case crackling is due to overloaded output clipping) | 142 | * (in case crackling is due to overloaded output clipping) |
143 | * - plug card into a different PCI slot, preferrably one that isn't shared | 143 | * - plug card into a different PCI slot, preferably one that isn't shared |
144 | * too much (this helps a lot, but not completely!) | 144 | * too much (this helps a lot, but not completely!) |
145 | * - get rid of PCI VGA card, use AGP instead | 145 | * - get rid of PCI VGA card, use AGP instead |
146 | * - upgrade or downgrade BIOS | 146 | * - upgrade or downgrade BIOS |
diff --git a/sound/pci/ca0106/ca0106.h b/sound/pci/ca0106/ca0106.h index fc53b9bca26d..e8e8ccc96403 100644 --- a/sound/pci/ca0106/ca0106.h +++ b/sound/pci/ca0106/ca0106.h | |||
@@ -51,7 +51,7 @@ | |||
51 | * Add support for mute control on SB Live 24bit (cards w/ SPI DAC) | 51 | * Add support for mute control on SB Live 24bit (cards w/ SPI DAC) |
52 | * | 52 | * |
53 | * | 53 | * |
54 | * This code was initally based on code from ALSA's emu10k1x.c which is: | 54 | * This code was initially based on code from ALSA's emu10k1x.c which is: |
55 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> | 55 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> |
56 | * | 56 | * |
57 | * This program is free software; you can redistribute it and/or modify | 57 | * This program is free software; you can redistribute it and/or modify |
@@ -175,7 +175,7 @@ | |||
175 | /* CA0106 pointer-offset register set, accessed through the PTR and DATA registers */ | 175 | /* CA0106 pointer-offset register set, accessed through the PTR and DATA registers */ |
176 | /********************************************************************************************************/ | 176 | /********************************************************************************************************/ |
177 | 177 | ||
178 | /* Initally all registers from 0x00 to 0x3f have zero contents. */ | 178 | /* Initially all registers from 0x00 to 0x3f have zero contents. */ |
179 | #define PLAYBACK_LIST_ADDR 0x00 /* Base DMA address of a list of pointers to each period/size */ | 179 | #define PLAYBACK_LIST_ADDR 0x00 /* Base DMA address of a list of pointers to each period/size */ |
180 | /* One list entry: 4 bytes for DMA address, | 180 | /* One list entry: 4 bytes for DMA address, |
181 | * 4 bytes for period_size << 16. | 181 | * 4 bytes for period_size << 16. |
@@ -223,7 +223,7 @@ | |||
223 | * The jack has 4 poles. I will call 1 - Tip, 2 - Next to 1, 3 - Next to 2, 4 - Next to 3 | 223 | * The jack has 4 poles. I will call 1 - Tip, 2 - Next to 1, 3 - Next to 2, 4 - Next to 3 |
224 | * For Analogue: 1 -> Center Speaker, 2 -> Sub Woofer, 3 -> Ground, 4 -> Ground | 224 | * For Analogue: 1 -> Center Speaker, 2 -> Sub Woofer, 3 -> Ground, 4 -> Ground |
225 | * For Digital: 1 -> Front SPDIF, 2 -> Rear SPDIF, 3 -> Center/Subwoofer SPDIF, 4 -> Ground. | 225 | * For Digital: 1 -> Front SPDIF, 2 -> Rear SPDIF, 3 -> Center/Subwoofer SPDIF, 4 -> Ground. |
226 | * Standard 4 pole Video A/V cable with RCA outputs: 1 -> White, 2 -> Yellow, 3 -> Sheild on all three, 4 -> Red. | 226 | * Standard 4 pole Video A/V cable with RCA outputs: 1 -> White, 2 -> Yellow, 3 -> Shield on all three, 4 -> Red. |
227 | * So, from this you can see that you cannot use a Standard 4 pole Video A/V cable with the SB Audigy LS card. | 227 | * So, from this you can see that you cannot use a Standard 4 pole Video A/V cable with the SB Audigy LS card. |
228 | */ | 228 | */ |
229 | /* The Front SPDIF PCM gets mixed with samples from the AC97 codec, so can only work for Stereo PCM and not AC3/DTS | 229 | /* The Front SPDIF PCM gets mixed with samples from the AC97 codec, so can only work for Stereo PCM and not AC3/DTS |
diff --git a/sound/pci/ca0106/ca0106_main.c b/sound/pci/ca0106/ca0106_main.c index 01b49388fafd..437759239694 100644 --- a/sound/pci/ca0106/ca0106_main.c +++ b/sound/pci/ca0106/ca0106_main.c | |||
@@ -117,7 +117,7 @@ | |||
117 | * DAC: Unknown | 117 | * DAC: Unknown |
118 | * Trying to handle it like the SB0410. | 118 | * Trying to handle it like the SB0410. |
119 | * | 119 | * |
120 | * This code was initally based on code from ALSA's emu10k1x.c which is: | 120 | * This code was initially based on code from ALSA's emu10k1x.c which is: |
121 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> | 121 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> |
122 | * | 122 | * |
123 | * This program is free software; you can redistribute it and/or modify | 123 | * This program is free software; you can redistribute it and/or modify |
diff --git a/sound/pci/ca0106/ca0106_mixer.c b/sound/pci/ca0106/ca0106_mixer.c index 630aa4998189..84f3f92436b5 100644 --- a/sound/pci/ca0106/ca0106_mixer.c +++ b/sound/pci/ca0106/ca0106_mixer.c | |||
@@ -42,7 +42,7 @@ | |||
42 | * 0.0.18 | 42 | * 0.0.18 |
43 | * Add support for mute control on SB Live 24bit (cards w/ SPI DAC) | 43 | * Add support for mute control on SB Live 24bit (cards w/ SPI DAC) |
44 | * | 44 | * |
45 | * This code was initally based on code from ALSA's emu10k1x.c which is: | 45 | * This code was initially based on code from ALSA's emu10k1x.c which is: |
46 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> | 46 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> |
47 | * | 47 | * |
48 | * This program is free software; you can redistribute it and/or modify | 48 | * This program is free software; you can redistribute it and/or modify |
diff --git a/sound/pci/ca0106/ca0106_proc.c b/sound/pci/ca0106/ca0106_proc.c index ba96428c9f4c..c694464b1168 100644 --- a/sound/pci/ca0106/ca0106_proc.c +++ b/sound/pci/ca0106/ca0106_proc.c | |||
@@ -42,7 +42,7 @@ | |||
42 | * 0.0.18 | 42 | * 0.0.18 |
43 | * Implement support for Line-in capture on SB Live 24bit. | 43 | * Implement support for Line-in capture on SB Live 24bit. |
44 | * | 44 | * |
45 | * This code was initally based on code from ALSA's emu10k1x.c which is: | 45 | * This code was initially based on code from ALSA's emu10k1x.c which is: |
46 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> | 46 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> |
47 | * | 47 | * |
48 | * This program is free software; you can redistribute it and/or modify | 48 | * This program is free software; you can redistribute it and/or modify |
diff --git a/sound/pci/cmipci.c b/sound/pci/cmipci.c index b5bb036ef73c..f4e573555da3 100644 --- a/sound/pci/cmipci.c +++ b/sound/pci/cmipci.c | |||
@@ -73,7 +73,7 @@ MODULE_PARM_DESC(mpu_port, "MPU-401 port."); | |||
73 | module_param_array(fm_port, long, NULL, 0444); | 73 | module_param_array(fm_port, long, NULL, 0444); |
74 | MODULE_PARM_DESC(fm_port, "FM port."); | 74 | MODULE_PARM_DESC(fm_port, "FM port."); |
75 | module_param_array(soft_ac3, bool, NULL, 0444); | 75 | module_param_array(soft_ac3, bool, NULL, 0444); |
76 | MODULE_PARM_DESC(soft_ac3, "Sofware-conversion of raw SPDIF packets (model 033 only)."); | 76 | MODULE_PARM_DESC(soft_ac3, "Software-conversion of raw SPDIF packets (model 033 only)."); |
77 | #ifdef SUPPORT_JOYSTICK | 77 | #ifdef SUPPORT_JOYSTICK |
78 | module_param_array(joystick_port, int, NULL, 0444); | 78 | module_param_array(joystick_port, int, NULL, 0444); |
79 | MODULE_PARM_DESC(joystick_port, "Joystick port address."); | 79 | MODULE_PARM_DESC(joystick_port, "Joystick port address."); |
@@ -656,8 +656,8 @@ out: | |||
656 | } | 656 | } |
657 | 657 | ||
658 | /* | 658 | /* |
659 | * Program pll register bits, I assume that the 8 registers 0xf8 upto 0xff | 659 | * Program pll register bits, I assume that the 8 registers 0xf8 up to 0xff |
660 | * are mapped onto the 8 ADC/DAC sampling frequency which can be choosen | 660 | * are mapped onto the 8 ADC/DAC sampling frequency which can be chosen |
661 | * at the register CM_REG_FUNCTRL1 (0x04). | 661 | * at the register CM_REG_FUNCTRL1 (0x04). |
662 | * Problem: other ways are also possible (any information about that?) | 662 | * Problem: other ways are also possible (any information about that?) |
663 | */ | 663 | */ |
@@ -666,7 +666,7 @@ static void snd_cmipci_set_pll(struct cmipci *cm, unsigned int rate, unsigned in | |||
666 | unsigned int reg = CM_REG_PLL + slot; | 666 | unsigned int reg = CM_REG_PLL + slot; |
667 | /* | 667 | /* |
668 | * Guess that this programs at reg. 0x04 the pos 15:13/12:10 | 668 | * Guess that this programs at reg. 0x04 the pos 15:13/12:10 |
669 | * for DSFC/ASFC (000 upto 111). | 669 | * for DSFC/ASFC (000 up to 111). |
670 | */ | 670 | */ |
671 | 671 | ||
672 | /* FIXME: Init (Do we've to set an other register first before programming?) */ | 672 | /* FIXME: Init (Do we've to set an other register first before programming?) */ |
diff --git a/sound/pci/ctxfi/ctatc.c b/sound/pci/ctxfi/ctatc.c index b9321544c31c..13f33c0719d3 100644 --- a/sound/pci/ctxfi/ctatc.c +++ b/sound/pci/ctxfi/ctatc.c | |||
@@ -1627,7 +1627,7 @@ static struct ct_atc atc_preset __devinitdata = { | |||
1627 | * Creates and initializes a hardware manager. | 1627 | * Creates and initializes a hardware manager. |
1628 | * | 1628 | * |
1629 | * Creates kmallocated ct_atc structure. Initializes hardware. | 1629 | * Creates kmallocated ct_atc structure. Initializes hardware. |
1630 | * Returns 0 if suceeds, or negative error code if fails. | 1630 | * Returns 0 if succeeds, or negative error code if fails. |
1631 | */ | 1631 | */ |
1632 | 1632 | ||
1633 | int __devinit ct_atc_create(struct snd_card *card, struct pci_dev *pci, | 1633 | int __devinit ct_atc_create(struct snd_card *card, struct pci_dev *pci, |
diff --git a/sound/pci/ctxfi/cthw20k1.c b/sound/pci/ctxfi/cthw20k1.c index 0cf400f879f9..a5c957db5cea 100644 --- a/sound/pci/ctxfi/cthw20k1.c +++ b/sound/pci/ctxfi/cthw20k1.c | |||
@@ -1285,7 +1285,7 @@ static int hw_trn_init(struct hw *hw, const struct trn_conf *info) | |||
1285 | hw_write_20kx(hw, PTPALX, ptp_phys_low); | 1285 | hw_write_20kx(hw, PTPALX, ptp_phys_low); |
1286 | hw_write_20kx(hw, PTPAHX, ptp_phys_high); | 1286 | hw_write_20kx(hw, PTPAHX, ptp_phys_high); |
1287 | hw_write_20kx(hw, TRNCTL, trnctl); | 1287 | hw_write_20kx(hw, TRNCTL, trnctl); |
1288 | hw_write_20kx(hw, TRNIS, 0x200c01); /* realy needed? */ | 1288 | hw_write_20kx(hw, TRNIS, 0x200c01); /* really needed? */ |
1289 | 1289 | ||
1290 | return 0; | 1290 | return 0; |
1291 | } | 1291 | } |
diff --git a/sound/pci/emu10k1/memory.c b/sound/pci/emu10k1/memory.c index 957a311514c8..c250614dadd0 100644 --- a/sound/pci/emu10k1/memory.c +++ b/sound/pci/emu10k1/memory.c | |||
@@ -248,7 +248,7 @@ static int is_valid_page(struct snd_emu10k1 *emu, dma_addr_t addr) | |||
248 | /* | 248 | /* |
249 | * map the given memory block on PTB. | 249 | * map the given memory block on PTB. |
250 | * if the block is already mapped, update the link order. | 250 | * if the block is already mapped, update the link order. |
251 | * if no empty pages are found, tries to release unsed memory blocks | 251 | * if no empty pages are found, tries to release unused memory blocks |
252 | * and retry the mapping. | 252 | * and retry the mapping. |
253 | */ | 253 | */ |
254 | int snd_emu10k1_memblk_map(struct snd_emu10k1 *emu, struct snd_emu10k1_memblk *blk) | 254 | int snd_emu10k1_memblk_map(struct snd_emu10k1 *emu, struct snd_emu10k1_memblk *blk) |
diff --git a/sound/pci/emu10k1/p16v.c b/sound/pci/emu10k1/p16v.c index 61b8ab39800f..a81dc44228ea 100644 --- a/sound/pci/emu10k1/p16v.c +++ b/sound/pci/emu10k1/p16v.c | |||
@@ -69,7 +69,7 @@ | |||
69 | * ADC: Philips 1361T (Stereo 24bit) | 69 | * ADC: Philips 1361T (Stereo 24bit) |
70 | * DAC: CS4382-K (8-channel, 24bit, 192Khz) | 70 | * DAC: CS4382-K (8-channel, 24bit, 192Khz) |
71 | * | 71 | * |
72 | * This code was initally based on code from ALSA's emu10k1x.c which is: | 72 | * This code was initially based on code from ALSA's emu10k1x.c which is: |
73 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> | 73 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> |
74 | * | 74 | * |
75 | * This program is free software; you can redistribute it and/or modify | 75 | * This program is free software; you can redistribute it and/or modify |
diff --git a/sound/pci/emu10k1/p16v.h b/sound/pci/emu10k1/p16v.h index 00f4817533b1..4e0ee1a9747a 100644 --- a/sound/pci/emu10k1/p16v.h +++ b/sound/pci/emu10k1/p16v.h | |||
@@ -59,7 +59,7 @@ | |||
59 | * ADC: Philips 1361T (Stereo 24bit) | 59 | * ADC: Philips 1361T (Stereo 24bit) |
60 | * DAC: CS4382-K (8-channel, 24bit, 192Khz) | 60 | * DAC: CS4382-K (8-channel, 24bit, 192Khz) |
61 | * | 61 | * |
62 | * This code was initally based on code from ALSA's emu10k1x.c which is: | 62 | * This code was initially based on code from ALSA's emu10k1x.c which is: |
63 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> | 63 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> |
64 | * | 64 | * |
65 | * This program is free software; you can redistribute it and/or modify | 65 | * This program is free software; you can redistribute it and/or modify |
@@ -86,7 +86,7 @@ | |||
86 | * The sample rate is also controlled by the same registers that control the rate of the EMU10K2 sample rate converters. | 86 | * The sample rate is also controlled by the same registers that control the rate of the EMU10K2 sample rate converters. |
87 | */ | 87 | */ |
88 | 88 | ||
89 | /* Initally all registers from 0x00 to 0x3f have zero contents. */ | 89 | /* Initially all registers from 0x00 to 0x3f have zero contents. */ |
90 | #define PLAYBACK_LIST_ADDR 0x00 /* Base DMA address of a list of pointers to each period/size */ | 90 | #define PLAYBACK_LIST_ADDR 0x00 /* Base DMA address of a list of pointers to each period/size */ |
91 | /* One list entry: 4 bytes for DMA address, | 91 | /* One list entry: 4 bytes for DMA address, |
92 | * 4 bytes for period_size << 16. | 92 | * 4 bytes for period_size << 16. |
diff --git a/sound/pci/ens1370.c b/sound/pci/ens1370.c index 537cfba829a5..863eafea691f 100644 --- a/sound/pci/ens1370.c +++ b/sound/pci/ens1370.c | |||
@@ -229,6 +229,7 @@ MODULE_PARM_DESC(lineio, "Line In to Rear Out (0 = auto, 1 = force)."); | |||
229 | #define ES_REG_1371_CODEC 0x14 /* W/R: Codec Read/Write register address */ | 229 | #define ES_REG_1371_CODEC 0x14 /* W/R: Codec Read/Write register address */ |
230 | #define ES_1371_CODEC_RDY (1<<31) /* codec ready */ | 230 | #define ES_1371_CODEC_RDY (1<<31) /* codec ready */ |
231 | #define ES_1371_CODEC_WIP (1<<30) /* codec register access in progress */ | 231 | #define ES_1371_CODEC_WIP (1<<30) /* codec register access in progress */ |
232 | #define EV_1938_CODEC_MAGIC (1<<26) | ||
232 | #define ES_1371_CODEC_PIRD (1<<23) /* codec read/write select register */ | 233 | #define ES_1371_CODEC_PIRD (1<<23) /* codec read/write select register */ |
233 | #define ES_1371_CODEC_WRITE(a,d) ((((a)&0x7f)<<16)|(((d)&0xffff)<<0)) | 234 | #define ES_1371_CODEC_WRITE(a,d) ((((a)&0x7f)<<16)|(((d)&0xffff)<<0)) |
234 | #define ES_1371_CODEC_READS(a) ((((a)&0x7f)<<16)|ES_1371_CODEC_PIRD) | 235 | #define ES_1371_CODEC_READS(a) ((((a)&0x7f)<<16)|ES_1371_CODEC_PIRD) |
@@ -603,12 +604,18 @@ static void snd_es1370_codec_write(struct snd_ak4531 *ak4531, | |||
603 | 604 | ||
604 | #ifdef CHIP1371 | 605 | #ifdef CHIP1371 |
605 | 606 | ||
607 | static inline bool is_ev1938(struct ensoniq *ensoniq) | ||
608 | { | ||
609 | return ensoniq->pci->device == 0x8938; | ||
610 | } | ||
611 | |||
606 | static void snd_es1371_codec_write(struct snd_ac97 *ac97, | 612 | static void snd_es1371_codec_write(struct snd_ac97 *ac97, |
607 | unsigned short reg, unsigned short val) | 613 | unsigned short reg, unsigned short val) |
608 | { | 614 | { |
609 | struct ensoniq *ensoniq = ac97->private_data; | 615 | struct ensoniq *ensoniq = ac97->private_data; |
610 | unsigned int t, x; | 616 | unsigned int t, x, flag; |
611 | 617 | ||
618 | flag = is_ev1938(ensoniq) ? EV_1938_CODEC_MAGIC : 0; | ||
612 | mutex_lock(&ensoniq->src_mutex); | 619 | mutex_lock(&ensoniq->src_mutex); |
613 | for (t = 0; t < POLL_COUNT; t++) { | 620 | for (t = 0; t < POLL_COUNT; t++) { |
614 | if (!(inl(ES_REG(ensoniq, 1371_CODEC)) & ES_1371_CODEC_WIP)) { | 621 | if (!(inl(ES_REG(ensoniq, 1371_CODEC)) & ES_1371_CODEC_WIP)) { |
@@ -630,7 +637,8 @@ static void snd_es1371_codec_write(struct snd_ac97 *ac97, | |||
630 | 0x00010000) | 637 | 0x00010000) |
631 | break; | 638 | break; |
632 | } | 639 | } |
633 | outl(ES_1371_CODEC_WRITE(reg, val), ES_REG(ensoniq, 1371_CODEC)); | 640 | outl(ES_1371_CODEC_WRITE(reg, val) | flag, |
641 | ES_REG(ensoniq, 1371_CODEC)); | ||
634 | /* restore SRC reg */ | 642 | /* restore SRC reg */ |
635 | snd_es1371_wait_src_ready(ensoniq); | 643 | snd_es1371_wait_src_ready(ensoniq); |
636 | outl(x, ES_REG(ensoniq, 1371_SMPRATE)); | 644 | outl(x, ES_REG(ensoniq, 1371_SMPRATE)); |
@@ -647,8 +655,9 @@ static unsigned short snd_es1371_codec_read(struct snd_ac97 *ac97, | |||
647 | unsigned short reg) | 655 | unsigned short reg) |
648 | { | 656 | { |
649 | struct ensoniq *ensoniq = ac97->private_data; | 657 | struct ensoniq *ensoniq = ac97->private_data; |
650 | unsigned int t, x, fail = 0; | 658 | unsigned int t, x, flag, fail = 0; |
651 | 659 | ||
660 | flag = is_ev1938(ensoniq) ? EV_1938_CODEC_MAGIC : 0; | ||
652 | __again: | 661 | __again: |
653 | mutex_lock(&ensoniq->src_mutex); | 662 | mutex_lock(&ensoniq->src_mutex); |
654 | for (t = 0; t < POLL_COUNT; t++) { | 663 | for (t = 0; t < POLL_COUNT; t++) { |
@@ -671,7 +680,8 @@ static unsigned short snd_es1371_codec_read(struct snd_ac97 *ac97, | |||
671 | 0x00010000) | 680 | 0x00010000) |
672 | break; | 681 | break; |
673 | } | 682 | } |
674 | outl(ES_1371_CODEC_READS(reg), ES_REG(ensoniq, 1371_CODEC)); | 683 | outl(ES_1371_CODEC_READS(reg) | flag, |
684 | ES_REG(ensoniq, 1371_CODEC)); | ||
675 | /* restore SRC reg */ | 685 | /* restore SRC reg */ |
676 | snd_es1371_wait_src_ready(ensoniq); | 686 | snd_es1371_wait_src_ready(ensoniq); |
677 | outl(x, ES_REG(ensoniq, 1371_SMPRATE)); | 687 | outl(x, ES_REG(ensoniq, 1371_SMPRATE)); |
@@ -683,6 +693,11 @@ static unsigned short snd_es1371_codec_read(struct snd_ac97 *ac97, | |||
683 | /* now wait for the stinkin' data (RDY) */ | 693 | /* now wait for the stinkin' data (RDY) */ |
684 | for (t = 0; t < POLL_COUNT; t++) { | 694 | for (t = 0; t < POLL_COUNT; t++) { |
685 | if ((x = inl(ES_REG(ensoniq, 1371_CODEC))) & ES_1371_CODEC_RDY) { | 695 | if ((x = inl(ES_REG(ensoniq, 1371_CODEC))) & ES_1371_CODEC_RDY) { |
696 | if (is_ev1938(ensoniq)) { | ||
697 | for (t = 0; t < 100; t++) | ||
698 | inl(ES_REG(ensoniq, CONTROL)); | ||
699 | x = inl(ES_REG(ensoniq, 1371_CODEC)); | ||
700 | } | ||
686 | mutex_unlock(&ensoniq->src_mutex); | 701 | mutex_unlock(&ensoniq->src_mutex); |
687 | return ES_1371_CODEC_READ(x); | 702 | return ES_1371_CODEC_READ(x); |
688 | } | 703 | } |
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index 2c79e96d0324..430f41db6044 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c | |||
@@ -3661,7 +3661,7 @@ int snd_hda_codec_build_pcms(struct hda_codec *codec) | |||
3661 | * with the proper parameters for set up. | 3661 | * with the proper parameters for set up. |
3662 | * ops.cleanup should be called in hw_free for clean up of streams. | 3662 | * ops.cleanup should be called in hw_free for clean up of streams. |
3663 | * | 3663 | * |
3664 | * This function returns 0 if successfull, or a negative error code. | 3664 | * This function returns 0 if successful, or a negative error code. |
3665 | */ | 3665 | */ |
3666 | int __devinit snd_hda_build_pcms(struct hda_bus *bus) | 3666 | int __devinit snd_hda_build_pcms(struct hda_bus *bus) |
3667 | { | 3667 | { |
@@ -4851,7 +4851,7 @@ EXPORT_SYMBOL_HDA(snd_hda_suspend); | |||
4851 | * | 4851 | * |
4852 | * Returns 0 if successful. | 4852 | * Returns 0 if successful. |
4853 | * | 4853 | * |
4854 | * This fucntion is defined only when POWER_SAVE isn't set. | 4854 | * This function is defined only when POWER_SAVE isn't set. |
4855 | * In the power-save mode, the codec is resumed dynamically. | 4855 | * In the power-save mode, the codec is resumed dynamically. |
4856 | */ | 4856 | */ |
4857 | int snd_hda_resume(struct hda_bus *bus) | 4857 | int snd_hda_resume(struct hda_bus *bus) |
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c index d08cf31596f3..ad97d937d3a8 100644 --- a/sound/pci/hda/patch_conexant.c +++ b/sound/pci/hda/patch_conexant.c | |||
@@ -3034,6 +3034,8 @@ static struct snd_pci_quirk cxt5066_cfg_tbl[] = { | |||
3034 | SND_PCI_QUIRK(0x17aa, 0x21c5, "Thinkpad Edge 13", CXT5066_THINKPAD), | 3034 | SND_PCI_QUIRK(0x17aa, 0x21c5, "Thinkpad Edge 13", CXT5066_THINKPAD), |
3035 | SND_PCI_QUIRK(0x17aa, 0x21c6, "Thinkpad Edge 13", CXT5066_ASUS), | 3035 | SND_PCI_QUIRK(0x17aa, 0x21c6, "Thinkpad Edge 13", CXT5066_ASUS), |
3036 | SND_PCI_QUIRK(0x17aa, 0x215e, "Lenovo Thinkpad", CXT5066_THINKPAD), | 3036 | SND_PCI_QUIRK(0x17aa, 0x215e, "Lenovo Thinkpad", CXT5066_THINKPAD), |
3037 | SND_PCI_QUIRK(0x17aa, 0x21da, "Lenovo X220", CXT5066_THINKPAD), | ||
3038 | SND_PCI_QUIRK(0x17aa, 0x21db, "Lenovo X220-tablet", CXT5066_THINKPAD), | ||
3037 | SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo G560", CXT5066_ASUS), | 3039 | SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo G560", CXT5066_ASUS), |
3038 | SND_PCI_QUIRK_VENDOR(0x17aa, "Lenovo", CXT5066_IDEAPAD), /* Fallback for Lenovos without dock mic */ | 3040 | SND_PCI_QUIRK_VENDOR(0x17aa, "Lenovo", CXT5066_IDEAPAD), /* Fallback for Lenovos without dock mic */ |
3039 | {} | 3041 | {} |
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c index 251773e45f61..715615a88a8d 100644 --- a/sound/pci/hda/patch_hdmi.c +++ b/sound/pci/hda/patch_hdmi.c | |||
@@ -1280,6 +1280,39 @@ static int simple_playback_pcm_prepare(struct hda_pcm_stream *hinfo, | |||
1280 | stream_tag, format, substream); | 1280 | stream_tag, format, substream); |
1281 | } | 1281 | } |
1282 | 1282 | ||
1283 | static void nvhdmi_8ch_7x_set_info_frame_parameters(struct hda_codec *codec, | ||
1284 | int channels) | ||
1285 | { | ||
1286 | unsigned int chanmask; | ||
1287 | int chan = channels ? (channels - 1) : 1; | ||
1288 | |||
1289 | switch (channels) { | ||
1290 | default: | ||
1291 | case 0: | ||
1292 | case 2: | ||
1293 | chanmask = 0x00; | ||
1294 | break; | ||
1295 | case 4: | ||
1296 | chanmask = 0x08; | ||
1297 | break; | ||
1298 | case 6: | ||
1299 | chanmask = 0x0b; | ||
1300 | break; | ||
1301 | case 8: | ||
1302 | chanmask = 0x13; | ||
1303 | break; | ||
1304 | } | ||
1305 | |||
1306 | /* Set the audio infoframe channel allocation and checksum fields. The | ||
1307 | * channel count is computed implicitly by the hardware. */ | ||
1308 | snd_hda_codec_write(codec, 0x1, 0, | ||
1309 | Nv_VERB_SET_Channel_Allocation, chanmask); | ||
1310 | |||
1311 | snd_hda_codec_write(codec, 0x1, 0, | ||
1312 | Nv_VERB_SET_Info_Frame_Checksum, | ||
1313 | (0x71 - chan - chanmask)); | ||
1314 | } | ||
1315 | |||
1283 | static int nvhdmi_8ch_7x_pcm_close(struct hda_pcm_stream *hinfo, | 1316 | static int nvhdmi_8ch_7x_pcm_close(struct hda_pcm_stream *hinfo, |
1284 | struct hda_codec *codec, | 1317 | struct hda_codec *codec, |
1285 | struct snd_pcm_substream *substream) | 1318 | struct snd_pcm_substream *substream) |
@@ -1298,6 +1331,10 @@ static int nvhdmi_8ch_7x_pcm_close(struct hda_pcm_stream *hinfo, | |||
1298 | AC_VERB_SET_STREAM_FORMAT, 0); | 1331 | AC_VERB_SET_STREAM_FORMAT, 0); |
1299 | } | 1332 | } |
1300 | 1333 | ||
1334 | /* The audio hardware sends a channel count of 0x7 (8ch) when all the | ||
1335 | * streams are disabled. */ | ||
1336 | nvhdmi_8ch_7x_set_info_frame_parameters(codec, 8); | ||
1337 | |||
1301 | return snd_hda_multi_out_dig_close(codec, &spec->multiout); | 1338 | return snd_hda_multi_out_dig_close(codec, &spec->multiout); |
1302 | } | 1339 | } |
1303 | 1340 | ||
@@ -1308,37 +1345,16 @@ static int nvhdmi_8ch_7x_pcm_prepare(struct hda_pcm_stream *hinfo, | |||
1308 | struct snd_pcm_substream *substream) | 1345 | struct snd_pcm_substream *substream) |
1309 | { | 1346 | { |
1310 | int chs; | 1347 | int chs; |
1311 | unsigned int dataDCC1, dataDCC2, chan, chanmask, channel_id; | 1348 | unsigned int dataDCC1, dataDCC2, channel_id; |
1312 | int i; | 1349 | int i; |
1313 | 1350 | ||
1314 | mutex_lock(&codec->spdif_mutex); | 1351 | mutex_lock(&codec->spdif_mutex); |
1315 | 1352 | ||
1316 | chs = substream->runtime->channels; | 1353 | chs = substream->runtime->channels; |
1317 | chan = chs ? (chs - 1) : 1; | ||
1318 | 1354 | ||
1319 | switch (chs) { | ||
1320 | default: | ||
1321 | case 0: | ||
1322 | case 2: | ||
1323 | chanmask = 0x00; | ||
1324 | break; | ||
1325 | case 4: | ||
1326 | chanmask = 0x08; | ||
1327 | break; | ||
1328 | case 6: | ||
1329 | chanmask = 0x0b; | ||
1330 | break; | ||
1331 | case 8: | ||
1332 | chanmask = 0x13; | ||
1333 | break; | ||
1334 | } | ||
1335 | dataDCC1 = AC_DIG1_ENABLE | AC_DIG1_COPYRIGHT; | 1355 | dataDCC1 = AC_DIG1_ENABLE | AC_DIG1_COPYRIGHT; |
1336 | dataDCC2 = 0x2; | 1356 | dataDCC2 = 0x2; |
1337 | 1357 | ||
1338 | /* set the Audio InforFrame Channel Allocation */ | ||
1339 | snd_hda_codec_write(codec, 0x1, 0, | ||
1340 | Nv_VERB_SET_Channel_Allocation, chanmask); | ||
1341 | |||
1342 | /* turn off SPDIF once; otherwise the IEC958 bits won't be updated */ | 1358 | /* turn off SPDIF once; otherwise the IEC958 bits won't be updated */ |
1343 | if (codec->spdif_status_reset && (codec->spdif_ctls & AC_DIG1_ENABLE)) | 1359 | if (codec->spdif_status_reset && (codec->spdif_ctls & AC_DIG1_ENABLE)) |
1344 | snd_hda_codec_write(codec, | 1360 | snd_hda_codec_write(codec, |
@@ -1413,10 +1429,7 @@ static int nvhdmi_8ch_7x_pcm_prepare(struct hda_pcm_stream *hinfo, | |||
1413 | } | 1429 | } |
1414 | } | 1430 | } |
1415 | 1431 | ||
1416 | /* set the Audio Info Frame Checksum */ | 1432 | nvhdmi_8ch_7x_set_info_frame_parameters(codec, chs); |
1417 | snd_hda_codec_write(codec, 0x1, 0, | ||
1418 | Nv_VERB_SET_Info_Frame_Checksum, | ||
1419 | (0x71 - chan - chanmask)); | ||
1420 | 1433 | ||
1421 | mutex_unlock(&codec->spdif_mutex); | 1434 | mutex_unlock(&codec->spdif_mutex); |
1422 | return 0; | 1435 | return 0; |
@@ -1512,6 +1525,11 @@ static int patch_nvhdmi_8ch_7x(struct hda_codec *codec) | |||
1512 | spec->multiout.max_channels = 8; | 1525 | spec->multiout.max_channels = 8; |
1513 | spec->pcm_playback = &nvhdmi_pcm_playback_8ch_7x; | 1526 | spec->pcm_playback = &nvhdmi_pcm_playback_8ch_7x; |
1514 | codec->patch_ops = nvhdmi_patch_ops_8ch_7x; | 1527 | codec->patch_ops = nvhdmi_patch_ops_8ch_7x; |
1528 | |||
1529 | /* Initialize the audio infoframe channel mask and checksum to something | ||
1530 | * valid */ | ||
1531 | nvhdmi_8ch_7x_set_info_frame_parameters(codec, 8); | ||
1532 | |||
1515 | return 0; | 1533 | return 0; |
1516 | } | 1534 | } |
1517 | 1535 | ||
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 0ef0035fe99f..52928d9a72da 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -549,7 +549,7 @@ static int alc_ch_mode_put(struct snd_kcontrol *kcontrol, | |||
549 | 549 | ||
550 | /* | 550 | /* |
551 | * Control the mode of pin widget settings via the mixer. "pc" is used | 551 | * Control the mode of pin widget settings via the mixer. "pc" is used |
552 | * instead of "%" to avoid consequences of accidently treating the % as | 552 | * instead of "%" to avoid consequences of accidentally treating the % as |
553 | * being part of a format specifier. Maximum allowed length of a value is | 553 | * being part of a format specifier. Maximum allowed length of a value is |
554 | * 63 characters plus NULL terminator. | 554 | * 63 characters plus NULL terminator. |
555 | * | 555 | * |
@@ -9836,7 +9836,7 @@ static struct snd_pci_quirk alc882_cfg_tbl[] = { | |||
9836 | 9836 | ||
9837 | SND_PCI_QUIRK(0x1028, 0x020d, "Dell Inspiron 530", ALC888_6ST_DELL), | 9837 | SND_PCI_QUIRK(0x1028, 0x020d, "Dell Inspiron 530", ALC888_6ST_DELL), |
9838 | 9838 | ||
9839 | SND_PCI_QUIRK(0x103c, 0x2a3d, "HP Pavillion", ALC883_6ST_DIG), | 9839 | SND_PCI_QUIRK(0x103c, 0x2a3d, "HP Pavilion", ALC883_6ST_DIG), |
9840 | SND_PCI_QUIRK(0x103c, 0x2a4f, "HP Samba", ALC888_3ST_HP), | 9840 | SND_PCI_QUIRK(0x103c, 0x2a4f, "HP Samba", ALC888_3ST_HP), |
9841 | SND_PCI_QUIRK(0x103c, 0x2a60, "HP Lucknow", ALC888_3ST_HP), | 9841 | SND_PCI_QUIRK(0x103c, 0x2a60, "HP Lucknow", ALC888_3ST_HP), |
9842 | SND_PCI_QUIRK(0x103c, 0x2a61, "HP Nettle", ALC883_6ST_DIG), | 9842 | SND_PCI_QUIRK(0x103c, 0x2a61, "HP Nettle", ALC883_6ST_DIG), |
@@ -9863,7 +9863,6 @@ static struct snd_pci_quirk alc882_cfg_tbl[] = { | |||
9863 | SND_PCI_QUIRK(0x1071, 0x8258, "Evesham Voyaeger", ALC883_LAPTOP_EAPD), | 9863 | SND_PCI_QUIRK(0x1071, 0x8258, "Evesham Voyaeger", ALC883_LAPTOP_EAPD), |
9864 | SND_PCI_QUIRK(0x10f1, 0x2350, "TYAN-S2350", ALC888_6ST_DELL), | 9864 | SND_PCI_QUIRK(0x10f1, 0x2350, "TYAN-S2350", ALC888_6ST_DELL), |
9865 | SND_PCI_QUIRK(0x108e, 0x534d, NULL, ALC883_3ST_6ch), | 9865 | SND_PCI_QUIRK(0x108e, 0x534d, NULL, ALC883_3ST_6ch), |
9866 | SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte P35 DS3R", ALC882_6ST_DIG), | ||
9867 | 9866 | ||
9868 | SND_PCI_QUIRK(0x1462, 0x0349, "MSI", ALC883_TARGA_2ch_DIG), | 9867 | SND_PCI_QUIRK(0x1462, 0x0349, "MSI", ALC883_TARGA_2ch_DIG), |
9869 | SND_PCI_QUIRK(0x1462, 0x040d, "MSI", ALC883_TARGA_2ch_DIG), | 9868 | SND_PCI_QUIRK(0x1462, 0x040d, "MSI", ALC883_TARGA_2ch_DIG), |
@@ -10700,6 +10699,7 @@ enum { | |||
10700 | PINFIX_LENOVO_Y530, | 10699 | PINFIX_LENOVO_Y530, |
10701 | PINFIX_PB_M5210, | 10700 | PINFIX_PB_M5210, |
10702 | PINFIX_ACER_ASPIRE_7736, | 10701 | PINFIX_ACER_ASPIRE_7736, |
10702 | PINFIX_GIGABYTE_880GM, | ||
10703 | }; | 10703 | }; |
10704 | 10704 | ||
10705 | static const struct alc_fixup alc882_fixups[] = { | 10705 | static const struct alc_fixup alc882_fixups[] = { |
@@ -10731,6 +10731,13 @@ static const struct alc_fixup alc882_fixups[] = { | |||
10731 | .type = ALC_FIXUP_SKU, | 10731 | .type = ALC_FIXUP_SKU, |
10732 | .v.sku = ALC_FIXUP_SKU_IGNORE, | 10732 | .v.sku = ALC_FIXUP_SKU_IGNORE, |
10733 | }, | 10733 | }, |
10734 | [PINFIX_GIGABYTE_880GM] = { | ||
10735 | .type = ALC_FIXUP_PINS, | ||
10736 | .v.pins = (const struct alc_pincfg[]) { | ||
10737 | { 0x14, 0x1114410 }, /* set as speaker */ | ||
10738 | { } | ||
10739 | } | ||
10740 | }, | ||
10734 | }; | 10741 | }; |
10735 | 10742 | ||
10736 | static struct snd_pci_quirk alc882_fixup_tbl[] = { | 10743 | static struct snd_pci_quirk alc882_fixup_tbl[] = { |
@@ -10738,6 +10745,7 @@ static struct snd_pci_quirk alc882_fixup_tbl[] = { | |||
10738 | SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Y530", PINFIX_LENOVO_Y530), | 10745 | SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Y530", PINFIX_LENOVO_Y530), |
10739 | SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", PINFIX_ABIT_AW9D_MAX), | 10746 | SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", PINFIX_ABIT_AW9D_MAX), |
10740 | SND_PCI_QUIRK(0x1025, 0x0296, "Acer Aspire 7736z", PINFIX_ACER_ASPIRE_7736), | 10747 | SND_PCI_QUIRK(0x1025, 0x0296, "Acer Aspire 7736z", PINFIX_ACER_ASPIRE_7736), |
10748 | SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte", PINFIX_GIGABYTE_880GM), | ||
10741 | {} | 10749 | {} |
10742 | }; | 10750 | }; |
10743 | 10751 | ||
@@ -14116,7 +14124,7 @@ static hda_nid_t alc269vb_capsrc_nids[1] = { | |||
14116 | }; | 14124 | }; |
14117 | 14125 | ||
14118 | static hda_nid_t alc269_adc_candidates[] = { | 14126 | static hda_nid_t alc269_adc_candidates[] = { |
14119 | 0x08, 0x09, 0x07, | 14127 | 0x08, 0x09, 0x07, 0x11, |
14120 | }; | 14128 | }; |
14121 | 14129 | ||
14122 | #define alc269_modes alc260_modes | 14130 | #define alc269_modes alc260_modes |
@@ -18774,8 +18782,6 @@ static struct snd_pci_quirk alc662_cfg_tbl[] = { | |||
18774 | ALC662_3ST_6ch_DIG), | 18782 | ALC662_3ST_6ch_DIG), |
18775 | SND_PCI_QUIRK(0x1179, 0xff6e, "Toshiba NB20x", ALC662_AUTO), | 18783 | SND_PCI_QUIRK(0x1179, 0xff6e, "Toshiba NB20x", ALC662_AUTO), |
18776 | SND_PCI_QUIRK(0x144d, 0xca00, "Samsung NC10", ALC272_SAMSUNG_NC10), | 18784 | SND_PCI_QUIRK(0x144d, 0xca00, "Samsung NC10", ALC272_SAMSUNG_NC10), |
18777 | SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte 945GCM-S2L", | ||
18778 | ALC662_3ST_6ch_DIG), | ||
18779 | SND_PCI_QUIRK(0x152d, 0x2304, "Quanta WH1", ALC663_ASUS_H13), | 18785 | SND_PCI_QUIRK(0x152d, 0x2304, "Quanta WH1", ALC663_ASUS_H13), |
18780 | SND_PCI_QUIRK(0x1565, 0x820f, "Biostar TA780G M2+", ALC662_3ST_6ch_DIG), | 18786 | SND_PCI_QUIRK(0x1565, 0x820f, "Biostar TA780G M2+", ALC662_3ST_6ch_DIG), |
18781 | SND_PCI_QUIRK(0x1631, 0xc10c, "PB RS65", ALC663_ASUS_M51VA), | 18787 | SND_PCI_QUIRK(0x1631, 0xc10c, "PB RS65", ALC663_ASUS_M51VA), |
@@ -19449,6 +19455,7 @@ enum { | |||
19449 | ALC662_FIXUP_IDEAPAD, | 19455 | ALC662_FIXUP_IDEAPAD, |
19450 | ALC272_FIXUP_MARIO, | 19456 | ALC272_FIXUP_MARIO, |
19451 | ALC662_FIXUP_CZC_P10T, | 19457 | ALC662_FIXUP_CZC_P10T, |
19458 | ALC662_FIXUP_GIGABYTE, | ||
19452 | }; | 19459 | }; |
19453 | 19460 | ||
19454 | static const struct alc_fixup alc662_fixups[] = { | 19461 | static const struct alc_fixup alc662_fixups[] = { |
@@ -19477,12 +19484,20 @@ static const struct alc_fixup alc662_fixups[] = { | |||
19477 | {} | 19484 | {} |
19478 | } | 19485 | } |
19479 | }, | 19486 | }, |
19487 | [ALC662_FIXUP_GIGABYTE] = { | ||
19488 | .type = ALC_FIXUP_PINS, | ||
19489 | .v.pins = (const struct alc_pincfg[]) { | ||
19490 | { 0x14, 0x1114410 }, /* set as speaker */ | ||
19491 | { } | ||
19492 | } | ||
19493 | }, | ||
19480 | }; | 19494 | }; |
19481 | 19495 | ||
19482 | static struct snd_pci_quirk alc662_fixup_tbl[] = { | 19496 | static struct snd_pci_quirk alc662_fixup_tbl[] = { |
19483 | SND_PCI_QUIRK(0x1025, 0x0308, "Acer Aspire 8942G", ALC662_FIXUP_ASPIRE), | 19497 | SND_PCI_QUIRK(0x1025, 0x0308, "Acer Aspire 8942G", ALC662_FIXUP_ASPIRE), |
19484 | SND_PCI_QUIRK(0x1025, 0x038b, "Acer Aspire 8943G", ALC662_FIXUP_ASPIRE), | 19498 | SND_PCI_QUIRK(0x1025, 0x038b, "Acer Aspire 8943G", ALC662_FIXUP_ASPIRE), |
19485 | SND_PCI_QUIRK(0x144d, 0xc051, "Samsung R720", ALC662_FIXUP_IDEAPAD), | 19499 | SND_PCI_QUIRK(0x144d, 0xc051, "Samsung R720", ALC662_FIXUP_IDEAPAD), |
19500 | SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte", ALC662_FIXUP_GIGABYTE), | ||
19486 | SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo Ideapad Y550P", ALC662_FIXUP_IDEAPAD), | 19501 | SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo Ideapad Y550P", ALC662_FIXUP_IDEAPAD), |
19487 | SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Ideapad Y550", ALC662_FIXUP_IDEAPAD), | 19502 | SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Ideapad Y550", ALC662_FIXUP_IDEAPAD), |
19488 | SND_PCI_QUIRK(0x1b35, 0x2206, "CZC P10T", ALC662_FIXUP_CZC_P10T), | 19503 | SND_PCI_QUIRK(0x1b35, 0x2206, "CZC P10T", ALC662_FIXUP_CZC_P10T), |
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 05fcd60cc46f..94d19c03a7f4 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -2475,7 +2475,7 @@ static int stac92xx_hp_switch_put(struct snd_kcontrol *kcontrol, | |||
2475 | 2475 | ||
2476 | spec->hp_switch = ucontrol->value.integer.value[0] ? nid : 0; | 2476 | spec->hp_switch = ucontrol->value.integer.value[0] ? nid : 0; |
2477 | 2477 | ||
2478 | /* check to be sure that the ports are upto date with | 2478 | /* check to be sure that the ports are up to date with |
2479 | * switch changes | 2479 | * switch changes |
2480 | */ | 2480 | */ |
2481 | stac_issue_unsol_event(codec, nid); | 2481 | stac_issue_unsol_event(codec, nid); |
@@ -3408,6 +3408,9 @@ static int get_connection_index(struct hda_codec *codec, hda_nid_t mux, | |||
3408 | hda_nid_t conn[HDA_MAX_NUM_INPUTS]; | 3408 | hda_nid_t conn[HDA_MAX_NUM_INPUTS]; |
3409 | int i, nums; | 3409 | int i, nums; |
3410 | 3410 | ||
3411 | if (!(get_wcaps(codec, mux) & AC_WCAP_CONN_LIST)) | ||
3412 | return -1; | ||
3413 | |||
3411 | nums = snd_hda_get_connections(codec, mux, conn, ARRAY_SIZE(conn)); | 3414 | nums = snd_hda_get_connections(codec, mux, conn, ARRAY_SIZE(conn)); |
3412 | for (i = 0; i < nums; i++) | 3415 | for (i = 0; i < nums; i++) |
3413 | if (conn[i] == nid) | 3416 | if (conn[i] == nid) |
diff --git a/sound/pci/ice1712/aureon.c b/sound/pci/ice1712/aureon.c index 2f6252266a02..3e4f8c12ffce 100644 --- a/sound/pci/ice1712/aureon.c +++ b/sound/pci/ice1712/aureon.c | |||
@@ -148,7 +148,7 @@ static void aureon_pca9554_write(struct snd_ice1712 *ice, unsigned char reg, | |||
148 | udelay(100); | 148 | udelay(100); |
149 | /* | 149 | /* |
150 | * send device address, command and value, | 150 | * send device address, command and value, |
151 | * skipping ack cycles inbetween | 151 | * skipping ack cycles in between |
152 | */ | 152 | */ |
153 | for (j = 0; j < 3; j++) { | 153 | for (j = 0; j < 3; j++) { |
154 | switch (j) { | 154 | switch (j) { |
@@ -2143,7 +2143,7 @@ static int __devinit aureon_init(struct snd_ice1712 *ice) | |||
2143 | ice->num_total_adcs = 2; | 2143 | ice->num_total_adcs = 2; |
2144 | } | 2144 | } |
2145 | 2145 | ||
2146 | /* to remeber the register values of CS8415 */ | 2146 | /* to remember the register values of CS8415 */ |
2147 | ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL); | 2147 | ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL); |
2148 | if (!ice->akm) | 2148 | if (!ice->akm) |
2149 | return -ENOMEM; | 2149 | return -ENOMEM; |
diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c index 4fc6d8bc637e..f4594d76b6ea 100644 --- a/sound/pci/ice1712/ice1712.c +++ b/sound/pci/ice1712/ice1712.c | |||
@@ -2755,7 +2755,7 @@ static int __devinit snd_ice1712_probe(struct pci_dev *pci, | |||
2755 | return err; | 2755 | return err; |
2756 | } | 2756 | } |
2757 | if (c->mpu401_1_name) | 2757 | if (c->mpu401_1_name) |
2758 | /* Prefered name available in card_info */ | 2758 | /* Preferred name available in card_info */ |
2759 | snprintf(ice->rmidi[0]->name, | 2759 | snprintf(ice->rmidi[0]->name, |
2760 | sizeof(ice->rmidi[0]->name), | 2760 | sizeof(ice->rmidi[0]->name), |
2761 | "%s %d", c->mpu401_1_name, card->number); | 2761 | "%s %d", c->mpu401_1_name, card->number); |
@@ -2772,7 +2772,7 @@ static int __devinit snd_ice1712_probe(struct pci_dev *pci, | |||
2772 | return err; | 2772 | return err; |
2773 | } | 2773 | } |
2774 | if (c->mpu401_2_name) | 2774 | if (c->mpu401_2_name) |
2775 | /* Prefered name available in card_info */ | 2775 | /* Preferred name available in card_info */ |
2776 | snprintf(ice->rmidi[1]->name, | 2776 | snprintf(ice->rmidi[1]->name, |
2777 | sizeof(ice->rmidi[1]->name), | 2777 | sizeof(ice->rmidi[1]->name), |
2778 | "%s %d", c->mpu401_2_name, | 2778 | "%s %d", c->mpu401_2_name, |
diff --git a/sound/pci/ice1712/pontis.c b/sound/pci/ice1712/pontis.c index cdb873f5da50..92c1160d7ab5 100644 --- a/sound/pci/ice1712/pontis.c +++ b/sound/pci/ice1712/pontis.c | |||
@@ -768,7 +768,7 @@ static int __devinit pontis_init(struct snd_ice1712 *ice) | |||
768 | ice->num_total_dacs = 2; | 768 | ice->num_total_dacs = 2; |
769 | ice->num_total_adcs = 2; | 769 | ice->num_total_adcs = 2; |
770 | 770 | ||
771 | /* to remeber the register values */ | 771 | /* to remember the register values */ |
772 | ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL); | 772 | ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL); |
773 | if (! ice->akm) | 773 | if (! ice->akm) |
774 | return -ENOMEM; | 774 | return -ENOMEM; |
diff --git a/sound/pci/ice1712/prodigy_hifi.c b/sound/pci/ice1712/prodigy_hifi.c index 6a9fee3ee78f..764cc93dbca4 100644 --- a/sound/pci/ice1712/prodigy_hifi.c +++ b/sound/pci/ice1712/prodigy_hifi.c | |||
@@ -1046,7 +1046,7 @@ static int __devinit prodigy_hifi_init(struct snd_ice1712 *ice) | |||
1046 | * don't call snd_ice1712_gpio_get/put(), otherwise it's overwritten | 1046 | * don't call snd_ice1712_gpio_get/put(), otherwise it's overwritten |
1047 | */ | 1047 | */ |
1048 | ice->gpio.saved[0] = 0; | 1048 | ice->gpio.saved[0] = 0; |
1049 | /* to remeber the register values */ | 1049 | /* to remember the register values */ |
1050 | 1050 | ||
1051 | ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL); | 1051 | ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL); |
1052 | if (! ice->akm) | 1052 | if (! ice->akm) |
@@ -1128,7 +1128,7 @@ static int __devinit prodigy_hd2_init(struct snd_ice1712 *ice) | |||
1128 | * don't call snd_ice1712_gpio_get/put(), otherwise it's overwritten | 1128 | * don't call snd_ice1712_gpio_get/put(), otherwise it's overwritten |
1129 | */ | 1129 | */ |
1130 | ice->gpio.saved[0] = 0; | 1130 | ice->gpio.saved[0] = 0; |
1131 | /* to remeber the register values */ | 1131 | /* to remember the register values */ |
1132 | 1132 | ||
1133 | ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL); | 1133 | ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL); |
1134 | if (! ice->akm) | 1134 | if (! ice->akm) |
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c index 629a5494347a..6c896dbfd796 100644 --- a/sound/pci/intel8x0.c +++ b/sound/pci/intel8x0.c | |||
@@ -534,7 +534,7 @@ static int snd_intel8x0_codec_semaphore(struct intel8x0 *chip, unsigned int code | |||
534 | udelay(10); | 534 | udelay(10); |
535 | } while (time--); | 535 | } while (time--); |
536 | 536 | ||
537 | /* access to some forbidden (non existant) ac97 registers will not | 537 | /* access to some forbidden (non existent) ac97 registers will not |
538 | * reset the semaphore. So even if you don't get the semaphore, still | 538 | * reset the semaphore. So even if you don't get the semaphore, still |
539 | * continue the access. We don't need the semaphore anyway. */ | 539 | * continue the access. We don't need the semaphore anyway. */ |
540 | snd_printk(KERN_ERR "codec_semaphore: semaphore is not ready [0x%x][0x%x]\n", | 540 | snd_printk(KERN_ERR "codec_semaphore: semaphore is not ready [0x%x][0x%x]\n", |
diff --git a/sound/pci/intel8x0m.c b/sound/pci/intel8x0m.c index 2ae8d29500a8..27709f0cd2a6 100644 --- a/sound/pci/intel8x0m.c +++ b/sound/pci/intel8x0m.c | |||
@@ -331,7 +331,7 @@ static int snd_intel8x0m_codec_semaphore(struct intel8x0m *chip, unsigned int co | |||
331 | udelay(10); | 331 | udelay(10); |
332 | } while (time--); | 332 | } while (time--); |
333 | 333 | ||
334 | /* access to some forbidden (non existant) ac97 registers will not | 334 | /* access to some forbidden (non existent) ac97 registers will not |
335 | * reset the semaphore. So even if you don't get the semaphore, still | 335 | * reset the semaphore. So even if you don't get the semaphore, still |
336 | * continue the access. We don't need the semaphore anyway. */ | 336 | * continue the access. We don't need the semaphore anyway. */ |
337 | snd_printk(KERN_ERR "codec_semaphore: semaphore is not ready [0x%x][0x%x]\n", | 337 | snd_printk(KERN_ERR "codec_semaphore: semaphore is not ready [0x%x][0x%x]\n", |
diff --git a/sound/pci/mixart/mixart_core.c b/sound/pci/mixart/mixart_core.c index d3350f383966..3df0f530f67c 100644 --- a/sound/pci/mixart/mixart_core.c +++ b/sound/pci/mixart/mixart_core.c | |||
@@ -265,7 +265,7 @@ int snd_mixart_send_msg(struct mixart_mgr *mgr, struct mixart_msg *request, int | |||
265 | if (! timeout) { | 265 | if (! timeout) { |
266 | /* error - no ack */ | 266 | /* error - no ack */ |
267 | mutex_unlock(&mgr->msg_mutex); | 267 | mutex_unlock(&mgr->msg_mutex); |
268 | snd_printk(KERN_ERR "error: no reponse on msg %x\n", msg_frame); | 268 | snd_printk(KERN_ERR "error: no response on msg %x\n", msg_frame); |
269 | return -EIO; | 269 | return -EIO; |
270 | } | 270 | } |
271 | 271 | ||
@@ -278,7 +278,7 @@ int snd_mixart_send_msg(struct mixart_mgr *mgr, struct mixart_msg *request, int | |||
278 | err = get_msg(mgr, &resp, msg_frame); | 278 | err = get_msg(mgr, &resp, msg_frame); |
279 | 279 | ||
280 | if( request->message_id != resp.message_id ) | 280 | if( request->message_id != resp.message_id ) |
281 | snd_printk(KERN_ERR "REPONSE ERROR!\n"); | 281 | snd_printk(KERN_ERR "RESPONSE ERROR!\n"); |
282 | 282 | ||
283 | mutex_unlock(&mgr->msg_mutex); | 283 | mutex_unlock(&mgr->msg_mutex); |
284 | return err; | 284 | return err; |
diff --git a/sound/pci/pcxhr/pcxhr_core.c b/sound/pci/pcxhr/pcxhr_core.c index 833e7180ad2d..304411c1fe4b 100644 --- a/sound/pci/pcxhr/pcxhr_core.c +++ b/sound/pci/pcxhr/pcxhr_core.c | |||
@@ -1042,11 +1042,11 @@ void pcxhr_msg_tasklet(unsigned long arg) | |||
1042 | int i, j; | 1042 | int i, j; |
1043 | 1043 | ||
1044 | if (mgr->src_it_dsp & PCXHR_IRQ_FREQ_CHANGE) | 1044 | if (mgr->src_it_dsp & PCXHR_IRQ_FREQ_CHANGE) |
1045 | snd_printdd("TASKLET : PCXHR_IRQ_FREQ_CHANGE event occured\n"); | 1045 | snd_printdd("TASKLET : PCXHR_IRQ_FREQ_CHANGE event occurred\n"); |
1046 | if (mgr->src_it_dsp & PCXHR_IRQ_TIME_CODE) | 1046 | if (mgr->src_it_dsp & PCXHR_IRQ_TIME_CODE) |
1047 | snd_printdd("TASKLET : PCXHR_IRQ_TIME_CODE event occured\n"); | 1047 | snd_printdd("TASKLET : PCXHR_IRQ_TIME_CODE event occurred\n"); |
1048 | if (mgr->src_it_dsp & PCXHR_IRQ_NOTIFY) | 1048 | if (mgr->src_it_dsp & PCXHR_IRQ_NOTIFY) |
1049 | snd_printdd("TASKLET : PCXHR_IRQ_NOTIFY event occured\n"); | 1049 | snd_printdd("TASKLET : PCXHR_IRQ_NOTIFY event occurred\n"); |
1050 | if (mgr->src_it_dsp & (PCXHR_IRQ_FREQ_CHANGE | PCXHR_IRQ_TIME_CODE)) { | 1050 | if (mgr->src_it_dsp & (PCXHR_IRQ_FREQ_CHANGE | PCXHR_IRQ_TIME_CODE)) { |
1051 | /* clear events FREQ_CHANGE and TIME_CODE */ | 1051 | /* clear events FREQ_CHANGE and TIME_CODE */ |
1052 | pcxhr_init_rmh(prmh, CMD_TEST_IT); | 1052 | pcxhr_init_rmh(prmh, CMD_TEST_IT); |
@@ -1055,7 +1055,7 @@ void pcxhr_msg_tasklet(unsigned long arg) | |||
1055 | err, prmh->stat[0]); | 1055 | err, prmh->stat[0]); |
1056 | } | 1056 | } |
1057 | if (mgr->src_it_dsp & PCXHR_IRQ_ASYNC) { | 1057 | if (mgr->src_it_dsp & PCXHR_IRQ_ASYNC) { |
1058 | snd_printdd("TASKLET : PCXHR_IRQ_ASYNC event occured\n"); | 1058 | snd_printdd("TASKLET : PCXHR_IRQ_ASYNC event occurred\n"); |
1059 | 1059 | ||
1060 | pcxhr_init_rmh(prmh, CMD_ASYNC); | 1060 | pcxhr_init_rmh(prmh, CMD_ASYNC); |
1061 | prmh->cmd[0] |= 1; /* add SEL_ASYNC_EVENTS */ | 1061 | prmh->cmd[0] |= 1; /* add SEL_ASYNC_EVENTS */ |
@@ -1233,7 +1233,7 @@ irqreturn_t pcxhr_interrupt(int irq, void *dev_id) | |||
1233 | reg = PCXHR_INPL(mgr, PCXHR_PLX_L2PCIDB); | 1233 | reg = PCXHR_INPL(mgr, PCXHR_PLX_L2PCIDB); |
1234 | PCXHR_OUTPL(mgr, PCXHR_PLX_L2PCIDB, reg); | 1234 | PCXHR_OUTPL(mgr, PCXHR_PLX_L2PCIDB, reg); |
1235 | 1235 | ||
1236 | /* timer irq occured */ | 1236 | /* timer irq occurred */ |
1237 | if (reg & PCXHR_IRQ_TIMER) { | 1237 | if (reg & PCXHR_IRQ_TIMER) { |
1238 | int timer_toggle = reg & PCXHR_IRQ_TIMER; | 1238 | int timer_toggle = reg & PCXHR_IRQ_TIMER; |
1239 | /* is a 24 bit counter */ | 1239 | /* is a 24 bit counter */ |
@@ -1288,7 +1288,7 @@ irqreturn_t pcxhr_interrupt(int irq, void *dev_id) | |||
1288 | if (reg & PCXHR_IRQ_MASK) { | 1288 | if (reg & PCXHR_IRQ_MASK) { |
1289 | if (reg & PCXHR_IRQ_ASYNC) { | 1289 | if (reg & PCXHR_IRQ_ASYNC) { |
1290 | /* as we didn't request any async notifications, | 1290 | /* as we didn't request any async notifications, |
1291 | * some kind of xrun error will probably occured | 1291 | * some kind of xrun error will probably occurred |
1292 | */ | 1292 | */ |
1293 | /* better resynchronize all streams next interrupt : */ | 1293 | /* better resynchronize all streams next interrupt : */ |
1294 | mgr->dsp_time_last = PCXHR_DSP_TIME_INVALID; | 1294 | mgr->dsp_time_last = PCXHR_DSP_TIME_INVALID; |
diff --git a/sound/pci/rme96.c b/sound/pci/rme96.c index d5f5b440fc40..9ff247fc8871 100644 --- a/sound/pci/rme96.c +++ b/sound/pci/rme96.c | |||
@@ -150,7 +150,7 @@ MODULE_PARM_DESC(enable, "Enable RME Digi96 soundcard."); | |||
150 | #define RME96_RCR_BITPOS_F1 28 | 150 | #define RME96_RCR_BITPOS_F1 28 |
151 | #define RME96_RCR_BITPOS_F2 29 | 151 | #define RME96_RCR_BITPOS_F2 29 |
152 | 152 | ||
153 | /* Additonal register bits */ | 153 | /* Additional register bits */ |
154 | #define RME96_AR_WSEL (1 << 0) | 154 | #define RME96_AR_WSEL (1 << 0) |
155 | #define RME96_AR_ANALOG (1 << 1) | 155 | #define RME96_AR_ANALOG (1 << 1) |
156 | #define RME96_AR_FREQPAD_0 (1 << 2) | 156 | #define RME96_AR_FREQPAD_0 (1 << 2) |
diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c index a323eafb9e03..949691a876d3 100644 --- a/sound/pci/rme9652/hdspm.c +++ b/sound/pci/rme9652/hdspm.c | |||
@@ -391,7 +391,7 @@ MODULE_SUPPORTED_DEVICE("{{RME HDSPM-MADI}}"); | |||
391 | 391 | ||
392 | /* Status2 Register bits */ /* MADI ONLY */ | 392 | /* Status2 Register bits */ /* MADI ONLY */ |
393 | 393 | ||
394 | #define HDSPM_version0 (1<<0) /* not realy defined but I guess */ | 394 | #define HDSPM_version0 (1<<0) /* not really defined but I guess */ |
395 | #define HDSPM_version1 (1<<1) /* in former cards it was ??? */ | 395 | #define HDSPM_version1 (1<<1) /* in former cards it was ??? */ |
396 | #define HDSPM_version2 (1<<2) | 396 | #define HDSPM_version2 (1<<2) |
397 | 397 | ||
@@ -936,7 +936,7 @@ struct hdspm { | |||
936 | struct snd_kcontrol *playback_mixer_ctls[HDSPM_MAX_CHANNELS]; | 936 | struct snd_kcontrol *playback_mixer_ctls[HDSPM_MAX_CHANNELS]; |
937 | /* but input to much, so not used */ | 937 | /* but input to much, so not used */ |
938 | struct snd_kcontrol *input_mixer_ctls[HDSPM_MAX_CHANNELS]; | 938 | struct snd_kcontrol *input_mixer_ctls[HDSPM_MAX_CHANNELS]; |
939 | /* full mixer accessable over mixer ioctl or hwdep-device */ | 939 | /* full mixer accessible over mixer ioctl or hwdep-device */ |
940 | struct hdspm_mixer *mixer; | 940 | struct hdspm_mixer *mixer; |
941 | 941 | ||
942 | struct hdspm_tco *tco; /* NULL if no TCO detected */ | 942 | struct hdspm_tco *tco; /* NULL if no TCO detected */ |
diff --git a/sound/pci/sis7019.c b/sound/pci/sis7019.c index 1b8f6742b5fa..2b5c7a95ae1f 100644 --- a/sound/pci/sis7019.c +++ b/sound/pci/sis7019.c | |||
@@ -308,7 +308,7 @@ static irqreturn_t sis_interrupt(int irq, void *dev) | |||
308 | u32 intr, status; | 308 | u32 intr, status; |
309 | 309 | ||
310 | /* We only use the DMA interrupts, and we don't enable any other | 310 | /* We only use the DMA interrupts, and we don't enable any other |
311 | * source of interrupts. But, it is possible to see an interupt | 311 | * source of interrupts. But, it is possible to see an interrupt |
312 | * status that didn't actually interrupt us, so eliminate anything | 312 | * status that didn't actually interrupt us, so eliminate anything |
313 | * we're not expecting to avoid falsely claiming an IRQ, and an | 313 | * we're not expecting to avoid falsely claiming an IRQ, and an |
314 | * ensuing endless loop. | 314 | * ensuing endless loop. |
@@ -773,7 +773,7 @@ static void sis_prepare_timing_voice(struct voice *voice, | |||
773 | vperiod = 0; | 773 | vperiod = 0; |
774 | } | 774 | } |
775 | 775 | ||
776 | /* The interrupt handler implements the timing syncronization, so | 776 | /* The interrupt handler implements the timing synchronization, so |
777 | * setup its state. | 777 | * setup its state. |
778 | */ | 778 | */ |
779 | timing->flags |= VOICE_SYNC_TIMING; | 779 | timing->flags |= VOICE_SYNC_TIMING; |
@@ -1139,7 +1139,7 @@ static int sis_chip_init(struct sis7019 *sis) | |||
1139 | */ | 1139 | */ |
1140 | outl(SIS_DMA_CSR_PCI_SETTINGS, io + SIS_DMA_CSR); | 1140 | outl(SIS_DMA_CSR_PCI_SETTINGS, io + SIS_DMA_CSR); |
1141 | 1141 | ||
1142 | /* Reset the syncronization groups for all of the channels | 1142 | /* Reset the synchronization groups for all of the channels |
1143 | * to be asyncronous. If we start doing SPDIF or 5.1 sound, etc. | 1143 | * to be asyncronous. If we start doing SPDIF or 5.1 sound, etc. |
1144 | * we'll need to change how we handle these. Until then, we just | 1144 | * we'll need to change how we handle these. Until then, we just |
1145 | * assign sub-mixer 0 to all playback channels, and avoid any | 1145 | * assign sub-mixer 0 to all playback channels, and avoid any |