- 06 6月, 2011 3 次提交
-
-
由 Stephen Warren 提交于
The SPDIF output controls apply to converter widgets. A future change will create a PCM device per pin widget, and hence a set of SPDIF output controls per pin widget, for certain HDMI codecs. To support this, we need the ability to virtualize the SPDIF output controls. Specifically: * Controls can be "unassigned" from real hardware when a converter is not used for the PCM the control was created for. * Control puts only write to hardware when they are assigned. * Controls can be "assigned" to real hardware when a converter is picked to support output for a particular PCM. * When a converter is assigned, the hardware is updated to the cached configuration. Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Stephen Warren 提交于
Currently, the data that backs the kcontrols created by snd_hda_create_spdif_out_ctls is stored directly in struct hda_codec. When multiple sets of these controls are stored, they will all manipulate the same data, causing confusion. Instead, store an array of this data, one copy per converter, to isolate the controls. This patch would cause a behavioural change in the case where snd_hda_create_spdif_out_ctls was called multiple times for a single codec. As best I can tell, this is never the case for any codec. This will be relevant at least for some HDMI audio codecs, such as the NVIDIA GeForce 520 and Intel Ibex Peak. A future change will modify the driver's handling of those codecs to create multiple PCMs per codec. Note that this issue isn't affected by whether one creates a PCM-per-converter or PCM-per-pin; there are multiple of both within a single codec in both of those codecs. Note that those codecs don't currently create multiple PCMs for the codec due to the default HW mux state of all pins being to point at the same converter, hence there is only a single converter routed to any pin, and hence only a single PCM. Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Stephen Warren 提交于
It's perfectly valid for an ELD to contain no SADs. This simply means that only basic audio is supoprted. In this case, we still want to limit a PCM's capabilities based on the ELD. History: * Originally, ELD application was limited solely by sad_count>0, which was used to check that an ELD had been read. * Later, eld_valid was added to the conditions to satisfy. This change removes the original sad_count>0 check, which when squashed with the above two changes ends up replacing if (sad_count) with if (eld_valid). Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 03 6月, 2011 4 次提交
-
-
由 Joe Perches 提交于
Use the normal include style. Signed-off-by: NJoe Perches <joe@perches.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Dan Carpenter 提交于
In the original code if auto detect failed and tea575x_tuner == 4 then we copy bogus information to chip->tea.card. I've changed the autodetect code to cleanup and return -ENODEV on error instead. Signed-off-by: NDan Carpenter <error27@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Raymond Yau 提交于
Check whether the pin supports EAPD in ad198x_power_eapd_write. Signed-off-by: NRaymond Yau <superquad.vortex2@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
In ad198x_power_eapd(), wrong pin NIDs are used for controlling EAPD for HP and Front outputs of AD1988/AD1989. These are actually same with the ones for AD1984 & co, port-A is 0x11 and port-D 0x12. Reported-by: NRaymond Yau <superquad.vortex2@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 28 5月, 2011 1 次提交
-
-
由 Linus Torvalds 提交于
Commit 9477c58e ("ALSA: hda - Reorganize controller quriks with bit flags") changed the driver type compares into various quirk bits. However, the check for AZX_DCAPS_NO_TCSEL got reverted: instead of clearing TCSEL for chipsets that have that standard capability, it cleared then when the NO_TCSEL bit was set. This can lead to noise and repeated sounds - a weird "echo" behavior. As the comment just above says: "Ensuring these bits are 0 clears playback static on some HD Audio codecs". Which is definitely true at least on my Core i5 Westmere system. Cc: Takashi Iwai <tiwai@suse.de> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 26 5月, 2011 3 次提交
-
-
由 Takashi Iwai 提交于
Introduce bit-flags indicating the necessary controller quirks, and set them in pci driver_data field. This simplifies the checks in the driver code and avoids the pci-id lookup in different places. Also, this patch adds the PCI ID entry for AMD Hudson. AMD Hudson requires a similar workaround like ATI SB while other generic ATI and AMD controllers don't need but some ATI-HDMI quirks. So, we need a different entry for Hudson. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Fixed the wrong usage of snd_printdd() for debug prints of input entries. It should be snd_printd() like others. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Stephen Warren 提交于
The recently introduced NVIDIA GeForce GT 520 has 4 pins within a single codec. Bump MAX_HDMI_PINS to accomodate this. Also bump MAX_HDMI_CVTS to match it; this might be needed later too. Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 25 5月, 2011 3 次提交
-
-
由 Takashi Iwai 提交于
The new auto-parser fixes problems on Lenovo G555. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Stephen Warren 提交于
This change unifies the initial handling of a pin's state with the code to update a pin's state after a hotplug (unsolicited response) event. The initial probing, and all updates, are now routed through hdmi_present_sense. The stored PD and ELDV status is now always derived from GetPinSense verb execution, and not from the data in the unsolicited response. This means: a) The WAR for NVIDIA codec's UR.PD values ("old_pin_detect") can be removed, since this only affected the no-longer-used unsolicited response payload. b) In turn, this means that most NVIDIA codecs can simply use patch_generic_hdmi instead of having a custom variant just to set old_pin_detect. c) When PD && ELDV becomes true, no extra verbs are executed, because the GetPinSense that was previously executed by snd_hdmi_get_eld (really, hdmi_eld_valid) has simply moved into hdmi_present_sense. d) When PD && ELDV becomes false, there is a single extra GetPinSense verb executed for codecs where old_pin_detect wasn't set, i.e. some NVIDIA, and all ATI/AMD and Intel codecs. I doubt this will be a performance issue. The new unified code in hdmi_present_sense also ensures that eld->eld_valid is not set unless eld->monitor_present is also set. This protects against potential invalid combinations of PD and ELDV received from HW, and transitively from a graphics driver. Also, print the derived PD/ELDV bits from hdmi_present_sense so the kernel log always displays the actual state stored, which will differ from the values in the unsolicited response for NVIDIA HW where old_pin_detect was previously set. Finally, a couple of small tweaks originally by Takashi: * Clear the ELD content to zero before reading it, so that if it's not read (i.e. when !(PD && ELDV)) it's in a known state. * Don't show ELD fields in /proc ELD files when the ELD isn't valid. The only possibility I can see for regression here is a codec where the GetPinSense verb returns incorrect data. However, we're already exposed to that, since that data is used (a) from hdmi_add_pin to set up the initial pin state, and (b) within snd_hda_input_jack_report to query a pin's presence value. As such, I don't believe any HW has bugs here. Includes-changes-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NStephen Warren <swarren@nvidia.com> Acked-by: NWu Fengguang <fengguang.wu@intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Tony Vroon 提交于
The microphone input on the back panel (pink connector) stopped operating correctly after an upgrade from 2.6.35 to 2.6.38; the actual problem manifests itself as a lack of microphone bias voltage (VREF_HIZ) on node 0x17. With AD1988_6STACK_DIG the maximum bias voltage (VREF_80) is applied and the headset operates correctly. Signed-off-by: NTony Vroon <tony@linx.net> Tested-by: NDoug Redlich <pbrigade@nxltech.net> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 24 5月, 2011 3 次提交
-
-
由 Takashi Iwai 提交于
Fix some logic failures in auto-mute handling in Conexant auto-parser. Also, modify codes to be a bit more understandable. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Fix the initialization of capture-source route when auto-mic is enabled for Conexant auto-parser. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Fix the auto-mic detection for Cxt auto-parser due to off-by-one missing initialization. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 23 5月, 2011 1 次提交
-
-
由 David Henningsson 提交于
Add model=asus quirk for Lenovo Ideapad U350 to make internal mic work correctly. Cc: stable@kernel.org (2.6.38+) BugLink: http://bugs.launchpad.net/bugs/751681Reported-by: NKent Baxley <kent.baxley@canonical.com> Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 20 5月, 2011 8 次提交
-
-
由 Takashi Iwai 提交于
ATI and AMD chipsets seem not providing the proper position-buffer information, and it also doesn't provide FIFO register required by VIACOMBO fix. It's better to use LPIB for these. Reported-by: NDavid Henningsson <david.henningsson@canonical.com> Cc: <stable@kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
This reverts commit 447ee6a7. The workaround introduced by this commit seems bogus. The AMD chipsets don't provide proper position-buffer nor FIFO value required by VIACOMBO fix. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Wu Fengguang 提交于
Signed-off-by: NWu Fengguang <fengguang.wu@intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Raymond Yau 提交于
As the "Wave", "Wave Surround" or "Front" Playback Volume must be changed to 70% (i.e. -12 dB) so that distortion won't occur when increase Bass and Treble from 50% to 100%, so the maximum gain in Bass and Treble are +12 dB. Signed-off-by: NRaymond Yau <superquad.vortex2@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Raymond Yau 提交于
Afer commit aa202455 , none of realtek codec has hardware volume control "PCM Playback Volume" and "PCM Playback Switch". As Virtual Master require all slave controls must have same number of step and dB range. Signed-off-by: NRaymond Yau <superquad.vortex2@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Adrian Wilkins 提交于
Compare pin type enum to the pin type and not the array index. Fixes bug#0005368. Signed-off-by: NAdrian Wilkins <adrian.wilkins@nhs.net> Cc: <stable@kernel.org> (2.6.37 and later) Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Madis Janson 提交于
This fixes the input layer beep not working on some EeePC 1000 models by adding the subsystem id into whitelist. Otherwise the corresponding ALSA mixer is not enabled and stays muted, resulting in no console beep. Signed-off-by: NMadis Janson <madis@cyber.ee> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Dmitry Eremin-Solenikov 提交于
AMD 8111 southbridges contain a controller for MC'97 modem. Enable support for this controller in intel8x0m driver. Signed-off-by: NDmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 19 5月, 2011 1 次提交
-
-
由 David Henningsson 提交于
Just as for headphones and microphone jacks, this patch adds reporting of HDMI jack status through the input layer. Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 18 5月, 2011 4 次提交
-
-
由 Kailang Yang 提交于
Change power control register to default. Signed-off-by: NKailang Yang <kailang@realtek.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Kailang Yang 提交于
Compatible with ALC269. Signed-off-by: NKailang Yang <kailang@realtek.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Kailang Yang 提交于
These are compatible with ALC882 codec. Signed-off-by: NKailang Yang <kailang@realtek.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
AMD Hudson controllers give noisy outputs when the buffer data is rewritten on the fly as PulseAudio does. This seems fixed by the snoop bit enabled just like ATI chipset. Also, disable 64bit DMA as now, to be sure. We can revisit this later. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 17 5月, 2011 9 次提交
-
-
由 Takashi Iwai 提交于
Similar process like in patch_realtek.c and patch_sigmatel.c. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
When a docking-station has a line-in jack, we can handle it also as a detectable jack just like mic-in. This will improve the usability of HP laptops with a docking-station. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
In addition to the normal mic jack, the mic (or line-in) jack on the docking-station is checked also as a candidate for auto-selection. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Also replace more open-codes with this function. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
In addition to the normal external mic jack, check also the mic jack on a docking-station as well, and select the input source appropriately. The similar functionality was already implemented in patch_sigmatel.c. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
spec->automute_lines shouldn't be set unless the line-detection is available. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Replace the open-code with get_wcaps_type() macro. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Replaced the open-code with the new helper function. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Implement the same functionality as Realtek's auto-mute mode control. Now Conexant auto-parser can also mutes line-out and provide the enum control for different automute behavior. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-