summaryrefslogtreecommitdiff
path: root/sound/pci
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'modsplit-Oct31_2011' of ↵Linus Torvalds2011-11-0698-58/+99
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits) Revert "tracing: Include module.h in define_trace.h" irq: don't put module.h into irq.h for tracking irqgen modules. bluetooth: macroize two small inlines to avoid module.h ip_vs.h: fix implicit use of module_get/module_put from module.h nf_conntrack.h: fix up fallout from implicit moduleparam.h presence include: replace linux/module.h with "struct module" wherever possible include: convert various register fcns to macros to avoid include chaining crypto.h: remove unused crypto_tfm_alg_modname() inline uwb.h: fix implicit use of asm/page.h for PAGE_SIZE pm_runtime.h: explicitly requires notifier.h linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h miscdevice.h: fix up implicit use of lists and types stop_machine.h: fix implicit use of smp.h for smp_processor_id of: fix implicit use of errno.h in include/linux/of.h of_platform.h: delete needless include <linux/module.h> acpi: remove module.h include from platform/aclinux.h miscdevice.h: delete unnecessary inclusion of module.h device_cgroup.h: delete needless include <linux/module.h> net: sch_generic remove redundant use of <linux/module.h> net: inet_timewait_sock doesnt need <linux/module.h> ... Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in - drivers/media/dvb/frontends/dibx000_common.c - drivers/media/video/{mt9m111.c,ov6650.c} - drivers/mfd/ab3550-core.c - include/linux/dmaengine.h
| * sound: Add export.h for THIS_MODULE/EXPORT_SYMBOL where neededPaul Gortmaker2011-10-3112-0/+12
| | | | | | | | | | | | | | | | These aren't modules, but they do make use of these macros, so they will need export.h to get that definition. Previously, they got it via the implicit module.h inclusion. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
| * sound: Add module.h to the previously silent sound usersPaul Gortmaker2011-10-3128-0/+29
| | | | | | | | | | | | | | | | Lots of sound drivers were getting module.h via the implicit presence of it in <linux/device.h> but we are going to clean that up. So fix up those users now. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
| * sound: fix drivers needing module.h not moduleparam.hPaul Gortmaker2011-10-3158-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>
* | ALSA: hda - Revert the check of NO_PRESENCE pincfg default bitTakashi Iwai2011-11-061-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The implementation on commit [08a1f5eb: ALSA: hda - Check NO_PRESENCE pincfg default bit] seems like a mis-interpretation of specification. The spec gives the reversed bit definition. But, following the spec also causes to change so many existing device configurations, thus we can't change it so easily for now. For 3.2-rc1, it's safer to revert this check (actually this patch comments out the code). We may re-introduced the fixed version once after the wider test-case coverages are done. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix a regression for DMA-position check with CA0110Takashi Iwai2011-11-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | The regression-fix in 3.1 for the check of DMA-position validity caused yet another regression for CA0110. As usual, this hardware seems working only with LPIB properly. Adding the appropriate driver-caps bit to force LPIB fixes the problem. Reported-and-tested-by: Andres Freund <andres@anarazel.de> Cc: <stable@kernel.org> [v3.1] Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix silent output regression with ALC861Takashi Iwai2011-11-061-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | The 3.1 kernel has a regression for ALC861 codec where no sound output is heard with the default setup. It's because the amps in DACs aren't properly unmuted while the output mixers are assigned only to pins. This patch fixes the missing initialization of DACs when no mixer is assigned to them. Tested-by: Andrea Iob <andrea_iob@yahoo.it> Cc: <stable@kernel.org> [v3.1+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda/realtek - Skip invalid digital out pinsTakashi Iwai2011-11-031-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | Some BIOS report invalid pins as digital output pins. The driver checks the connection but it doesn't do it fully correctly, and it leaves some undefined value as the audio-out widget, which makes the driver spewing warnings. This patch fixes the issue. Reference: https://bugzilla.novell.com/show_bug.cgi?id=727348 Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda/sigmatel - Automatically retrieve digital I/O widgetsCharles Chin2011-11-031-13/+26
| | | | | | | | | | | | | | | | Revise stac92xx_parse_auto_config to automatically scan for digital input and output converters. Signed-off-by: Charles Chin <Charles.Chin@idt.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove unused variablesTakashi Iwai2011-11-023-12/+1
| | | | | | | | | | | | Just clean-up what GCC caught. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda/realtek - Don't create alt-stream for capture when unnecessaryTakashi Iwai2011-11-021-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When the driver finds multiple ADCs, it tries to create an alternative capture PCM stream. However, these secondary ADCs might be useless or in uncontrolled paths in some cases, e.g. when auto-mic or dynamic ADC-switching is enabled. Also, when only a single capture source is available, the multi-streams don't make sense, too. With this patch, the driver checks such condition and skips the alt stream appropriately. Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add support for 92HD65 / 92HD66 family of codecsCharles Chin2011-11-021-1/+17
| | | | | | | | | | | | | | | | | | These codecs have SPDIF-in, which is new to the 92HD83xxx compatible families, so a bit of logic is added to support them. Signed-off-by: Charles Chin <Charles.Chin@idt.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Disable power-widget control for IDT 92HD83/93 as defaultCharles Chin2011-11-021-19/+1
| | | | | | | | | | | | | | | | | | The power-widget control in patch_stac92hd83xxx() never worked properly, thus it's safer to turn it off as default for now. Signed-off-by: Charles Chin <Charles.Chin@idt.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Check NO_PRESENCE pincfg default bitTakashi Iwai2011-11-021-0/+4
| | | | | | | | | | | | | | | | | | | | HD-audio spec defines a bit in pin default configuration for indicating that the pin isn't used for jack-detection although the codec is capable of it. Better to check this bit as well in jack_is_detectable() helper function. Reported-by: Raymond Yau <superquad.vortex2@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: intel8x0 - Fix inclusion of kvm_para.hTakashi Iwai2011-11-011-1/+1
| | | | | | | | | | | | <linux/kvm_para.h> should be included instead of <asm/...> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda_hwdep: Fix possible buffer overflowAlexander Stein2011-11-011-2/+0
| | | | | | | | | | | | | | | | | | If a line in the firmware file is larger than the given buffer size (and so the firmware file size), size is set to a value larger than the actual buffer size. This results in an overflow in the buffer passed. Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: intel8x0: Improve performance in virtual environmentKonstantin Ozerkov2011-10-311-2/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | v3: detection code is x86 and KVM specific, hide it under ifdef v2: add detection for virtual environments (KVM and Parallels) This patch is intended to improve performance in virtualized environments like Parallels Desktop or KVM/VirtualBox/QEMU (virtual ICH/AC97 audio). I/O access is very time-expensive operation in virtual world: VCPU can be rescheduled and in the worst case we get more than 10ms delay on each I/O access. In the virtual environment loop exit rule (old_civ == current_civ && old_picb == current_picb) is never satisfied, because old_picb is never the same as current_picb due to delay inspired by reading current_civ. As a result loop ended by timeout and we get 10x more I/O operations. Experimental data from Prallels Desktop 7, RHEL6 guest (I/O ops per second): Original code: In Port Counter Callback f014 41550 fffff00000179d00 ac97_bm_read_civ+0x000 f018 41387 fffff0000017a580 ac97_bm_read_picb+0x000 With patch: In Port Counter Callback f014 4090 fffff00000179d00 ac97_bm_read_civ+0x000 f018 1964 fffff0000017a580 ac97_bm_read_picb+0x000 Signed-off-by: Konstantin Ozerkov <kozerkov@parallels.com> Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hdspm - Enable all firmware ranges for PCI MADI/AES cardsAdrian Knoth2011-10-311-23/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | From the Windows INF file, we know the firmware ranges for all RME cards. For PCIe, a single revision ID per device (RayDAT, MADI, AIO, AES) is used. Contrary, the older PCI versions use ranges, that is, one revision ID per firmware version. Instead of listing all possible revisions individually, match the range. This commit enables all MADI and AES PCI versions ever shipped. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hdsp - Correct HDSP_VERSION_BIT constant, thus partly fixing RPM detectionAdrian Knoth2011-10-311-1/+1
| | | | | | | | | | | | | | | | HDSP_VERSION_BIT has to be ORed with HDSP_S_LOAD. This fixes the detection of at least some RME RPM boxes. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hdspm - Fix MADI channel format in the status ioctlAdrian Knoth2011-10-311-1/+1
|/ | | | | | | | | | SNDRV_HDSPM_IOCTL_GET_STATUS is supposed to query the current card status, so we have to return what we receive on the MADI wire (RX), not what we transmit (TX) to others. The latter is a config item to be queried via SNDRV_HDSPM_IOCTL_GET_CONFIG. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* 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>