summaryrefslogtreecommitdiffstats
path: root/sound/pci (follow)
Commit message (Collapse)AuthorAgeFilesLines
* sound: fix drivers needing module.h not moduleparam.hPaul Gortmaker2011-11-0158-58/+58
| | | | | | | | | The implicit presence of module.h lured several users into incorrectly thinking that they only needed/used modparam.h but once we clean up the module.h presence, these will show up as build failures, so fix 'em now. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
* Merge branch 'topic/hda' into for-linusTakashi Iwai2011-10-273-29/+88
|\
| * ALSA: hda - Fix ADC input-amp handling for Cx20549 codecTakashi Iwai2011-10-271-2/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It seems that Conexant CX20549 chip handle only a single input-amp even though the audio-input widget has multiple sources. This has been never clear, and I implemented in the current way based on the debug information I got at the early time -- the device reacts individual input-amp values for different sources. This is true for another Conexant codec, but it's not applied to CX20549 actually. This patch changes the auto-parser code to handle a single input-amp per audio-in widget for CX20549. After applying this, you'll see only a single "Capture" volume control instead of separate "Mic" or "Line" captures when the device is set up to use a single ADC. We haven't tested 20551 and 20561 codecs yet. If these show the similar behavior like 20549, they need to set spec->single_adc_amp=1, too. Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Keep EAPD turned on for old Conexant chipsTakashi Iwai2011-10-271-21/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | In the old Conexant chips (5045, 5047, 5051 and 5066), a single EAPD may handle both headphone and speaker outputs while it's assigned only to one of them. Turning off dynamically leads to the unexpected silent output in such a configuration with the auto-mute function. Since it's difficult to know how the EAPD is handled in the actual h/w implementation, better to keep EAPD on while running for such codecs. Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda/realtek - Fix missing volume controls with ALC260Takashi Iwai2011-10-272-6/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ALC260 has multiple mixer widgets connected to the shared DAC, but the driver currently doesn't check this possibility and ignores when the DAC is shared with others. This resulted in the silent output from some routes because of lack of the amp setup. This patch adds the workaround for it by checking the route even with the shared DAC, but also checking the conflict with the existing control for the very same widget NID. Reference: https://bugzilla.novell.com/show_bug.cgi?id=726812 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/remove-irqf_disable' into for-linusTakashi Iwai2011-10-261-2/+2
|\ \
| * | sound: irq: Remove IRQF_DISABLEDYong Zhang2011-09-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit [e58aa3d2: genirq: Run irq handlers with interrupts disabled], We run all interrupt handlers with interrupts disabled and we even check and yell when an interrupt handler returns with interrupts enabled (see commit [b738a50a: genirq: Warn when handler enables interrupts]). So now this flag is a NOOP and can be removed. Signed-off-by: Yong Zhang <yong.zhang0@gmail.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'topic/misc' into for-linusTakashi Iwai2011-10-2622-121/+179
|\ \ \ | |_|/ |/| |
| * | ALSA: hdspm - cleanup __user tags in ioctl()Dan Carpenter2011-09-231-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the code cleaner and silences a Sparse complaint: sound/pci/rme9652/hdspm.c:6341:23: warning: incorrect type in assignment (incompatible argument 4 (different address spaces)) sound/pci/rme9652/hdspm.c:6341:23: expected int ( *ioctl )( ... ) sound/pci/rme9652/hdspm.c:6341:23: got int ( static [toplevel] *<noident> )( ... ) sound/pci/rme9652/hdspm.c:6102:44: warning: dereference of noderef expression sound/pci/rme9652/hdspm.c:6225:50: warning: dereference of noderef expression sound/pci/rme9652/hdspm.c:6264:50: warning: dereference of noderef expression sound/pci/rme9652/hdspm.c:6283:50: warning: dereference of noderef expression sound/pci/rme9652/hdspm.c:6289:59: warning: dereference of noderef expression Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hdspm - potential info leak in snd_hdspm_hwdep_ioctl()Dan Carpenter2011-09-231-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Smatch has a new check for Rosenberg type information leaks where structs are copied to the user with uninitialized stack data in them. The status struct has a hole in it, and on some paths not all the members were initialized. struct hdspm_status { unsigned char card_type; /* 0 1 */ /* XXX 3 bytes hole, try to pack */ enum hdspm_syncsource autosync_source; /* 4 4 */ long long unsigned int card_clock; /* 8 8 */ The hdspm_version struct had holes in it as well. struct hdspm_version { unsigned char card_type; /* 0 1 */ char cardname[20]; /* 1 20 */ /* XXX 3 bytes hole, try to pack */ unsigned int serial; /* 24 4 */ short unsigned int firmware_rev; /* 28 2 */ /* XXX 2 bytes hole, try to pack */ int addons; /* 32 4 */ Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: fm801 - Clean up redundant reference to snd_fm801_tea575x_gpios[]Takashi Iwai2011-09-231-7/+8
| | | | | | | | | | | | | | | | | | Use macro to improve readability. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | Merge branch 'fix/misc' into topic/miscTakashi Iwai2011-09-223-9/+16
| |\ \ | | |/ | |/|
| * | ALSA: via82xx: allow to disable the SRCClemens Ladisch2011-09-201-0/+8
| | | | | | | | | | | | | | | | | | | | | Add the PCM rule to allow disabling the PCM playback SRC. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: emu10k1: allow to disable the SRCClemens Ladisch2011-09-201-0/+5
| | | | | | | | | | | | | | | | | | | | | Add the PCM rule to allow disabling the PCM playback SRC. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: ymfpci: allow to disable the SRCClemens Ladisch2011-09-201-0/+6
| | | | | | | | | | | | | | | | | | | | | Add the PCM rules to allow disabling the PCM playback and capture SRCs. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: ymfpci: fix PCM open error handlingClemens Ladisch2011-09-201-6/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The installation of the minimum period size constraint in the PCM open callbacks was not checked for errors. Add this check, and move the call to the beginning of the function to avoid having to do any cleanups in the error case. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | Merge branch 'fix/misc' into topic/miscTakashi Iwai2011-09-165-49/+83
| |\ \
| * | | ALSA: mpu401: clean up interrupt specificationClemens Ladisch2011-09-1415-34/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The semantics of snd_mpu401_uart_new()'s interrupt parameters are somewhat counterintuitive: To prevent the function from allocating its own interrupt, either the irq number must be invalid, or the irq_flags parameter must be zero. At the same time, the irq parameter being invalid specifies that the mpu401 code has to work without an interrupt allocated by the caller. This implies that, if there is an interrupt and it is allocated by the caller, the irq parameter must be set to a valid-looking number which then isn't actually used. With the removal of IRQF_DISABLED, zero becomes a valid irq_flags value, which forces us to handle the parameters differently. This patch introduces a new flag MPU401_INFO_IRQ_HOOK for when the device interrupt is handled by the caller, and makes the allocation of the interrupt to depend only on the irq parameter. As suggested by Takashi, the irq_flags parameter was dropped because, when used, it had the constant value IRQF_DISABLED. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: ymfpci: add "Playback" to FM Legacy Volume controlRaymond Yau2011-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | YDSXGR_LEGACYOUTVOL is a Playback Volume control for OPL3 FM Synth. Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com> Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: ctxfi: Bump playback substreams to 256Maarten Lankhorst2011-08-243-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are references in the code to 256 sources, so I tested it with 256 aplays, of which the first and last with real data and the rest playing /dev/zero . Also increase amount of page tables, so the default aplay size works. Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | Merge branch 'fix/misc' into topic/miscTakashi Iwai2011-08-193-18/+21
| |\ \ \
| * | | | ALSA: hdspm - Simplify with snd_pcm_hw_constraint_pow2()Takashi Iwai2011-08-151-51/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring the code using snd_pcm_hw_constraint_pow2() helper function. Tested-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hdspm - Add missing KNOT flag for AES32 rate restrictionTakashi Iwai2011-08-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AES32 supports the non-standard 128kHZ, and this is enabled only when SNDRV_PCM_RATE_KNOT is set in hw.rates field. Tested-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hdspm - Correct max buffer size limitTakashi Iwai2011-08-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some modesl can support up to 8192 frames per period. Tested-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: virtuoso: fix Essence ST(X) S/PDIF inputClemens Ladisch2011-08-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On the Xonar Essence ST/STX, the connector J14 has been confirmed to be a digital input, so enable it in the driver. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hdspm - Enable 32 samples/period on RME RayDAT/AIOAdrian Knoth2011-08-151-5/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Newer RME cards like RayDAT and AIO support 32 samples per period. This value is encoded as {1,1,1} in the HDSP_LatencyMask bits in the control register. Since {1,1,1} is also the representation for 8192 samples/period on older RME cards, we have to special case 32 samples and 32768 bytes according to the actual card. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hdspm - Introduce hdspm_get_latency() to harmonize latency calculationAdrian Knoth2011-08-151-5/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, hdspm_decode_latency is called several times, violating the DRY principle. Given that we need to distinguish between old and new cards when decoding the latency bits in the control register, introduce hdspm_get_latency() to provide the required functionality. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hdspm - Reorder period sizes according to their bit representationAdrian Knoth2011-08-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On newer RME cards like RayDAT and AIO, the 8192 samples per period size are no longer supported. Instead, setting all three bits of HDSP_LatencyMask to one ({1,1,1}) now corresponds to 32 samples per period. To make this more obvious to future developers, let's reorder the array according to their bit representation, starting at 64 ({0,0,0}) up to 4096 ({1,1,0}) and finally 32 ({1,1,1}). Note that this patch doesn't change semantics. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hdspm - Set period_bytes_min to 32 * 4 for new RME cardsAdrian Knoth2011-08-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On newer RME cards like RayDAT and AIO, the lower bound is 32 samples per period in contrast to 64 samples as seen on older cards. We hence lower period_bytes_min to 32 * 4. Four bytes per sample. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hdspm - Allow for 8192 period size on RME MADI and AES cardsAdrian Knoth2011-08-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Older RME cards like MADI and AES support period sizes of 8192 samples. The original hdspm driver already featured this value, apparently, it was lost during the rewrite. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | ALSA: hda - Fix pin-config for ASUS W90VTakashi Iwai2011-10-261-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The association numbers of surround/CLFE speaker pins aren't correctly mapped by the auto-parser. This patch fixes the CLFE speaker pin to the right assoc value (from 3 to 1). Tested-by: Nika Topolchanskaya <nanodesuu@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | ALSA: hda - Fix surround/CLFE headphone and speaker pins orderTakashi Iwai2011-10-261-15/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When 5.1 or more headphone or speaker pins are provided, the parser still takes as is without fixing the order of channel mapping, which leads in the unexpected strange channel order by surround outputs. This patch fixes the issue by applying the same fix-up not only to line_out_pins[] but also hp_pins[] and speaker_pins[]. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | ALSA: HDA: Add new revision for ALC662David Henningsson2011-10-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The revision 0x100300 was found for ALC662. It seems to work well with patch_alc662. Cc: stable@kernel.org BugLink: http://bugs.launchpad.net/bugs/877373 Tested-by: Shengyao Xue <Shengyao.xue@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Acked-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | ALSA: hda/realtek - Fix DAC assignments of multiple speakersTakashi Iwai2011-10-211-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a device has multiple speakers and still has the auto-mute support, the driver copies line_outs[] to speaker_outs[]. And then it tries to assign DACs for both. This ended up with the assignment only to the primary DAC to all speakers. This patch fixes the situation by checking the duplicated LO/SPK case appropriately. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2011-10-192-0/+2
|\ \ \ \ \
| * | | | | ALSA: HDA: conexant support for Lenovo T520/W520Daniel Suchy2011-10-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is patch for Conexant codec of Intel HDA driver, adding new quirk for Lenovo Thinkpad T520 and W520. Conexant autodetection works fine for T520 (similar subsystem ID is used also in W520 model) and detects more mixer features compared to generic (fallback) Lenovo quirk with hardcoded options in Conexant codec. Patch was activelly tested with Linux 3.0.4, 3.0.6 and 3.0.7 without any problems. Signed-off-by: Daniel Suchy <danny@danysek.cz> Cc: <stable@kernel.org> [3.0+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | | ALSA: hda - Add position_fix quirk for Dell Inspiron 1010Takashi Iwai2011-10-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous fix for the position-buffer check gives yet another regression on a Dell laptop. The safest fix right now is to add a static quirk for this device (and better to apply it for stable kernels too). Reported-by: Éric Piel <Eric.Piel@tremplin-utc.net> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | | ALSA: hda/realtek - Cache COEF 0 valueTakashi Iwai2011-10-171-20/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The COEF #0 value represents a sort of device id, so it's supposedly constant while operation. Better to use the cached value instead of reading it at each time from the performance POV. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | | ALSA: hda/realtek - Clean up codec renamesTakashi Iwai2011-10-171-150/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a static table for detecting the codec renames. Also clean up the error paths in each patch_*() function. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | | ALSA: hda/realtek - Use alc_codec_rename()Takashi Iwai2011-10-171-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaced with alc_codec_rename() in all possible places. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | | ALSA: hda - ALC888S-VC remark to ALC886Kailang Yang2011-10-171-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | | ALSA: hda/realtek - Check the error from alc_codec_rename()Takashi Iwai2011-10-171-14/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Should be a rare case, but... Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | | ALSA: HDA: Fixup Realtek headphone pin initializationDavid Henningsson2011-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This typo caused headphone pins not to be initialized correctly. BugLink: https://bugs.launchpad.net/bugs/871582 Reported-by: Effenberg Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | | ALSA: hda - Remove bad code for IDT 92HD83 family patchCharles Chin2011-10-131-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The purpose of this patch is to remove a section of "bad" code that assigns the last DAC to ports E or F in order to support notebooks with docking in earlier days, around ALSA 1.0.19 - 21. This is not necessary now and actually breaks some configurations that use these ports as other devices. This have been tested on several different configurations to make sure that it is working for different combinations. Signed-off-by: Charles Chin <Charles.Chin@idt.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | | ALSA: hda - Distinguish each substream for better sticky assignmentTakashi Iwai2011-10-061-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit ef18beded8ddbaafdf4914bab209f77e60ae3a18 introduced a mechanism to assign the previously used slot for the next reopen of a PCM stream. But the PCM device number isn't always unique (it may have multiple substreams), and also the code doesn't check the stream direction, thus both playback and capture streams share the same device number. For avoiding this conflict, make a unique key for each substream and store/check this value at reopening. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2011-10-061-4/+5
|\| | | | |
| * | | | | ALSA: hda - Fix a regression of the position-buffer checkTakashi Iwai2011-09-301-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit a810364a0424c297242c6c66071a42f7675a5568 ALSA: hda - Handle -1 as invalid position, too caused a regression on some machines that require the position-buffer instead of LPIB, e.g. resulting in noises with mic recording with PulseAudio. This patch fixes the detection by delaying the test at the timing as same as 3.0, i.e. doing the position check only when requested in azx_position_ok(). Reported-and-tested-by: Rocko Requin <rockorequin@hotmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | | ALSA: hda/realtek - Choose more cleverly the primary outputsTakashi Iwai2011-10-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the speaker outputs are more than the headphone outputs, it implies that the system has surround speakers while the headphones are only for monitoring the front. In such a case, it's better to put speakers as the primary outputs so that the driver can build up and keep the surround setup. Otherwise the system will pick up the headphone as primary, and offers less channels than the speakers do support. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | | ALSA: hda - Moved snd_print_pcm_rates() back into hda_proc.cTakashi Iwai2011-10-064-30/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since hda_proc.c is now the only user of snd_print_pcm_rates(), better to put it back locally to hda_proc.c and revert to the old style. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | | ALSA: hdmi: fix printout of SAD sampling ratesPierre-Louis Bossart2011-10-062-3/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SAD sampling rate information reported in /proc/asound/cardX/eldX is incorrect due to a mismatch between HDA and HDMI frequencies. Add new routine to provide relevant values. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>