Detailed HDA changes v1.0.23 v1.0.24
Jump to navigation
Jump to search
Detailed HDA changelog between 1.0.23 and 1.0.24 releases
alsa-driver
HDA Codec driver
- - Changed build-stub for HD-audio HDMI parsers
- - ALSA: HDA: Fix automute on Thinkpad L412/L512
- BugLink: http://bugs.launchpad.net/bugs/707902
- More Thinkpad machines with invalid SKU found, that disables
- automute between speakers and headphones on these machines.
- - ALSA: HDA: cxt5066 - Use asus model for Asus U50F, select correct SPDIF output
- Changed the Asus A52J quirk to use the asus model instead of the
- hp_laptop model, which fixes the external mic input. Added an Asus
- U50F quirk to use the asus model. For the cxt5066 codecs, added
- checking of the digital output pins to determine which digital output
- nodes to use instead of always using node 0x21, since some systems
- have node 0x12 connected to a SPDIF out jack.
- [A slight modification for better readability by tiwai]
- - ALSA: HDA: Add a new model "asus" for Conexant 5066/205xx
- BugLink: http://bugs.launchpad.net/bugs/701271
- This new model, named "asus", is identical to the "hp_laptop" model,
- except for the location of the internal mic, which is at pin 0x1a.
- It is used for Asus K52JU and Lenovo G560.
- - ALSA: HDA: Refactor some redundant code for Conexant 5066/205xx
- Four very similar procedures - one for each model - now
- refactored into one. This isn't all duplicated code, but a step
- in the right direction.
- - Revert "ALSA: HDA: Create mixers on ALC887"
- This reverts commit 5361142f0b4dec50a2eea259c873b8216ce62c38.
- - ALSA: hda - Fix EAPD to low on CZC P10T tablet computer with ALC662
- - ALSA: HDA: Add SKU ignore for another Thinkpad Edge 14
- BugLink: http://bugs.launchpad.net/bugs/705323
- Thinkpad Edge 14 has one more SSID that suffers from disabled auto-mute.
- - ALSA: hda - Fix "unused variable" compile warning
- sound/pci/hda/patch_realtek.c: In function ‘alc_apply_fixup’:
- sound/pci/hda/patch_realtek.c:1724:14: warning: unused variable ‘modelname’
- snd_printdd() is evaluated only when CONFIG_SND_DEBUG_VERBOSE=y.
- - ALSA: hda - Add quirk for HP Z-series workstation
- It seems working well with model=hp-bpc.
- - ALSA: HDA: Create mixers on ALC887
- BugLink: http://launchpad.net/bugs/669092
- ALC887 does not have any volume control ability on the mixer NIDs,
- so put the volume controls on the dac NIDs instead. Without this
- patch, ALC887 users cannot use alsamixer at all.
- - ALSA: hda - Fix initialization for HP 2011 notebooks
- Fixes for HP 2011 notebooks: enable dock ports and disable BTL
- initialization in the driver.
- - ALSA: hda - consitify string arrays
- - ALSA: hda - Add add multi-streaming playback for AD1988
- Attached a patch which add a new model to support multi-streaming
- playback for ad1988.
- playback another stereo stream through the front panel headphone on
- device 2 while playback through the speakers connected to rear panel
- on device 0 at the same time.
- Tested with ad1988a rev2 codec on asus P5B-V motherboard.
- - ALSA: hda - More coverage for odd-number channels elimination for HDMI
- The commit ad09fc9d2156f3d37537b34418a6b79309013d33 didn't cover the
- case for Intel and Nvidia HDMIs, where hdmi_pcm_open() is called.
- Put the hw_constraint there, too.
- - ALSA: hda - Store PCM parameters properly in HDMI open callback
- In hdmi_pcm_open(), the evaluated PCM hw parameters are stored in
- hinfo, but these aren't properly set back to the current runtime
- record since these have been set beforehand in azx_pcm_open().
- This patch fixes the behavior.
- - ALSA: hda - Rearrange fixup struct in patch_realtek.c
- - ALSA: hda - Suppress the odd number of channels for HDMI
- It looks like that HDMI codecs don't support the odd number of channels
- although HD-audio spec doesn't have the restriction. Add the
- hw_constraint to limit to only the even number of channels.
- - ALSA: hda - Add fixup-call in init callback
- In some cases, the fix-up is required in the init callback to be called
- both at the first initialization and at the resume. The new action type
- ALC_FIXUP_ACT_INIT is used for this case.
- So far, only ALC275_FIXUP_SONY_HWEQ uses this.
- - ALSA: hda - Reorganize fixup structure for Realtek
- Instead of keeping various data types in a single record, put the
- type field and keep a single value in each entry, but allows chaining
- multiple fixup entries. This allows more flexible data management
- (see ALC275_FIXUP_SONY_HWEQ for example).
- - ALSA: hda - Apply Sony VAIO hweq fixup only once
- This should be applied also only once as a part of the initialization.
- - ALSA: hda - Apply mario fixup only once
- The amp-override is necessary only once at initialization time.
- Also fixed a coding style issue.
- - ALSA: hda - Remove unused fixup entry for ALC262
- ... and a minor cleanup.
- - ALSA: hda - Fix NULL-derefence with a single mic in STAC auto-mic detection
- When only one mic is available and it's an analog mic, the current
- IDT/STAC parser may give an Oops.
- Reference: bko#25692
- https://bugzilla.kernel.org/show_bug.cgi?id=25692
- - ALSA: hda - Add missing NID 0x19 fixup for Sony VAIO
- With GPIO2-fixup, another fixup for NID 0x19 was missing because the
- fixup is applied only once. Add the corresponding verb to the entry.
- - ALSA: hda - Fix ALC275 enable hardware EQ for SONY VAIO
- SONY VAIO ALC275 default BIOS verb set the hardware EQ to disable.
- Enable it when driver is loading.
- - ALSA: hda - Fix EAPD on Lenovo NB ALC269 to low
- Lenovo NB 0x9e54 use the external AMP in an inverted manner.
- Set EAPD to low will enable the AMP.
- - ALSA: hda - Fix missing EAPD for Acer 4930G
- The proper initializatio of NID 0x15 EAPD is missing in the quirk for
- Acer 4930G.
- - ALSA: hda: Disable 4/6 channels on some NVIDIA GPUs.
- Added hardware constraint in patch_hdmi.c to disable
- channels 4/6 which are not supported by some older
- NVIDIA GPUs.
- - ALSA: hda - Add static_hdmi_pcm option to HDMI codec parser
- The dynamic PCM restriction based on ELD information may lead to the
- problem in some cases, e.g. when the receiver is turned off. Then it
- may send a TV HDMI default such as channels = 2. Since it's still
- plugged, the driver doesn't know whether it's the right configuration
- for future use. Now, when an app opens the device at this moment,
- then turn on the receiver, the app still sends channels=2.
- The right solution is to implement some kind of notification and
- automatic re-open mechanism. But, this is a goal far ahead.
- This patch provides a workaround for such a case by providing a new
- module option static_hdmi_pcm for snd-hda-codec-hdmi module. When
- this is set to true, the driver doesn't change PCM parameters per
- ELD information. For users who need the static configuration like
- the scenario above, set this to true.
- The parameter can be changed dynamically via sysfs, too.
- - ALSA: hda - Don't refer ELD when unplugged
- When unplugged, we shouldn't refer to ELD information for PCM open
- any more.
- - ALSA: hda - Add support for multiple headphone/speaker controls for Realtek
- So far, Realtek auto-parser assumed that the multiple pins are only for
- line-outs, and assigned the channel names like Front, Surround, etc for
- the multiple outputs. But, there are devices that have multiple
- headphones, and these can be better controlled with the corresponding
- control-name like "Headphone" with indicies.
- - ALSA: hda - Fix multi-headphone handling for Realtek codecs
- When multiple headphone pins are defined without line-out pins, the
- driver takes them as primary outputs. But it forgot to set line_out_type
- to HP by assuming there is some rest of HP pins. This results in some
- mis-handling of these pins for Realtek codec parser. It takes as if
- these are pure line-out jacks.
- - ALSA: hda: Use vostro model quirk for Dell Vostro 1014
- BugLink: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=5184
- A user reported on the alsa-devel mailing list that he needs to use
- the vostro model quirk to have audible playback, so apply it for his
- PCI SSID.
- Reported-and-tested-by: Fernando Lemos <fernandotcl@gmail.com>
- - ALSA: HDA: Add Lenovo vendor quirk for Conexant 205xx
- BugLink: http://bugs.launchpad.net/bugs/689036
- Many new Lenovos need the ideapad quirk. Also, since the
- auto parser for this chip is far from optimal, the regression
- risk is low (although not zero).
- - ALSA: HDA: Fix volume control indices for Mics (Realtek)
- If more than one mic is present with different locations,
- e g "Front Mic" and "Rear Mic", they can use the same index (0),
- since their names are different.
- Previous behavior was to have "Front Mic" as index 1, causing it
- to be ignored by e g PulseAudio.
- - ALSA: HDA: Rename "Mic Boost" to "Mic Boost Volume"
- BugLink: http://bugs.launchpad.net/bugs/697240
- If the "Volume" suffix is not given, alsa-lib gets confused and
- loses the dB information at the simple element level.
- Boosts generally affects both playback and capture, as they are
- applied early in the chain. Hence no "Playback" or "Capture" in
- the suffix.
- - ALSA: HDA: Add internal mic for IDT 92HD88B
- BugLink: http://bugs.launchpad.net/bugs/696493
- According to datasheet (and real-world testing), IDT 92HD88B can
- have internal mics at NID 0x11 and 0x20, so enable them accordingly.
- - ALSA: HDA: Rename "e-Mic" and "i-Mic" to "Mic" and "Internal Mic"
- Change non-standard mic control names to standard control names
- to clean up the namespace.
- - ALSA: HDA: Rename "Ext Mic" and "External Mic" to "Mic"
- Usually external microphones are just labelled "Mic", so rename
- "Ext Mic" and "External Mic" to "Mic" to clear up the namespace.
- - ALSA: HDA: Rename "Int Mic" to "Internal Mic"
- "Int Mic" and "Internal Mic" both mean the same thing, so rename
- the former to the latter in order to clean up the namespace a little.
- - ALSA: hda - Clean up dead code in patch_realtek.c
- - ALSA: hda - factorize an automute_mic realtek quirk function
- Multiple quirk functions were using the exact same code to verify if the Mic
- jack was plugged and mute the Mic accordingly
- - ALSA: hda - Mute speakers when line-out jack is plugged with Conexant auto mode
- Mute speakers when a line-out jack is plugged as well as headphone jacks
- with the new Conexant codec parser in the auto mode.
- - ALSA: hda: Add fixup for mario system
- create fixup function for the mario model and override amp capabilities
- for NID 0x2
- - ALSA: hda: Add modelname lookup and fixup for realtek codecs
- Facilitate fixup for realtek codecs via modelname lookup of fixup
- data. Fallback to quirk based lookup in absence of model definition.
- - ALSA: HDA: Remove unconnected PCM devices for Intel HDMI
- Some newer chips have more than one HDMI output, but usually not
- all of them are exposed as physical jacks. Removing the unused
- PCM devices (as indicated by BIOS in the pin config default) will
- reduce user confusion as they currently have to choose between
- several HDMI devices, some of them not working anyway.
- - ALSA: hda - use generic hdmi parser for ATI R6xx codec
- Switch to the generic hdmi parser for codec id 1002:aa01 (ATI R6xx
- HDMI), as the codec appears to work fine with it.
- Note that the codec is still limited to stereo output only, despite it
- reportedly being multichannel capable. Some as of yet unknown quirks
- will be needed to get that working.
- Testing was done on 2.6.36 by John Ettedgui.
- Tested-by: John Ettedgui <john.ettedgui@gmail.com>
- - ALSA: hda - Fix beep-tone on IDT 92HD87/88 codecs
- It sounds like a non-linear beep tone on my test machines...
- - ALSA: hda - Enable beep for IDT92HD87 / 88 codecs
- These codecs have the digital beep widget in NID 0x21.
- - ALSA: hda - Clean up cxt5066 port-D handling & co
- Instead of hard-coded magic numbers, properly define and use macros
- for improve the readability. Also, dell_automute is handled samely
- as thinkpad, since it also sets port_d_mode, too.
- - ALSA: hda - Fix GPIO2-fixup for Sony laptops
- The fix-up entries by the commit 2785591a9760c677a7ee6f541e751c23086f5bfd
- ALSA: hda - Add fix-up for Sony VAIO with ALC275 codecs
- weren't applied in the right position. They had to be before the quirk
- entry matching to all Sony devices.
- - ALSA: hda - Try to find an empty control index when it's occupied
- When a mixer control element was already created with the given name,
- try to find another index for avoiding conflicts, instead of breaking
- with an error. This makes the driver more robust.
- - ALSA: hda - Fix conflict of d-mic capture volume controls
- When the d-mics are assigned to the same purpose of another analog mic
- pins, the driver doesn't compute the index properly, resulting in an
- error with "existing control". This patch fixes it.
- - ALSA: hda - Don't apply ALC269-specific initialization to ALC275
- ALC275 doesn't require the ALC269 (and its variants) specific init
- sequences. Add the check of codec id.
- - ALSA: hda - Add fix-up for Sony VAIO with ALC275 codecs
- Set GPIO2 for some Sony VAIO with ALC275 to fix speaker output.
- - ALSA: HDA: Add auto-mute for Thinkpad SL410/SL510
- BugLink: http://launchpad.net/bugs/580006
- SKU turns off auto-mute for these machines, so ignore the SKU.
- - ALSA: hda - Fix conflict of Mic Boot controls
- Due to the recent change for multiple mics assignment, we need to handle
- the index of each Mic Boost control respectively. Otherwise the driver
- gets the control element conflicts, and gives the unsable state.
- Reference: kernel bug 25002
- https://bugzilla.kernel.org/show_bug.cgi?id=25002
- Reported-and-tested-by: Adam Williamson <awilliam@redhat.com>
- - ALSA: HDA: Enable subwoofer on Asus G73Jw
- Set default association/sequence right on pin 0x17 in order for
- the automatic parser to recognize the subwoofer correctly.
- - ALSA: HDA: Fix auto-mute on Lenovo Edge 14
- BugLink: http://launchpad.net/bugs/690530
- The SKU value of this machine dictates that auto-mute should be
- disabled. Since the SKU value is similar to the PCI SSID, the most
- likely conclusion is that the SKU value should be ignored.
- - ALSA: HDA: Quirk for Dell Vostro 320 to make microphone work
- BugLink: http://launchpad.net/497546
- Confirmed that the ideapad model works better than the current
- quirk for Dell Vostro 320.
- - ALSA: hda - Do not wrongly restrict min_channels based on ELD
- Commit bbbe33900d1f3c added functionality to restrict PCM parameters
- based on ELD info (derived from EDID data) of the audio sink.
- However, it wrongly assumes that the bits 0-2 of the first byte of
- CEA Short Audio Descriptors mean a supported number of channels. In
- reality, they mean the maximum number of channels (as per CEA-861-D
- 7.5.2). This means that the channel count can only be used to restrict
- max_channels, not min_channels.
- Restricting min_channels causes us to deny opening the device in stereo
- mode if the sink only has SADs that declare larger numbers of channels
- (like Primare SP32 AV Processor does).
- Fix that by not restricting min_channels based on ELD information.
- Reported-by: Jean-Yves Avenard <jyavenard@gmail.com>
- Tested-by: Jean-Yves Avenard <jyavenard@gmail.com>
- - ALSA: hda - Enable jack sense for Thinkpad Edge 13
- Added a quirk to cxt5066_cfg_tbl to enable jack sense for ThinkPad Edge 13.
- Reference: http://launchpad.net/bugs/685015
- - ALSA: hda - Fix ThinkPad T410[s] docking station line-out
- On the docking station for the Lenovo T410 and T410s, the line-out
- doesn't work. The trouble seems to be that it generates a plug event,
- but then doesn't report that the jack is connected. So automute mutes
- the jack when you plug something into it. The following patch (next
- message) fixes it.
- - ALSA: hda: Use model=lg quirk for LG P1 Express to enable playback and capture
- BugLink: https://launchpad.net/bugs/595482
- The original reporter states that audible playback from the internal
- speaker is inaudible despite the hardware being properly detected. To
- work around this symptom, he uses the model=lg quirk to properly enable
- both playback, capture, and jack sense. Another user corroborates this
- workaround on separate hardware. Add this PCI SSID to the quirk table
- to enable it for further LG P1 Expresses.
- Reported-and-tested-by: Philip Peitsch <philip.peitsch@gmail.com>
- Tested-by: nikhov
- - ALSA: hda: Use "alienware" model quirk for another SSID
- BugLink: https://launchpad.net/bugs/683695
- The original reporter states that headphone jacks do not appear to
- work. Upon inspecting his codec dump, and upon further testing, it is
- confirmed that the "alienware" model quirk is correct.
- Reported-and-tested-by: Cody Thierauf
- - ALSA: hda - Remove dead md2 quirk code
- - ALSA: hda: Use BIOS auto-parsing instead of existing model quirk for MEDION MD2
- BugLink: https://launchpad.net/bugs/682199
- A 2.6.35 (Ubuntu Maverick) user, burningphantom1, reported a regression
- in audio: playback was inaudible through both speakers and headphones.
- In commit 272a527c04 of sound-2.6.git, a new model was added with this
- machine's PCI SSID. Fortunately, it is now sufficient to use the auto
- model for BIOS auto-parsing instead of the existing quirk.
- Playback, capture, and jack sense were verified working for both
- 2.6.35 and the alsa-driver snapshot from 2010-11-27 when model=auto is
- used.
- Reported-and-tested-by: burningphantom1
- - ALSA: hda - Use ALC_INIT_DEFAULT for really default initialization
- When SKU assid gives no valid bits for 0x38, the driver didn't take
- any action, so far. This resulted in the missing initialization for
- external amps, etc, thus the silent output in the end.
- Especially users hit this problem on ALC888 newly since 2.6.35,
- where the driver doesn't force to use ALC_INIT_DEFAULT any more.
- This patch sets the default initialization scheme to use
- ALC_INIT_DEFAULT when no valid bits are set for SKU assid.
- Reference:
- https://bugzilla.redhat.com/show_bug.cgi?id=657388
- Reported-and-tested-by: Kyle McMartin <kyle@redhat.com>
- - ALSA: hda - Fix ALC660-VD/ALC861-VD capture/playback mixers
- The mixer nids passed to alc_auto_create_input_ctls are wrong: 0x15 is
- a pin, and 0x09 is the ADC on both ALC660-VD/ALC861-VD. Thus with
- current code, input playback volume/switches and input source mixer
- controls are not created, and recording doesn't work. Select correct
- mixers, 0x0b (input playback mixer) and 0x22 (capture source mixer).
- Reference: https://qa.mandriva.com/show_bug.cgi?id=61159
- - ALSA: HDA: Add an extra DAC for Realtek ALC887-VD
- The patch enables ALC887-VD to use the DAC at nid 0x26,
- which makes it possible to use this DAC for e g Headphone
- volume.
- - ALSA: hda - Fix Acer 7730G support
- Fixes automatic EAPD configuration on Acer 7730G laptop.
- - ALSA: hda - Add a generic fixup callback for Realtek codecs
- Add a generic callback function for fixup elements. This can be used
- to do some unusual things like overriding the AMP cache, etc.
- - sound: Revert "ALSA: HDA: Create mixers on ALC887"
- This reverts commit 03b7a1ab557efe34e8f79b78660e514bd7374248.
- - ALSA: HDA: Create mixers on ALC887
- BugLink: http://launchpad.net/bugs/669092
- ALC887 does not have any volume control ability on the mixer NIDs,
- so put the volume controls on the dac NIDs instead. Without this
- patch, ALC887 users cannot use alsamixer at all.
- - ALSA: hda - Identify more variants for ALC269
- Give more correct chip names for ALC269-variant codecs.
- - ALSA: hda - Fix wrong ALC269 variant check
- The refactoring commit d433a67831ab2c470cc53a3ff9b60f656767be15
- ALSA: hda - Optimize the check of ALC269 codec variants
- introduced a wrong check for ALC269-vb type. This patch corrects it.
- - ALSA: hda - Enable jack sense for Thinkpad Edge 11
- Add a quirk entry for Thinkpad Edge 11 as well as other TP Edge models.
- - ALSA: Revert "ALSA: hda - Fix switching between dmic and mic using the same mux on IDT/STAC"
- This reverts commit f41cc2a85d52ac6971299922084ac5ac59dc339d.
- The patch broke the digital mic pin handling wrongly.
- Reference: bko#23162
- https://bugzilla.kernel.org/show_bug.cgi?id=23162
- - ALSA: hda - Fixed ALC887-VD initial error
- ALC887-VD is like ALC888-VD. It can not be initialized as ALC882.
- - ALSA: hda: Use hp-laptop quirk to enable headphones automute for Asus A52J
- BugLink: https://launchpad.net/bugs/677652
- The original reporter states that, in 2.6.35, headphones do not appear
- to work, nor does inserting them mute the A52J's onboard speakers. Upon
- inspecting the codec dump, it appears that the newly committed hp-laptop
- quirk will suffice to enable this basic functionality. Testing was done
- with an alsa-driver build from 2010-11-21.
- Reported-and-tested-by: Joan Creus
- - ALSA: hda: Add Samsung R720 SSID for subwoofer pin fixup
- BugLink: https://launchpad.net/bugs/677830
- The original reporter states that the subwoofer does not mute when
- inserting headphones. We need an entry for his machine's SSID in the
- subwoofer pin fixup list, so add it there (verified using hda_analyzer).
- Reported-and-tested-by: i-NoD
- - ALSA: HDA: Enable digital mic on IDT 92HD87B
- BugLink: http://launchpad.net/bugs/673075
- According to the datasheet of 92HD87B, there is a digital mic
- at nid 0x11, so enable it in order to be able to use the mic.
- - ALSA: hda - MacBookAir3,1(3,2) alsa support
- This patch add support for the MacBookAir3,1 and MacBookAir3,2 to the alsa
- sound system.
- - ALSA: hda - Change BTL amp level on some HP notebooks
- Some HP laptops have lower amplifier levels for speakers in comparison
- with headphone outputs. This patch changes the BTL amp level for these
- machines to balance both the speaker and headphone output levels.
- - ALSA: hda - Disable sticky PCM stream assignment for AD codecs
- The sticky PCM stream assignment introduced in 2.6.36 kernel seems
- causing problems on AD codecs. At some time later, the streaming no
- longer works by unknown reason. A simple workaround is to disable
- sticky-assignment for these codecs.
- Tested-by: Vasily Khoruzhick <anarsoul@gmail.com>
- - ALSA: hda - Add workarounds for CT-IBG controllers
- Creative IBG controllers require the playback stream-tags to be started
- from 1, instead of capture+1. Otherwise the stream stalls.
- Reported-by: Wai Yew CHAY <wychay@ctl.creative.com>
- - ALSA: hda - Fix wrong TLV mute bit for STAC/IDT codecs
- The bit value set for TLV mute was wrong in commit
- de8c85f7840e5e29629de95f5af24297fb325e0b, which resulted in bogus
- dB ranges that screw up PulseAudio. Corrected with the right constant.
- - ALSA: hda - Apply ideapad quirk to Acer laptops with Cxt5066
- Multiple Acer laptops with the SSID 1025:04xx require the quirk
- mode=ideapad, so let's use mask to apply to all these.
- - ALSA: hda - Fix wrong SPDIF NID assignment for CA0110
- The dig_out_nid field must take a digital-converter widget, but the current
- ca0110 parser passed the pin wrongly instead.
- Reported-by: Wai Yew CHAY <wychay@ctl.creative.com>
- - ALSA: hda - Fix codec rename rules for ALC662-compatible codecs
- - ALSA: hda - Add alc_init_jacks() call to other codecs
- - ALSA: hda - Fix codec muted after rebooting from Windows
- Windows may leave pin power-down registers set after reboot, and
- this resulted in muted output on Linux. Reset these registers
- at initialization properly.
- - ALSA: tlv - Define numbers in sound/tlv.h
- - ALSA: HDA: Sigmatel: work around incorrect master muting
- The HDA specification does not allow for a codec to mute itself just
- because the volume is reduced, so _of course_ somebody had to go and do
- it. This wouldn'\t hurt too much when the volume is adjusted by hand,
- but programs like PA that try to set the volume automatically could
- inadvertently mute the output.
- To work around this, change the TLV dB information for the Master volume
- on all Sigmatel HDA codecs to indicate the the minimal volume setting
- actually mutes.
- Reported-by: Colin Guthrie <gmane@colin.guthr.ie>
- Reported-by: "Alexander E. Patrakov" <patrakov@gmail.com>
- Tested-by: Colin Guthrie <cguthrie@mandriva.org>
- - ALSA: HDA: Apply SKU override for Acer aspire 7736z
- BugLink: http://launchpad.net/bugs/617647
- The current SKU value disables playback, so ignore the SKU value.
- - ALSA: HDA: Enable SKU quirks for Realtek
- Realtek have ways of specifying external amps and more via a
- special nid or via the Codec's subsystem ID, this is called "SKU".
- The computer manufacturer sometimes gets this wrong, so we need
- to be able to override or ignore the SKU customization value.
- - ALSA: hda: Add speaker pin to automute Acer Aspire 8943G
- BugLink: https://bugs.launchpad.net/bugs/656625
- Add clause for handling Acer Aspire 8943G's subwoofer as additional
- speaker pin for automuting.
- Reported-by: RussianNeuroMancer
- - ALSA: hda - Add input volume control for each mic/line-in pin
- The input pins on cirrus codecs have also input amps. Let's make
- control elemetns for them.
- - ALSA: hda - Add model=mbp55 entry for MacBookPro 7,1
- Reference: Novell bnc#645066
- https://bugzilla.novell.com/show_bug.cgi?id=645066
- - ALSA: hda - Add another HP DV6 quirk
- BugLink: https://bugs.launchpad.net/bugs/653420
- Add another HP DV6 notebook (103c:363e) to use STAC_HP_DV5.
- - ALSA: Fix Linux 2.6 merge issues
- - ALSA: hda - Apply ALC269 VAIO fix-up to all Sony laptops with ALC269
- We've applied a fix-up for ALC269 VAIO only for two models. But all
- Sony VAIO models with ALC269 codec seem to require the similar fix.
- Let's apply it with vendor-id mask.
- - ALSA: hda - Introduce hda_call_check_power_status() helper
- Replace the explicit ifdef check and call of check_power_status ops with
- a new helper function, hda_call_check_power_status().
- - ALSA: hda - Refactor ALC269 power-ups/downs in PM callbacks
- Create a helper function to simplify the code.
- Also, cleaned up the ifdef SND_HDA_NEEDS_RESUME and
- CONFIG_SND_HDA_POWER_SAVE. The former is always defined when the latter
- is set.
- - ALSA: hda - Set up COEFs for ALC269 to avoid click noises at power-saving
- For avoiding the click noises at power-saving, set some COEF values
- for ALC269* codecs.
- - ALSA: HDA: Enable internal speaker on Dell M101z
- BugLink: http://launchpad.net/bugs/640254
- In some cases a magic processing coefficient is needed to enable
- the internal speaker on Dell M101z. According to Realtek, this
- processing coefficient is only present on ALC269vb.
- - ALSA: hda - Added fixup for Lenovo Y550P
- - ALSA: hda - Add quirk for another Acer laptop with a CX20585 codec
- BugLink: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/647374
- Set another Acer laptop (SSID 1025:043d) to use CXT5066_IDEAPAD
- - ALSA: hda - Fix switching between dmic and mic using the same mux on IDT/STAC
- Fix bug in switching between dmic and mic when both use the same mux.
- - ALSA: hda - MacBookPro 5,3 line-in support
- I've found the following patch is necessary to enable line-in on
- my MacBookPro 5,3 machine. With the patch applied I've successfully
- recorded audio from the line-in jack. This is based on the existing
- 5,5 support.
- - ALSA: hda - Check invalid NIDs in alc_init_jacks()
- The headphone and external-mic pin NIDs can be null, and the jack input
- elements should be skipped in such a case.
- - ALSA: hdmi - fix surround41 channel mapping
- Channel 2 and channel 3 were all wrongly mapped to HDMI slot 4.
- This shows up as a bug that one channel is "lost" when playing in
- surround41 mode.
- - ALSA: hdmi - support infoframe for DisplayPort
- DisplayPort works mostly in the same way as HDMI, except that it expects
- a slightly different audio infoframe format.
- Citations from "HDA036-A: Display Port Support and HDMI Miscellaneous
- Corrections":
- The HDMI specification defines a data island packet with a header of 4
- bytes (3 bytes content + 1 byte ECC) and packet body of 32 bytes (28
- bytes content and 4 bytes ECC). Display Port specification on the other
- hand defines a data island packet (secondary data packet) with header of
- 4 bytes protected by 4 bytes of parity, and data of theoretically up to
- 1024 bytes with each 16 bytes chunk of data protected by 4 bytes of
- parity. Note that the ECC or parity bytes are not present in the DIP
- content populated by software and are hardware generated.
- It tests DP connection based on the ELD conn_type field, which will be
- set by the graphics driver and can be overriden manually by users
- through the /proc/asound/card0/eld* interface.
- The DP infoframe is tested OK on Intel SandyBridge/CougarPoint platform.
- - ALSA: hda - Fix capture widget for ALC269vb and co
- ALC269vb and other variants don't use the widgets 0x24 but prefer the
- widget 0x22 instead. We need to fix the input parser.
- - ALSA: hda - Optimize the check of ALC269 codec variants
- Don't call the COEF check for checking ACL269 codec variants at each
- time in init but remember the type at the initialization.
- - ALSA: hda - Fix initialization of multiple output pins for ALC268/269
- When multiple pins are assigned to headphones or speakers, they haven't
- been initialized properly.
- - ALSA: hda - Fix up autocfg output pin numbers in realtek parser
- When quirks are applied, the numbers of output pins in autocfg aren't
- set up properly but only pin arrays are changed. Let's fix it up so that
- the rest of the parser can use autocfg.line_outs & co safely.
- - ALSA: hda - Merge all HDMI modules into the unified module
- This patch merges all three patch_*hdmi variants to the single HDMI
- parser. There is only one snd-hda-codec-hdmi module now.
- In this patch, the behavior of each parser isn't changed much.
- The old ATI parser still doesn't use the dynamic parser yet.
- In later patches, they'll be cleaned up.
- Also, this patch gets rid of the individual snd-hda-eld module and
- builds into snd-hda-codec-hdmi, since this is referred only from the
- HDMI parser.
- - ALSA: hda - Check the external mic pin more strictly for Conexant chips
- The external mic jack for auto-mic switch must be really an external
- jack and with a presense-detection capability. This patch makes the
- check more paranoia.
- - ALSA: hda - Make snd_hda_get_input_pin_attr() helper
- Make the helper function to give the input-pin attribute for jack
- connectivity and location. This simplifies checks of input-pin jacks
- a bit in some places.
- - ALSA: HDA: Sort CXT5066 quirk table
- It was just a boring day.
- - ALSA: HDA: Fix spelling (change VOSTO to VOSTRO)
- It was just a boring day.
- - ALSA: hda - Fix mic attribute check for internal mics
- Now Windows claims that the BIOS sets pins for internal mics to be
- BOTH connection instead of FIXED.
- - ALSA: hda - Fix automatic MIC switching and include dock MIC for IDT codecs
- - ALSA: hda - Fix input-pin setup for Realtek codecs
- Through the transition of autocfg to individual inputs array, I forgot
- to rewrite the argument passed to alc_set_input_pin(). This resulted in
- wrongly setup input pins. Fixed now.
- - ALSA: hda - Fix initialization of secondary headphone and speaker
- The secondary or later headphones or speakers aren't initialized preoprly
- for some codecs.
- - ALSA: hda - Add quirk for Acer laptop with CX20585 codec
- Its pin configuration is compatible with ideapad.
- - ALSA: hda - Preliminary support for new Conexant audio codecs
- This patch adds the preliminary support for new Conexant audio codecs with
- 14f1:5097, 14f1:5098, 14f1:50a1, 14f1:50a2, 14f1:50ab, 14f1:50ac,
- 14f1:50b8 and 14f1:50b9.
- Unlike other Conexant parsers, this is designed to be mostly automatic,
- parsing from BIOS pin configurations.
- - ALSA: hda - Fix auto-parse of SPDIF input of Realtek codecs
- The SPDIF in audio widget must be searched through the list as the widget
- that contains the given pin as the connection source. The current code
- was implemented in a reverse way.
- - ALSA: hda - Add Dell Latitude E6400 model quirk
- BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/643891
- Set the Dell Latitude E6400 (1028:0233) SSID to use AD1984_DELL_DESKTOP
- - ALSA: patch_nvhdmi.c: Fix supported sample rate list.
- 22050 isn't a valid HDMI sample rate. 32000 is.
- - ALSA: hda - Add input jack layer support to Realtek codec
- - ALSA: hda - Add quirk for Toshiba C650D using a Conexant CX20585
- Add a quirk for laptop Toshiba Satellite C650D to have proper external HP and
- external Mic support.
- - ALSA: hda - Sort input pins in snd_hda_parse_pin_def_config()
- Sort inputs[] array in autocfg so that the codec parsers can filter out
- easily per input pin types.
- - ALSA: hda - Add comments to new helper functions
- - ALSA: hda - Reduce redundant mic location prefix in input source labels
- When the mic pins are assigned to the same location, we can omit the
- redundant location prefix like "Front" or "Rear".
- - ALSA: hda - Improve the input source name labels
- This patch improves the input-source label strings to be generated from
- the pin information instead of fixed strings per AUTO_PIN_* type.
- This gives more suitable labels, especially for mic and line-in pins.
- - ALSA: hda - Remove AUTO_PIN_FRONT_{MIC|LINE}
- We can assign multiple pins to a single role now, let's reduce the
- redundant FRONT_MIC and FRONT_LINE. Also, autocfg->input_pins[] is
- no longer used, so this is removed as well.
- - ALSA: hda - Keep char arrays in input_mux items
- Keep char array in the input_mux item itself instead of pointing to
- an external string. This is a preliminary work for improving the
- input-mux name based on the pin role.
- - ALSA: HDA: Add fixup pins for Ideapad Y550
- By adding the subwoofer as a speaker pin, it is treated correctly when auto-muting.
- BugLink: https://launchpad.net/bugs/611803
- - ALSA: hda - Add fixup for FSC Celsius H270
- Added a fixup table for ALC262 codec containing the entry for FSC
- Celsius H270. Now both headphone jacks are detected properly as
- headphones.
- Reference: Novell bnc637263
- https://bugzilla.novell.com/show_bug.cgi?id=637263
- - ALSA: hda - Add multiple headphone support to ALC262 codec
- This patch changes the alc262 auto-parser to allow multiple pins
- assigned for a single purpose (line-out, headphone or speaker).
- - ALSA: hda - Support multiple headphone auto-mute
- Currently headphone auto-mute using alc_automute_pin() assumes only
- the single pin used for the headphone output. Since there are devices
- with multiple headphone jacks, we need to check all these pins there,
- too.
- Also this patch merges the common code between alc_automute_pin() and
- alc_automute_amp() helper functions.
- - ALSA: hda - Clear left-over hp_pins in snd_hda_parse_pin_def_config()
- In snd_hda_parse_def_config(), some unused values may remain in hp_pins[]
- array during the headphone-reassignment workaround. This patch clears
- the unused array members.
- - ALSA: hda - Improve input control names for IDT/STAC codecs
- Changing the way the input controls are named using port connection
- type and jack location info.
- - ALSA: hda - Adding support for new IDT 92HD90BXX and 92HD91BXX codecs
- Adding support for digital MIC in 92HD83/90/91XXX codecs family.
- - ALSA: hda - Use new inputs[] field to parse input-pins for VIA codecs
- - ALSA: hda - Use new inputs[] field to parse input-pins for STAC/IDT codecs
- - ALSA: hda - Use new inputs[] field to parse input-pins for Realtek codecs
- - ALSA: hda - Use new inputs[] field to parse input-pins for CirrusLogic codecs
- - ALSA: hda - Use new inputs[] field to parse input-pins for CA-IBG codecs
- - ALSA: hda - Use new inputs[] field to parse input-pins for AD codecs
- - ALSA: hda - Add snd_hda_get_input_pin_label() helper function
- Added snd_hda_get_input_pin_label() helper function to return the
- string that can be used for control or capture-source ids.
- - ALSA: hda - Add inputs[] to auto_pin_cfg struct
- Added the new fields to contain all input-pins to struct auto_pin_cfg.
- Unlike the existing input_pins[], this array contains all input pins
- even if the multiple pins are assigned for a single role (i.e. two
- front mics). The former input_pins[] still remains for a while, but
- will be removed in near future.
- - ALSA: hda - Refactor input-pin parser for VIA codecs
- patch_via.c has redundant codes for parsing the input-pins. Although
- they are pretty similar, but all implemented in different functions
- just because of hard-coded ids and slight incompatibilities.
- This patch refactors the codes to use the common helper function,
- resulting in the reduction of many lines.
- - ALSA: hda - embed alc_fixup contents into struct definitions
- Instead of defining each content as a separate struct, put all into the
- definition of struct alc_fixup arrays so that reader doesn't go back to
- see the definition again.
- - ALSA: hda - Fix wrong HP pin detection in snd_hda_parse_pin_def_config()
- snd_hda_parse_pin_def_config() has some workaround for re-assigning
- some pins declared as headphones to line-outs. This didn't work properly
- for some cases because it used memmove() stupidly wrongly.
- Reference: Novell bnc#637263
- https://bugzilla.novell.com/show_bug.cgi?id=637263
- - ALSA: hda - Enable PC-beep for EeePC with ALC269 codec
- EeePC 1001HAG has a similar problem like other ASUS machine, which doesn't
- set the codec SSID properly for indicating the beep capability.
- To enable PC-beep again, put this to the whitelist.
- - ALSA: hda - Add errata initverb sequence for CS42xx codecs
- Add init verb sequence for errata ER880C3
- http://www.cirrus.com/en/pubs/errata/ER880C3.pdf
- - ALSA: hda - Add quirk for Lenovo T400s
- Lenovo T400s requires the quirk to make automatic HP/mic switching working.
- Reported-by: Frank Becker <fb@alien8.de>
- - ALSA: hda - Add a new hp-laptop model for Conexant 5066, tested on HP G60
- This new model adds the following functionality to HP G60:
- - Automute of internal speakers
- - Autoswitch of internal/external mics
- - Remove SPDIF not physically present
- BugLink: http://launchpad.net/bugs/587388
- - ALSA: hda - Add Sony VAIO quirk for ALC269
- The attached patch enables playback on a Sony VAIO machine.
- BugLink: http://launchpad.net/bugs/618271
- - ALSA: hda - Add support for Lenovo S10-3t
- This patch adds quirk for the Lenovo S10-3t so the headphone &
- microphone jacks will now work.
- - ALSA: hda - Fix stream and channel-ids codec-bus wide
- The new sticky PCM parameter introduced the delayed clean-ups of
- stream- and channel-id tags. In the current implementation, this check
- (adding dirty flag) and actual clean-ups are done only for the codec
- chip. However, with HD-audio architecture, multiple codecs can be
- on a single bus, and the controller assign stream- and channel-ids in
- the bus-wide.
- In this patch, the stream-id and channel-id are checked over all codecs
- connected to the corresponding bus. Together with it, the mutex is
- moved to struct hda_bus, as this becomes also bus-wide.
- Reported-and-tested-by: Stephen Warren <swarren@nvidia.com>
- - ALSA: hda - Fix conflict of sticky PCM parameter in HDMI codecs
- Intel and Nvidia HDMI codec drivers have own implementations of
- sticky PCM parameters. Now HD-audio core part already has it,
- thus both setups conflict. The fix is simply remove the part in
- patch_intelhdmi.c and patch_nvhdmi.c and simply call
- snd_hda_codec_setup_stream() as usual.
- Reported-and-tested-by: Stephen Warren <swarren@nvidia.com>
- - ALSA: hda - Add support for IDT 92HD89XX codecs
- Just added new codec ids. These are almost compatible with existing ones.
- - ALSA: hda - Fix ALC680 base model capture
- - Fix capture mixer elements for ALC680 base model
- - Support auto change ADC for recording from MIC
- - Cancel capture source assigned in auto mode.
- - ALSA: hda - Add quirk for Dell Vostro 1220
- model=dell-vostro is needed for Dell Vostro 1220 with Coexnat 5067.
- Reference: Novell bnc#631066
- https://bugzilla.novell.com/show_bug.cgi?id=631066
- - ALSA: hda - Fix dynamic ADC change working again
- The commit eb541337b7a43822fce7d0c9d967ee149b2d9a96
- ALSA: hda - Make converter setups sticky
- changes the semantics of snd_hda_codec_cleanup_stream() not to clean up
- the stream at that moment but delay the action. This broke the codes
- expecting that the clean-up is done immediately, such as dynamic ADC
- changes in some codec drivers.
- This patch fixes the issue by introducing a lower helper,
- __snd_hda_codec_cleanup_stream(), to allow the immediate clean up.
- The original snd_hda_codec_cleanup_stream() is kept as is now.
- - ALSA: hda - Restrict PCM parameters per ELD information over HDMI
- When a device is plugged over HDMI, it passes some information in ELD
- including the supported PCM parameters like formats, rates, channels.
- This patch adds the check to PCM open callback of HDMI streams so that
- only valid parameters the device supports are used.
- When no device is plugged, the parameters the codec supports are used;
- it's mostly all parameters the hardware can work. This is for apps
- that are started before device plugging and do probing (e.g. a sound
- daemon), so that at least, probing would work even before the device
- plugging.
- - ALSA: hda - Adding support for new IDT 92HD87XX codecs
- Added the entries for 92HD87B1/3 and 92HD87B2/4 codecs.
- These are compatible with existing 83xxx codecs.
- - ALSA: HDA: Use model=auto for LG R510
- Two users report model=auto is needed to make the internal mic work properly.
- BugLink: https://bugs.launchpad.net/bugs/495134
- - ALSA: hda - patch_nvhdmi.c: Add missing codec IDs, unify names
- * Add missing codec IDs.
- * Modify some existing codec names for discrete GPUs to match newly
- added IDs. Note: existing names were a mixture of marketing and
- engineering GPU names. Equally, there's no reason that codec IDs
- have to be specific to a particular GPU or board, so identify
- codecs in a less marketing-oriented fashion.
- * Reformat codec ID table so it's easier to read, for me at least.
- - ALSA: hda - add support for Conexant CX20584
- The Conexant CX20584 with 141f:5068 seems compatible with other
- cxt5066 code. Just add the missing id.
- Tested-by: Cristopher Camacho Leandro <ccamacho@linuxmail.org>
- - ALSA: hda - New snd-hda-intel model/pin config for hp dv7-4000
- This provides a new model and pin config for the snd-hda-intel
- 92HD83XXX codec for hp laptop model dv7-4000, enabling the subwoofer.
- - ALSA: hda - Fix missing stream for second ADC on Realtek ALC260 HDA codec
- I discovered tonight that ALSA no longer sets up a stream for the second ADC
- provided by the Realtek ALC260 HDA codec. At some point alc_build_pcms()
- started using stream_analog_alt_capture when constructing the second ADC
- stream, but patch_alc260() was never updated accordingly. I have no idea
- when this regression occurred. The trivial patch to patch_alc260() given
- below fixes the problem as far as I can tell. The patch is against 2.6.35.
- - ALSA: hda - Make converter setups sticky
- So far, we reset the converter setups like the stream-tag, the
- channel-id and format-id in prepare callbacks, and clear them in
- cleanup callbacks. This often causes a silence of the digital
- receiver for a couple of seconds.
- This patch tries to delay the converter setup changes as much as
- possible. The converter setups are cached and aren't reset as long
- as the same values are used. At suspend/resume, they are cleared
- to be recovered properly, too.
- - ALSA: hda - Add support for Acer ZGA ALC271 (1025:047c)
- - ALSA: hda - Add pin-fix for HP dc5750
- The NID 0x11 on HP dc5750 with ALC260 should be a speaker although BIOS
- gives it as a line-out. This patch adds a quirk to fix the pin config
- so that the real line-out is used properly.
- Reference: bnc#624118
- https://bugzilla.novell.com/show_bug.cgi?id=624118
- - ALSA: hda - Fix initial capsrc selection in patch_alc269()
- In patch_alc269(), we initialize the primary capsrc so that the device
- works from the beginning. It issues CONNECT_SEL verb no matter which
- widget is although some widget (e.g. 0x23) has no connection selection
- but a mixer, which requires unmuting instead.
- This patch fixes the initialization of capsrc by re-using the code as
- a helper function.
- - ALSA: hda - Add PC-beep whitelist for an Intel board
- An Intel board needs a white-list entry to enable PC-beep.
- Otherwise the driver misdetects (due to bogus BIOS info) and ignores
- the PC-beep on 2.6.35.
- Reported-and-tested-by: Leandro Lucarella <luca@llucax.com.ar>
- - ALSA: hda - Define AC_FMT_* constants
- Define constants for the HD-audio stream format bits, and replace the
- magic numbers in codes.
- - ALSA: hda - Fix beep frequency on IDT 92HD73xx and 92HD71Bxx codecs
- Fix HDA beep frequency on IDT 92HD73xx and 92HD71Bxx codecs.
- These codecs use the standard beep frequency calculation although the
- datasheet says it's linear frequency.
- Other IDT/STAC codecs might have the same problem. They should be
- fixed individually later.
- - ALSA: hda - Add support for HDMI HBR passthrough
- Passing IEC 61937 encapsulated compressed audio at bitrates over 6.144
- Mbps (i.e. more than a single 2-channel 16-bit 192kHz IEC 60958 link)
- over HDMI requires the use of HBR Audio Stream Packets instead of Audio
- Sample Packets.
- Enable HBR mode when the stream has 8 channels and the Non-PCM bit is
- set.
- If the audio converter is not connected to any HBR-capable pins, return
- -EINVAL in prepare().
- - ALSA: hda - Set Stream Type in Stream Format according to AES0
- Set bit 15 (Stream Type) of HDA Stream Format to 1 (Non-PCM) when IEC958
- channel status bit 1 (AES0 & 0x02) is set to 1 (non-audio).
- This is a prequisite for HDMI HBR passthrough.
- - ALSA: hda - Fix Thinkpad X300 so SPDIF is not exposed
- Just as with the X301. The X300 does not have a way to do SPDIF either.
- It does not have a dock connector, nor does it have the SPDIF through
- the headphone jack.
- This patch fixes it so X300 does not show SPDIF, since it cannot do it.
- To add all Lenovo Thinkpads had different codec subsytem IDs:
- X300:
- http://launchpadlibrarian.net/34862838/Card0.Codecs.codec.0.txt
- - ALSA: hda - FIX to not expose SPDIF on Thinkpad X301, since it does not have the ability to use SPDIF
- The Lenovo X301 does not have the ability to connect to a docking
- station to use the SPDIF port. It also does not have the ability to do
- SPDIF though the headphone jack or Display Port jacks.
- This patch fixes it so this is not exposed for the X301 and users do
- think it has the ability to do SPDIF.
- I tested both headphone & display port jacks and it is not there. I have
- tested this patch and it works great.
- Also to add the other Thinkpads have different subsystem codec IDs.
- Here are examples:
- X301:
- http://launchpadlibrarian.net/31561902/Card0.Codecs.codec.0.txt
- X200:
- http://launchpadlibrarian.net/49055036/Card0.Codecs.codec.0.txt
- W500:
- http://launchpadlibrarian.net/36276057/Card0.Codecs.codec.0.txt
- - ALSA: hda - Do not try to create speaker NIDs for ALC268 if there aren't any
- - ALSA: hda - Add a warning for ignored pins with ALC259/268/269
- The current ALC259/268/269 parser ignores some pins as unhandled,
- but user won't notice what goes wrong. So, added a warning message
- for the ignored pins as a hint.
- - ALSA: hda - Handle pin NID 0x1a on ALC259/269
- The pin NID 0x1a should be handled as well as NID 0x1b.
- Also added comments.
- - ALSA: hda - Shut up pins at power-saving mode with Conexnat codecs
- Call snd_hda_shutup_pins() for power-saving and reboot-notifier in
- patch_conexant.c as well as other codecs. This will reduce the pop
- noise in power-save mode.
- Reference: bnc#624896
- https://bugzilla.novell.com/show_bug.cgi?id=624896
- - ALSA: hda - Prefer VREF50 if BIOS sets for Realtek codecs
- If BIOS sets up the input pin as VREF 50, use the value as is instead of
- overriding forcibly to VREF 80. This fixes the quality of inputs on
- some devices like Packard-Bell M5210.
- - ALSA: hda - Handle missing NID 0x1b on ALC259 codec
- Since ALC259/269 use the same parser of ALC268, the pin 0x1b was ignored
- as an invalid widget. Just add this NID to handle properly.
- This will add the missing mixer controls for some devices.
- - ALSA: hda - Share digital I/O parser in patch_realtek.c
- Make a helper function to parse the digital I/Os of all Realtek codecs
- to simplify the code and to ensure the setups.
- Also, initialize digital I/O pins properly in init callbacks. Some BIOS
- seem to leave pins uninitialized.
- - ALSA: hda - Increase the connection list size for ALC662
- Some ALC662-compatible codecs like ALC892 may have more than 4
- connections for the input source. Use HDA_MAX_CONNECTIONS instead of
- the fixed magic number 4.
- - ALSA: hda - Make error messages more verbose
- Add a prefix and more information for error messages regarding the
- connection-list in hda_codec.c.
- - ALSA: hda - Rename iMic to Int Mic on Lenovo NB0763
- The non-standard name "iMic" makes PulseAudio ignore the microphone.
- BugLink: https://launchpad.net/bugs/605101
- - ALSA: hda - Add a PC-beep workaround for ASUS P5-V
- ASUS P5-V provides a SSID that unexpectedly matches with the value
- compilant with Realtek's specification. Thus the driver interprets
- it badly, resulting in non-working PC beep.
- This patch adds a white-list for such a case; a white-list of known
- devices with working PC beep.
- - ALSA: hda - Assume PC-beep as default for Realtek
- Enable PC-beep as default for hardwares that aren't compliant with the
- SSID value Realtek requires. In such a case, better to enable the beep
- to avoid a regression.
- - ALSA: hda - Don't register beep input device when no beep is available
- We check now the availability of PC beep and skip the build of beep
- mixers, but the driver still registers the input device. This should
- be checked as well.
- - ALSA: hda - Fix pin-detection of Nvidia HDMI
- The behavior of Nvidia HDMI codec regarding the pin-detection unsol events
- is based on the old HD-audio spec, i.e. PD bit indicates only the update
- and doesn't show the current state. Since the current code assumes the
- new behavior, the pin-detection doesn't work relialby with these h/w.
- This patch adds a flag for indicating the old spec, and fixes the issue
- by checking the pin-detection explicitly for such hardware.
- Tested-by: Wei Ni <wni@nvidia.com>
- - ALSA: hda - Fix max amp cap calculation for IDT/STAC codecs
- The commit afbd9b8448f4b7d15673c6858012f384f18d28b8
- ALSA: hda - Limit the amp value to write
- introduced a regression for codec setups with amp offsets like IDT/STAC
- codecs. The limit value should be a raw value without offset calculation.
- - ALSA: hda-intel - fix function_id rework (add missing bitmask)
- - ALSA: hda - Add conexant quirk for AMD based Lenovo G series machines
- This is a follow on patch adds support for AMD based Lenovo G series
- machines, such as the Lenovo G555.
- - ALSA: hda-intel - do not mix audio and modem function IDs
- The function IDs are different for audio and modem. Do not mix them.
- Also, show the unsolicited bit in the function_id register.
- - ALSA: hda - Add support of dual-ADCs for Realtek ALC275
- Some VAIO models with ALC275 have dual ADCs for both internal and external
- mics, and the driver needs to switch one of them appropriately.
- This patch adds a basic support for this functionality, dynamic switching
- between two ADCs per jack plug state.
- - ALSA: hda - Limit the amp value to write
- Check the amp max value at put callbacks and set the upper limit
- so that the driver won't write any invalid value over the defined
- range.
- - ALSA: hda - Add beep mixer support to Conexant codecs
- Added the beep mixer controls to Conexant codecs.
- They simply control the digital beep generator widget.
- For cx5047, I couldn't find any beep generator, so it's not implemented
- there.
- - ALSA: HDA: VT1708S: fix Smart5.1 mode
- Correctly configure bidirectional pins when resuming; do not power down
- widgets when they are needed for Smart5.1 output; and on 3-jack boards,
- create the streams and controls needed for six channels.
- Reported-and-tested-by: Viliam Kubis <viliam.kubis@gmail.com>
- - ALSA: hda - Restore cleared pin controls on resume
- Many codecs now clear the pin controls at suspend via snd_hda_shutup_pins()
- for reducing the click noise at power-off. But this leaves some pins
- uninitialized, and they'll be never recovered after resume.
- This patch adds the proper recovery of cleared pin controls on resume.
- Also it adds a check of bus->shutdown so that pins won't be cleared at
- module unloading.
- Reference: Kernel bug 16339
- http://bugzilla.kernel.org/show_bug.cgi?id=16339
- - ALSA: hda - Enable beep on Realtek codecs with PCI SSID override
- When the PCI SSID gives an overriding SKU assno, PC-beep bit isn't
- detected (since it's located over 16bit), resulting in no PC beep.
- Also, many devices seem ignoring the requirement by Realtek's spec
- for SSID numbers, and it also confuses the PC beep detection.
- This patch assumes the PC beep is available on every machine with
- PCI SSID override. It's a regression fix from 2.6.34.
- Reference: Kernel bug 16251
- http://bugzilla.kernel.org/show_bug.cgi?id=16251
- - ALSA: hda - Add missing ALC680_* definitions
- Also update the documentation.
- - ALSA: hda - Support ALC680 codec
- - ALSA: hda - Add Macbook 5,2 quirk
- BugLink: https://bugs.launchpad.net/bugs/463178
- Set Macbook 5,2 (106b:4a00) hardware to use ALC885_MB5
- - ALSA: hda - Fix uninitialized variable
- Fix the following compile warning. kctl should be NULL-initialized.
- sound/pci/hda/patch_realtek.c: In function ‘alc_build_controls’:
- sound/pci/hda/patch_realtek.c:2550:23: warning: ‘kctl’ may be used uninitialized in this function
- - ALSA: hda - add ideapad model for Conexant 5051 codec
- Lenovo IdeaPad Y430 has an additional subwoofer connected at pin 0x1b,
- which isn't muted when headphone is plugged in. This adds additional
- support to the extra subwoofer via new ideapad model.
- - ALSA: hda - Fix line-in for mb5 model MacBook (Pro) 5,1 / 5,2
- The line-in input is 0x7 not 0x2 for MacBook (Pro) 5,1 / 5,2 models
- - ALSA: hda - Don't check capture source mixer if no ADC is available
- With multiple codec configurations, some codec might have no ADC, thus
- it keeps spec->adc_nids = NULL. This causes an Oops in alc_build_controls().
- Reference: kernel bug #16156
- https://bugzilla.kernel.org/show_bug.cgi?id=16156
- - ALSA: hda - Add SSID table for iMac7,1.
- This patch add's the iMac7,1 SSID entry to
- patch_realtek.c which adds sound support.
- bug entry:
- https://bugs.launchpad.net/mactel-support/+bug/360866
- Note:I do not have this machine on hand only
- codec#0 file for the machine so please
- test if you have the appropriate equipment.
- - ALSA: hda - Add SSID table for MacBookAir1,1
- This patch add's the MacBookAir1,1 SSID entry to
- patch_realtek.c which adds sound support.
- bug entry:
- https://bugs.launchpad.net/mactel-support/+bug/268301
- Note:I do not have this machine on hand only
- codec#0 file for the machine so please
- test if you have the appropriate equipment.
- - ALSA: hda - Add SSID table for MacBookAir2,1
- This adds the SSID number to snd_pci_quirk for the
- MacBookAir2,1 taken from codec#0 at:
- http://launchpadlibrarian.net/49455483/Card0.Codecs.codec.0.txt
- keep in mind I do not have one of these machines on hand
- so please if you do have this machine please test for me..
- - ALSA: hda: Use mb31 quirk for an iMac model
- BugLink: https://launchpad.net/bugs/542550
- Symptom: On the reporter's iMac, in Ubuntu 10.04 LTS neither playback
- nor capture appear audible out-of-the-box.
- Test case: Boot from an Ubuntu 10.04 LTS live cd or from an installed
- configuration and attempt to play or capture audio.
- Resolution: Specify the mb31 quirk for this machine in the codec SSID
- table.
- Reported-and-Tested-By: f3a97
- - ALSA: hda: Add support for another Lenovo ThinkPad Edge in conexant codec
- On a Thinkpad Edge 13 "01972NG" I had the problem that speakers played
- sound although headphones were plugged in. Using model=ideapad with
- latest alsa-git kernel fixed this. So adding this quirk to use ideapad
- for another Thinkpad Edge variant seems sensible.
- - ALSA: hda - Add support for Thinkpad Edge conexant chip
- This quirks in support for the Thinkpad Edge.
- - ALSA: hda: Fix model quirk for Dell M1730
- BugLink: https://launchpad.net/bugs/576160
- Symptom: Currently (2.6.32.12) the Dell M1730 uses the 3stack model
- quirk. Unfortunately this means that capture is not functional out-
- of-the-box despite ensuring that capture settings are unmuted and
- raised fully.
- Test case: boot from Ubuntu 10.04 LTS live cd; capture does not
- work.
- Resolution: Correct the model quirk for Dell M1730 to rely on the
- BIOS configuration.
- This patch also trivially sorts the quirk into the correct section
- based on the comments.
- Reported-and-Tested-By: <picdragon99@msn.com>
- Tested-By: Daren Hayward
- Tested-By: Tobias Krais
- - ALSA: hda - iMac9,1 sound fixes
- First issue:
- With the original patch, I've noticed by unmuting the mic
- (and even having it muted), there is a distorted("Noise")
- coming from the internal speakers, even when the headphones are plugged in.
- What my finding's revealed is:
- /* Mic (rear) pin: input vref at 80% */
- {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80},
- {0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE},
- From the original patch. Looking at codec#0 0x18/0x1a is listed as:
- Node 0x18 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
- Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
- Amp-In vals: [0x00 0x00]
- Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
- Amp-Out vals: [0x00 0x00]
- Pincap 0x0000373c: IN OUT HP Detect
- Vref caps: HIZ 50 GRD 80 100
- Pin Default 0x90100141: [Fixed] Speaker at Int N/A
- Conn = Unknown, Color = Unknown
- DefAssociation = 0x4, Sequence = 0x1
- Misc = NO_PRESENCE
- Pin-ctls: 0x41: OUT VREF_50
- Unsolicited: tag=00, enabled=0
- Connection: 5
- 0x0c* 0x0d 0x0e 0x0f 0x26
- seems this Node is listed as: [Fixed] Speaker while 0x15
- Node 0x15 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
- Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
- Amp-In vals: [0x00 0x00]
- Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
- Amp-Out vals: [0x80 0x80]
- Pincap 0x0000373c: IN OUT HP Detect
- Vref caps: HIZ 50 GRD 80 100
- Pin Default 0x018b3020: [Jack] Line In at Ext Rear
- Conn = Comb, Color = Blue
- DefAssociation = 0x2, Sequence = 0x0
- Pin-ctls: 0x01: VREF_50
- Unsolicited: tag=00, enabled=0
- Connection: 5
- 0x0c 0x0d* 0x0e 0x0f 0x26
- is [Jack] Line In at Ext Rear.
- (looking at the other apple products as examples
- I came up with the fix below).
- Second issue:
- alc885_mbp_4ch_modes
- The original patch does a good job with the
- HP pin automute function, but from what I noticed is I would have to manually
- change the channel form 2 to 4 after plugging the headphones in.
- And not to mention having odd moments to where I was jamming out
- with the headphones on, then later realized I had sound blasting out
- of the speakers as well. My findings revealed that changing
- alc885_mbp_4ch_modes to alc885_mba21_ch_modes and setting
- - spec->autocfg.speaker_pins[0] = 0x15;
- + spec->autocfg.speaker_pins[0] = 0x18;
- gets the automute function when the headphones plugged in working
- flawlessly(and the no need to manually change the channel number
- afterwards).
- Third issue:
- alc885_imac91_mixer
- There probably doesnt need to be anything changed with this
- (esspecially if your one to like lots of sliders),but my findings
- revealed that mac osx only has a master on the top right,
- another switch on itunes, and then a slider for the mic.
- So the changes I did below try and mimic osx as much as possible
- (only thing I had an issue with is just having one mute switch
- on the master, instead of having two(still investigating)).
- fourth issue:
- alc882_capture_source
- I endeded up creating alc889A_imac91_capture_source()
- only because looking at alc882_capture_source I see
- that the mic is set to 0x1 while this works, I also noticed
- that adding 0x1 and 0x01 and testing that 0x1 somehow
- stops working, and 0x01 works(so I figured 0x01 was more
- of the alpha of the numbers(still need to figure out
- where that valuse is)). In any case the microphone
- does work with the original, and with the below patch, but both
- still record not as clean(lots of "Noise", which I would like to
- look into too).
- Note: using alsamixer -Va reveals the capture switches.
- - ALSA: hda: Storage class should be before const qualifier
- The C99 specification states in section 6.11.5:
- The placement of a storage-class specifier other than at the beginning
- of the declaration specifiers in a declaration is an obsolescent
- feature.
- - ALSA: hdmi - dont fail on extra nodes
- The number of HDMI nodes is expected to go up in future.
- So don't fail hard on seeing extra converter/pin nodes.
- We can still operate safely on the nodes within
- MAX_HDMI_CVTS/MAX_HDMI_PINS.
- - ALSA: intelhdmi - add id for the CougarPoint chipset
- Add id for Intel CougarPoint HDMI audio codec.
- CougarPoint provides 3 Audio Converters.
- Increase MAX_HDMI_CVTS/MAX_HDMI_PINS accordingly.
- - ALSA: intelhdmi - user friendly codec name
- Use the full chipset codename as codec name.
- They are more user friendly than the spec abbrs.
- - ALSA: hda - Add hp-dv4 model for IDT 92HD71bx
- It turned out that HP dv series have inconsistent the mute-LED GPIO
- mapping among various models. dv4/7 seem to use GPIO 0 while dv 5/6
- seem to use GPIO 3. The previous commit
- 26ebe0a28986f4845b2c5bea43ac5cc0b9f27f0a
- ALSA: hda - Fix mute-LED GPIO pin for HP dv series
- breaks dv5/6.
- This patch adds the new quirk model, hp-dv4, to handle HP dv4/7
- separately from HP dv5/6.
- Tested-by: Kunal Gangakhedkar <kunal.gangakhedkar@gmail.com> (for dv6-1110ax)
- - ALSA: hda - add support for Lenovo ThinkPad X100e in conexant codec
- Ideapad quirks working for my ThinkPad X100e (microphone is not tested).
- - ALSA: hda - Fix mute-LED GPIO pin for HP dv series
- Old HP dv series seem to use the GPIO pin 0 for controlling the mute LED
- although the pin is a large package, where the newer models use GPIO 3
- in such a case. For fixing the regression from the previous kernels,
- set spec->gpio_led statically for these model quirks.
- - ALSA: hda: Fix 0 dB for Lenovo models using Conexant CX20549 (Venice)
- Reference: http://mailman.alsa-project.org/pipermail/alsa-devel/2010-May/027525.html
- As reported on the mailing list, we also need to cap to the 0 dB offset
- for Lenovo models, else the sound will be distorted.
- Reported-and-Tested-by: Tim Starling <tstarling@wikimedia.org>
- - ALSA: hda: enable SPDIF output for Conexant 5051/Lenovo docking stations
- This patch enables the SPDIF output pin by default. It also enables
- it for quirks related to Levono docking stations (x200 and 25041,
- identified with the same 17aa:20f2 ID). Even though not all Lenovo
- docking stations have SPDIF connectors, enabling the pin by default
- shouldn't be a problem for anyone.
- Other quirks remain unmodified.
- - ALSA: Revert "ALSA: hda/realtek: quirk for D945GCLF2 mainboard"
- This reverts commit 7aee67466536bbf8bb44a95712c848a61c5a0acd.
- As it doesn't seem to be universally valid for all mainboard revisions of
- the D945GCLF2 and breaks snd-hda-intel/ snd-hda-codec-realtek on the Intel
- Corporation "D945GCLF2" (LF94510J.86A.0229.2009.0729.0209) mainboard.
- 00:1b.0 Audio device [0403]: Intel Corporation N10/ICH 7 Family High Definition Audio Controller [8086:27d8] (rev 01)
- - ALSA: hda - fix DG45ID SPDIF output
- This reverts part of commit 52dc438606d1e, in order to fix a regression:
- broken SPDIF output on Intel DG45FC motherboard (IDT 92HD73E1X5 codec).
- --- DG45FC-IDT-codec-2.6.32 (SPDIF OK)
- +++ DG45FC-IDT-codec-2.6.33 (SPDIF broken)
- Node 0x22 [Pin Complex] wcaps 0x400301: Stereo Digital
- Pincap 0x00000010: OUT
- - Pin Default 0x40f000f0: [N/A] Other at Ext N/A
- - Conn = Unknown, Color = Unknown
- - DefAssociation = 0xf, Sequence = 0x0
- - Pin-ctls: 0x00:
- + Pin Default 0x014510a0: [Jack] SPDIF Out at Ext Rear
- + Conn = Optical, Color = Black
- + DefAssociation = 0xa, Sequence = 0x0
- + Pin-ctls: 0x40: OUT
- Connection: 3
- 0x25* 0x20 0x21
- Node 0x23 [Pin Complex] wcaps 0x400301: Stereo Digital
- Pincap 0x00000010: OUT
- - Pin Default 0x01451140: [Jack] SPDIF Out at Ext Rear
- + Pin Default 0x074510b0: [Jack] SPDIF Out at Ext Rear Panel
- Conn = Optical, Color = Black
- - DefAssociation = 0x4, Sequence = 0x0
- - Misc = NO_PRESENCE
- - Pin-ctls: 0x40: OUT
- + DefAssociation = 0xb, Sequence = 0x0
- + Pin-ctls: 0x00:
- Connection: 3
- 0x26* 0x20 0x21
- Tested-by: David Härdeman <david@hardeman.nu>
- - ALSA: hda - Add quirk for Dell Inspiron 19T using a Conexant CX20582
- Add a quirk for all-in-one computer Dell Inspiron One 19 Touch to have proper
- HP and Mic support.
- - ALSA: hda: Use olpc-xo-1_5 quirk for Toshiba Satellite P500-PSPGSC-01800T
- BugLink: https://launchpad.net/bugs/549267
- The OR verified that using the olpc-xo-1_5 model quirk allows the
- headphones to be audible when inserted into the jack. Capture was
- also verified to work correctly.
- Reported-by: Richard Gagne
- Tested-by: Richard Gagne
- - ALSA: hda: Use olpc-xo-1_5 quirk for Toshiba Satellite Pro T130-15F
- BugLink: https://launchpad.net/bugs/573284
- The OR verified that using the olpc-xo-1_5 model quirk allows the
- headphones to be audible when inserted into the jack. Capture was
- also verified to work correctly.
- Reported-by: Andy Couldrake <acouldrake@googlemail.com>
- Tested-by: Andy Couldrake <acouldrake@googlemail.com>
- - ALSA: hda - Remove superfluous external amp setup for ALC888
- We had a fixed external amp setup enabled for ALC888, but this seems
- unnecessary. The amps are controlled rather by GPIOs.
- Let's remove it now.
- - ALSA: hda: Fix 0 dB for Packard Bell models using Conexant CX20549 (Venice)
- BugLink: https://launchpad.net/bugs/541802
- The OR's hardware distorts at PCM 100% because it does not correspond to
- 0 dB. Fix this in patch_cxt5045() for all Packard Bell models.
- Reported-by: Valombre
- - ALSA: hda - fix array indexing while creating inputs for Cirrus codecs
- This fixes a problem where cards show up as only having a single mixer
- element, suppressing all sound output.
- - ALSA: hda: Use STAC_DELL_M6_BOTH quirk for Dell Studio 1558
- BugLink: https://launchpad.net/bugs/568600
- The OR has verified that the dell-m6 model quirk is necessary for audio
- to be audible by default on the Dell Studio XPS 1645.
- This change is necessary for 2.6.32.11 and 2.6.33.2 alike.
- Reported-by: Andy Ross <andy@plausible.org>
- Tested-by: Andy Ross <andy@plausible.org>
- - ALSA: hda: Use ALC880_F1734 quirk for Fujitsu Siemens AMILO Xi 1526
- BugLink: https://launchpad.net/bugs/567494
- The OR has verified that the existing model quirk, ALC880_UNIWILL,
- is insufficient for audible playback and capture by default. Instead,
- the ALC880_F1734 model quirk needs to be used.
- This change is necessary for both 2.6.32.11 and 2.6.33.2.
- Reported-by: Arnaud Malpeyre <amalpeyre@gmail.com>
- Tested-by: Arnaud Malpeyre <amalpeyre@gmail.com>
- - ALSA: hda: Use STAC_DELL_M6_BOTH quirk for Dell Studio XPS 1645
- BugLink: https://launchpad.net/bugs/553002
- The OR has verified that the dell-m6 model quirk is necessary for audio
- to be audible by default on the Dell Studio XPS 1645.
- This change is necessary for 2.6.32.11 and 2.6.33.2 alike.
- Reported-by: Robert Chambers
- Tested-by: Robert Chambers
- - ALSA: hda - Fix resume from StR of HP 2510p with docking-station
- When HP laptop with AD1981 codec is suspended and the docking-station
- is connected before the resume, the outputs get confused, and wrongly
- routed still to the speaker. This is because of a change in 2.6.34-rc1
- ea52bf260ecbb175339af3178c15788df21b7516
- ALSA: hda: Add powerdown for Analog Devices HDA codecs
- The problem was the added resume callback that doesn't consider the
- modified init hook. The fix is simply remove the resume callback here
- and make the resume normally. This doesn't change any behavior intended
- in the commit above (for shutting down the sound at suspend) but only
- fixes the resume.
- Reported-and-tested-by: Frans Pop <elendil@planet.nl>
HDA Intel driver
- - ALSA: hda - Add support for VMware controller
- Add the new PCI ID 0x15ad and device ID 0x1977 for VMware HDAudio
- Controller.
- [changed to use AZX_DRIVER_GENERIC by tiwai]
- - ALSA: hda: Use LPIB quirk for Dell Inspiron m101z/1120
- Sjoerd Simons reports that, without using position_fix=1, recording
- experiences overruns. Work around that by applying the LPIB quirk
- for his hardware.
- Reported-and-tested-by: Sjoerd Simons <sjoerd@debian.org>
- - ALSA: hda: Use position_fix=1 for Acer Aspire 5538 to enable capture on internal mic
- BugLink: https://launchpad.net/bugs/685161
- The reporter of the bug states that he must use position_fix=1 to enable
- capture for the internal microphone, so set it for his machine's PCI
- SSID. Verified using 2.6.35 and the 2010-12-04 alsa-driver build.
- Reported-and-tested-by: Ralph Wabel <rwabel@gmx.net>
- - ALSA: hda-intel: support for period wakeup disabling
- Allow disabling period wakeup interrupts for HDA PCM streams.
- - ALSA: hda - Add workarounds for CT-IBG controllers
- Creative IBG controllers require the playback stream-tags to be started
- from 1, instead of capture+1. Otherwise the stream stalls.
- Reported-by: Wai Yew CHAY <wychay@ctl.creative.com>
- - ALSA: hda - Add some workarounds for Creative IBG
- Creative HD-audio controller chips require some workarounds:
- - Additional delay before RIRB response
- - Set the initial RIRB counter to 0xc0
- The latter seems to be done in general in Windows driver, so we may
- use this value later for all types if it's confirmed to work better.
- Reported-by: Wai Yew CHAY <wychay@ctl.creative.com>
- - ALSA: HDA: Correctly apply position_fix quirks for ATI and VIA controllers
- Position_fix quirks for specific machines now override the default
- position_fix behavior for all HDA controllers.
- BugLink: http://launchpad.net/bugs/465942
- BugLink: http://launchpad.net/bugs/580749
- BugLink: http://launchpad.net/bugs/587546
- - ALSA: HDA: Add position_fix=3 module option, and refactor related code
- What was previously known as via_dmapos_patch, and hard-coded to be
- used for VIA and ATI controllers, is now configurable through a module
- option. The background is that some VIA controllers seem to prefer
- via_dmapos_patch to be turned off.
- - ALSA: hda: add Vortex86MX PCI ids
- - ALSA: hda - Reduce pci id list for Intel with class id
- Most of Intel controllers work as generic HD-audio without quirks,
- and it'll be hopefully so in future. Let's mark pci id with the
- PCI_CLASS_MULTIMEDIA_HD_AUDIO for Intel so that the driver will work
- with any new control chips in future.
- - ALSA: hda_intel: ALSA HD Audio patch for Intel Patsburg DeviceIDs
- This patch adds the Intel Patsburg (PCH) HD Audio Controller DeviceIDs.
- - ALSA: hda - Make converter setups sticky
- So far, we reset the converter setups like the stream-tag, the
- channel-id and format-id in prepare callbacks, and clear them in
- cleanup callbacks. This often causes a silence of the digital
- receiver for a couple of seconds.
- This patch tries to delay the converter setup changes as much as
- possible. The converter setups are cached and aren't reset as long
- as the same values are used. At suspend/resume, they are cleared
- to be recovered properly, too.
- - ALSA: hda - More relax for pending period handling
- Since the pending periods are often bogus and take long time until
- actually processed, it often results in a high CPU usage of the hd-audio
- workq. Overall it's better to have low CPU consumption by avoiding a
- too tight loop rather than the wake-up timing accuracy.
- - ALSA: hda - Set Stream Type in Stream Format according to AES0
- Set bit 15 (Stream Type) of HDA Stream Format to 1 (Non-PCM) when IEC958
- channel status bit 1 (AES0 & 0x02) is set to 1 (non-audio).
- This is a prequisite for HDMI HBR passthrough.
- - ALSA: hda-intel - fix wallclk variable update and condition
- This patch fixes thinko introduced in "last minutes" before commiting
- of the last wallclk patch.
- It also fixes the condition checking if the first period after last
- wallclk update is processed. There is a little rounding error in
- period_wallclk.
- - ALSA: hda: Use LPIB for ASUS M2V
- BugLink: https://launchpad.net/bugs/587546
- Symptom: On the reporter's ASUS M2V, using PulseAudio in Ubuntu 10.04 LTS
- results in the PA daemon crashing shortly after attempting playback of an
- audio file.
- Test case: Using Ubuntu 10.04 LTS (Linux 2.6.32.12), Linux 2.6.33, or
- Linux 2.6.34, attempt playback of an audio file while PulseAudio is
- active.
- Resolution: add SSID for this machine to the position_fix quirk table,
- explicitly specifying the LPIB method.
- Reported-and-Tested-By: D Tangman
- - ALSA: hda: Use LPIB for another mainboard
- BugLink: https://launchpad.net/bugs/580749
- Symptom: on the original reporter's VIA VT1708-based board, the
- PulseAudio daemon dies shortly after the user attempts to play an audio
- file.
- Test case: boot from Ubuntu 10.04 LTS live cd; attempt to play an audio
- file.
- Resolution: add SSID for the original reporter's hardware to the
- position_fix quirk table, explicitly specifying the LPIB method.
- Reported-and-Tested-By: Harald
- - ALSA: hda: Use LPIB for an ASUS device
- BugLink: https://launchpad.net/bugs/465942
- Symptom: On the reporter's ASUS device, using PulseAudio in Ubuntu 10.04
- LTS results in the PA daemon crashing shortly after attempting to select
- capture or to configure the audio hardware profile.
- Test case: Using Ubuntu 10.04 LTS (Linux 2.6.32.12), Linux 2.6.33, or
- Linux 2.6.34, adjust the HDA device's capture volume with PulseAudio.
- Resolution: add SSID for this machine to the position_fix quirk table,
- explicitly specifying the LPIB method.
- Reported-and-Tested-By: Irihapeti
- - ALSA: hda: Use LPIB for a Shuttle device
- BugLink: https://launchpad.net/bugs/551949
- Symptom: On the reporter's Shuttle device, using PulseAudio in Ubuntu
- 10.04 LTS results in "popping clicking" audio with the PA crashing
- shortly thereafter.
- Test case: Using Ubuntu 10.04 LTS (Linux 2.6.32.12), Linux 2.6.33, or
- Linux 2.6.34, adjust the HDA device's volume with PulseAudio.
- Resolution: add SSID for this machine to the position_fix quirk table,
- explicitly specifying the LPIB method.
- Reported-and-Tested-By: Christian Mehlis <mehlis@inf.fu-berlin.de>
- - ALSA: hda: Use LPIB for Sony VPCS11V9E
- BugLink: https://launchpad.net/bugs/586347
- Symptom: On the Sony VPCS11V9E, using GStreamer-based applications with
- PulseAudio in Ubuntu 10.04 LTS results in stuttering audio. It appears
- to worsen with increased I/O.
- Test case: use Rhythmbox under increased I/O pressure. This symptom is
- reproducible in the current daily stable alsa-driver snapshots (at least
- up until 21 May 2010; later snapshots fail to build from source due to
- missing preprocessor directives when compiled against 2.6.32).
- Resolution: add SSID for this machine to the position_fix quirk table,
- explicitly specifying the LPIB method.
- Reported-and-Tested-By: Lauri Kainulainen <lauri@sokkelo.net>
- - ALSA: hda_intel: fix handling of non-completion stream interrupts
- Check that the interrupt raised for a stream is actually a buffer
- completion interrupt before handling it as one. Otherwise, memory
- errors or FIFO xruns would be interpreted as a pointer update and could
- break the stream timing.
- - ALSA: hda: Use LPIB for Toshiba A100-259
- BugLink: https://launchpad.net/bugs/549560
- Symptom: on a significant number of hardware, booting from a live cd
- results in capture working correctly, but once the distribution is
- installed, booting from the install results in capture not working.
- Test case: boot from Ubuntu 10.04 LTS live cd; capture works correctly.
- Install to HD and reboot; capture does not work. Reproduced with 2.6.32
- mainline build (vanilla kernel.org compile)
- Resolution: add SSID for Toshiba A100-259 to the position_fix quirk
- table, explicitly specifying the LPIB method.
- I'll be sending additional patches for these SSIDs as bug reports are
- confirmed.
- This patch also trivially sorts the quirk table in ascending order by
- subsystem vendor.
- Reported-and-Tested-by: <davide.molteni@gmail.com>
- - ALSA: hda: Use LPIB for Acer Aspire 5110
- BugLink: https://launchpad.net/bugs/583983
- Symptom: on a significant number of hardware, booting from a live cd
- results in capture working correctly, but once the distribution is
- installed, booting from the install results in capture not working.
- Test case: boot from Ubuntu 10.04 LTS live cd; capture works correctly.
- Install to HD and reboot; capture does not work. Reproduced with 2.6.32
- mainline build (vanilla kernel.org compile).
- Resolution: add SSID for Acer Aspire 5110 to the position_fix quirk
- table, explicitly specifying the LPIB method.
- I'll be sending additional patches for these SSIDs as bug reports are
- confirmed.
- Reported-and-Tested-By: Leo
- - [ALSA] snd-hda-intel: Improve azx_position_ok()
- Add back the zero return value (activate workqueue) when
- bdl_pos_adj is nonzero for position check.
- Do the position related check only for first next period
- using wallclk counter.
- Return -1 value (ignore interrupt) when period_bytes
- variable is zero.
- - [ALSA] snd-hda-intel: use WALLCLK register to check for early irqs
- Use 24Mhz WALLCLK register to ignore too early interrupts and
- wrong interrupt status. The bad timing confuses the higher ALSA
- layer and causes audio skipping. More information about behaviour
- and debugging can be found in kernel bz#15912.
- https://bugzilla.kernel.org/show_bug.cgi?id=15912
- - ALSA: hda - Fixes distorted recording on US15W chipset
- The HDA controller in US15W (Poulsbo) reports inaccurate position values
- for capture streams when using the LPIB read method, resulting in
- distorted recordings.
- However, using the position buffer is broken for playback streams,
- resulting in a fallback to the LPIB method with the current driver.
- This patch works around the issue by independently detecting the read
- position method for capture and playback streams.
- The patch will not have any effect if the position fix method is
- explicitly set.
- [Code simplified by tiwai]
- - ALSA: hda: Use LPIB quirk for DG965OT board version AAD63733-203
- BugLink: https://launchpad.net/bugs/459083
- The OR has verified with 2.6.32.11 and the latest alsa-driver stable
- daily snapshot that position_fix=1 is necessary for the external mic
- to work and for PulseAudio not to crash constantly.
- This patch is necessary also for 2.6.32.11 and 2.6.33.2.
- Reported-by: <imwithid@yahoo.com>
- Tested-by: <imwithid@yahoo.com>
HDA generic driver
- - Add dummy modules to avoid conflict with old modules
- All HDMI codec modules were now unified to a single module, but when
- old HDMI modules are present in the kernel module directory, they are
- still searched and may be loaded eventually.
- For fixing this, create dummy modules so that they override the existing
- non-used modules.
- - Regenerated hda_beep.patch
- - ALSA: HDA: Fix dmesg output of HDMI supported bits
- This typo caused the dmesg output of the supported bits of HDMI
- to be cut off early.
- - ALSA: hda - consitify string arrays
- - ALSA: hda - Reset sample sizes and max bitrates when reading ELD
- When a new HDMI/DP device is plugged in, hdmi_update_short_audio_desc()
- is called for every SAD (Short Audio Descriptor) in the ELD data. For
- LPCM coding type SAD defines the supported sample sizes. For several
- other coding types (such as AC-3), a maximum bitrate is defined.
- The maximum bitrate and sample size fields are not always cleared.
- Therefore, if a device is unplugged and a different one is plugged in,
- and the coding types of some SAD positions differ between the devices,
- the old max_bitrate or sample_bits values will persist if the new SADs
- do not define those values.
- The leftover max_bitrate and sample_bits do not cause any issues other
- than wrongly showing up in eld#X.Y procfs file and kernel log.
- Fix that by always clearing sample_bits and max_bitrate when reading
- SADs.
- - ALSA: hda - Always allow basic audio irrespective of ELD info
- Commit bbbe33900d1f3c added functionality to restrict PCM parameters
- based on ELD info (derived from EDID data) of the audio sink.
- However, according to CEA-861-D no SAD is needed for basic audio
- (32/44.1/48kHz stereo 16-bit audio), which is instead indicated with a
- basic audio flag in the CEA EDID Extension.
- The flag is not present in ELD. However, as all audio capable sinks are
- required to support basic audio, we can assume it to be always
- available.
- Fix allowed audio formats with sinks that have SADs (Short Audio
- Descriptors) which do not completely overlap with the basic audio
- formats (there are no reports of affected devices so far) by always
- assuming that basic audio is supported.
- Reported-by: Stephen Warren <swarren@nvidia.com>
- - ALSA: hda - Do not wrongly restrict min_channels based on ELD
- Commit bbbe33900d1f3c added functionality to restrict PCM parameters
- based on ELD info (derived from EDID data) of the audio sink.
- However, it wrongly assumes that the bits 0-2 of the first byte of
- CEA Short Audio Descriptors mean a supported number of channels. In
- reality, they mean the maximum number of channels (as per CEA-861-D
- 7.5.2). This means that the channel count can only be used to restrict
- max_channels, not min_channels.
- Restricting min_channels causes us to deny opening the device in stereo
- mode if the sink only has SADs that declare larger numbers of channels
- (like Primare SP32 AV Processor does).
- Fix that by not restricting min_channels based on ELD information.
- Reported-by: Jean-Yves Avenard <jyavenard@gmail.com>
- Tested-by: Jean-Yves Avenard <jyavenard@gmail.com>
- - ALSA: HDA: Sigmatel: work around incorrect master muting
- The HDA specification does not allow for a codec to mute itself just
- because the volume is reduced, so _of course_ somebody had to go and do
- it. This wouldn'\t hurt too much when the volume is adjusted by hand,
- but programs like PA that try to set the volume automatically could
- inadvertently mute the output.
- To work around this, change the TLV dB information for the Master volume
- on all Sigmatel HDA codecs to indicate the the minimal volume setting
- actually mutes.
- Reported-by: Colin Guthrie <gmane@colin.guthr.ie>
- Reported-by: "Alexander E. Patrakov" <patrakov@gmail.com>
- Tested-by: Colin Guthrie <cguthrie@mandriva.org>
- - ALSA: hda - Merge all HDMI modules into the unified module
- This patch merges all three patch_*hdmi variants to the single HDMI
- parser. There is only one snd-hda-codec-hdmi module now.
- In this patch, the behavior of each parser isn't changed much.
- The old ATI parser still doesn't use the dynamic parser yet.
- In later patches, they'll be cleaned up.
- Also, this patch gets rid of the individual snd-hda-eld module and
- builds into snd-hda-codec-hdmi, since this is referred only from the
- HDMI parser.
- - ALSA: hda - Make snd_hda_get_input_pin_attr() helper
- Make the helper function to give the input-pin attribute for jack
- connectivity and location. This simplifies checks of input-pin jacks
- a bit in some places.
- - ALSA: hda - Improve the input source name labels
- This patch improves the input-source label strings to be generated from
- the pin information instead of fixed strings per AUTO_PIN_* type.
- This gives more suitable labels, especially for mic and line-in pins.
- - ALSA: hda - Remove AUTO_PIN_FRONT_{MIC|LINE}
- We can assign multiple pins to a single role now, let's reduce the
- redundant FRONT_MIC and FRONT_LINE. Also, autocfg->input_pins[] is
- no longer used, so this is removed as well.
- - ALSA: hda - Keep char arrays in input_mux items
- Keep char array in the input_mux item itself instead of pointing to
- an external string. This is a preliminary work for improving the
- input-mux name based on the pin role.
- - ALSA: hda - Add snd_hda_get_input_pin_label() helper function
- Added snd_hda_get_input_pin_label() helper function to return the
- string that can be used for control or capture-source ids.
- - ALSA: hda - Add inputs[] to auto_pin_cfg struct
- Added the new fields to contain all input-pins to struct auto_pin_cfg.
- Unlike the existing input_pins[], this array contains all input pins
- even if the multiple pins are assigned for a single role (i.e. two
- front mics). The former input_pins[] still remains for a while, but
- will be removed in near future.
- - ALSA: hda - Fix build error with CONFIG_PROC_FS=n
- hdmi_eld_update_pcm_info() must be always compiled in.
- - ALSA: hda - Restrict PCM parameters per ELD information over HDMI
- When a device is plugged over HDMI, it passes some information in ELD
- including the supported PCM parameters like formats, rates, channels.
- This patch adds the check to PCM open callback of HDMI streams so that
- only valid parameters the device supports are used.
- When no device is plugged, the parameters the codec supports are used;
- it's mostly all parameters the hardware can work. This is for apps
- that are started before device plugging and do probing (e.g. a sound
- daemon), so that at least, probing would work even before the device
- plugging.
- - ALSA: hda - Ensure codec patch files are checked for the correct codec ID
- - ALSA: hda-intel - do not mix audio and modem function IDs
- The function IDs are different for audio and modem. Do not mix them.
- Also, show the unsolicited bit in the function_id register.
- - ALSA: intelhdmi - add dependency on SND_DYNAMIC_MINORS
- This is necessary to support >=3 HDMI playback devices
- starting from the CougarPoint codec.
- - fix comment typo in sound/pci/hda/hda_local.h
- I think this should be automatic pin instead of ping.
- (but could be wrong).