History log of /freebsd-current/sys/dev/sound/pci/hda/hdaa_patches.c
Revision Date Author Comments
# 93ad59a2 22-May-2024 Lutz Bichler <Lutz.Bichler@gmail.com>

snd_hda: Add patch for Asus UX331UAL

PR: 242802
MFC after: 1 day
Differential Revision: https://reviews.freebsd.org/D45238


# 27895336 14-May-2024 Christos Margiolis <christos@FreeBSD.org>

snd_hda: Rename LENOVO_I* to LENOVO_IDEAPAD*

Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D45105


# 54cc353f 14-May-2024 Christos Margiolis <christos@FreeBSD.org>

snd_hda: Add patch for Lenovo Ideapad 3

Reported by: bsd-lists@bsdforge.com
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D45100


# 5968e477 18-Feb-2024 Dmitry Lukhtionov <dmitryluhtionov@gmail.com>

snd_hda: Add patches for the Lenovo Ideapad 330-15 and ThinkPad X230

PR: 259640
MFC after: 2 weeks
Reviewed by: delphij, markj
Differential Revision: https://reviews.freebsd.org/D43804


# 5aacf339 18-Aug-2023 John Baldwin <jhb@FreeBSD.org>

sys: Remove SND_DECLARE_FILE

Reviewed by: kbowling, imp, emaste
Differential Revision: https://reviews.freebsd.org/D41499


# 82a265ad 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: sound driver version

Remove /SND_DECLARE_FILE\("\$FreeBSD\$"\);/


# 4d846d26 10-May-2023 Warner Losh <imp@FreeBSD.org>

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix


# b44869cb 16-Sep-2022 Nuno Teixeira <eduardo@FreeBSD.org>

sound: add patch for Lenovo Legion 5 Intel

Laptop Legion Lenovo 5 15MH05 (Intel)

Patch to fix the sound on this machine.
It requires sending the speaker and the headphone jack to the same nid.

PR: 265632
Approved by: emaste
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D36511


# d88dc1b0 28-Aug-2022 Pavel Timofeev <timp87@gmail.com>

hda: add patch for Framework laptop v2 headphone jack

Fix headphone (12th gen Intel laptops) and mic jack (both 11th and
12th gen) switching.

PR: 262579
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D36354


# 5abe1789 01-Aug-2022 Gleb Popov <arrowd@FreeBSD.org>

hda: Add a patch for ASUS ROG GL553VE.

Summary:
This change enables headset detection on the laptop.

PR: 256169

Approved by: mav

Differential Revision: https://reviews.freebsd.org/D36007


# 06731139 17-Mar-2022 Ed Maste <emaste@FreeBSD.org>

hda: add patch for Framework laptop headphone jack

For Framework laptops built after Oct 2021 (like mine) that have a Tempo
Semiconductor 92HD95B codec rather than Realtek ALC295 (see
https://frame.work/ca/en/blog/solving-for-silicon-shortages).

As we do for many other laptops, put the headphone jack and speakers in
the same association by default so that the generic sound device
automatically switches between them. Also specify the jack colour and
location.

Reviewed by: markj
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D34596


# 45f0e571 19-May-2021 Philippe Michaud-Boudreault <pitwuu@gmail.com>

sound: add patch for Lenovo Legion 5 AMD

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D30333


# 29b4fa78 03-Aug-2021 Gleb Smirnoff <glebius@FreeBSD.org>

hdaa: add missing break in hdac_pin_patch().

Fixes driver attach on my Thinkpad X1 Carbon, and likely on
many other ALC family devices.

Fixes: ef790cc7407e827db9563d08a52a71ab36436986


# c43bf3f5 11-Jul-2021 Xin LI <delphij@FreeBSD.org>

snd_hda(4): Fix sound on headset jack for ThinkPad T51.

sys/dev/sound/pci/hda/hdaa_patches.c:
match_pin_patches: Use HDA_DEV_MATCH instead of regular ==

sys/dev/sound/pci/hda/pin_patch_realtek.h:
Add quirk for Lenovo laptops when ALC298 is used.


# ef790cc7 03-Jul-2021 K Staring <qdk@quickdekay.net>

hdaa: update pin patch configurations

A number of structural changes:
- Use decimal nid numbers instead of hex
- updated the branch to incoorporate the suggestions made in the
ALC280 pull request github thread
- Convert magic pin values into strings.
- Also update hdaa_patches to use clearer enums..
- made pin patch type enum clearer, add macro for 'string' type
patches
- Added pin_patch structures to separate data from logic.
- Integrated Realtek patches into new structure.

These incorporate fixes for ALC255, ALC256, ALC260, ALC262, ALC268,
ALC269, ALC280, ALC282, ALC283, ALC286, ALC290, ALC293, ALC296, ALC2880

And have definitions for a number of Dell and HP laptops.

Much of this data has been mined fromt he tables in the Linux driver.

imp squashed these into one commit because the changes from the github
pull requests no longer cleanly apply individually and made light style
changes after feedback from jhb.

Pull Request: https://github.com/freebsd/freebsd-src/pull/139
Pull Request: https://github.com/freebsd/freebsd-src/pull/140
Pull Request: https://github.com/freebsd/freebsd-src/pull/141
Pull Request: https://github.com/freebsd/freebsd-src/pull/142
Pull Request: https://github.com/freebsd/freebsd-src/pull/143
Pull Request: https://github.com/freebsd/freebsd-src/pull/144
Pull Request: https://github.com/freebsd/freebsd-src/pull/145
Pull Request: https://github.com/freebsd/freebsd-src/pull/146
Pull Request: https://github.com/freebsd/freebsd-src/pull/147
Pull Request: https://github.com/freebsd/freebsd-src/pull/148
Pull Request: https://github.com/freebsd/freebsd-src/pull/149
Pull Request: https://github.com/freebsd/freebsd-src/pull/150
Differential Revision: https://reviews.freebsd.org/D30619


# 5d698386 19-May-2021 Philippe Michaud-Boudreault <pitwuu@gmail.com>

hda: correct comment about Asus laptop digital mics

Reported in review D30333

MFC after: 1 week


# d3eca31e 09-Dec-2019 Mark Johnston <markj@FreeBSD.org>

Configure headphone redirection for the Dell L780 and X1 Carbon 7th gen.

As we do for many other laptops, put the headphone jack and speakers in
the same association by default so that the generic sound device
automatically switches between them.

MFC after: 1 week
Sponsored by: The FreeBSD Foundation


# b7d6b3ff 17-Oct-2019 Ed Maste <emaste@FreeBSD.org>

snd_hda: style(9) whitespace fixup

PR: 241299
Submitted by: Neel Chauhan


# 5473ef87 21-Aug-2019 Xin LI <delphij@FreeBSD.org>

Fix sound on headset jack for ThinkPad T51.


# 8a323852 19-Aug-2019 Jung-uk Kim <jkim@FreeBSD.org>

Partially revert the previous commit.

It was an experiment and not meant to be committed. :-(


# ff0107de 19-Aug-2019 Jung-uk Kim <jkim@FreeBSD.org>

Fix sound on headset jack for Lenovo Thinkpad X1 Carbon Gen 6 (model 20KH).

Note this commit was inspired by r350433.

MFC after: 2 weeks


# 145b1792 29-Jul-2019 Marcelo Araujo <araujo@FreeBSD.org>

Fix sound on headset jack for ALC255 and ALC256 codec.

PR: 219350 [1], [2]
Submitted by: Masachika ISHIZUKA (ish_at_amail.plala.or.jp) [1]
Neel Chauhan (neel_at_neelc.org) [2]
uri Momotyuk (yurkis_at_gmail.com) [3]
Reported by: miwi
Reviewed by: mav
Obtained from: https://github.com/trueos/trueos/pull/279 [3]
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D19017


# 20694769 22-Jan-2019 Vladimir Kondratyev <wulf@FreeBSD.org>

Add quirk to enable mic and headphones redirection on HP Spectre laptops.

Tested on HP AF006UR.

MFC after: 2 weeks


# 49de5ec3 23-Apr-2018 Sean Bruno <sbruno@FreeBSD.org>

hda(4)
- add quirk for Dell XPS9560 audio gleaned and massages from linux

https://github.com/freebsd/freebsd/pull/137

Submitted by: K Staring
MFC after: 3 days
Relnotes: yes


# 718cf2cc 27-Nov-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

sys/dev: further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.


# 6861837c 03-Dec-2016 Pyun YongHyeon <yongari@FreeBSD.org>

Fix too low volume on MSI H170 GAMING M3 board by poking vendor
specific COEF.


# d575325b 20-Jul-2015 Alexander Motin <mav@FreeBSD.org>

Increase output amp on ASUS UX31A by +5dB.

While there, implement couple helper functions.


# 420827da 14-Apr-2015 Rui Paulo <rpaulo@FreeBSD.org>

snd_hda: add support for the Lenovo X1 20BS model.

This requires a patch to redirect the output to a separate DAC when
the headphones are used. While there, add device strings for Intel
Broadwell HDA controllers and Realtek ALC292 codecs.

MFC after: 1 week


# 3fdeac5b 27-Jul-2014 Adrian Chadd <adrian@FreeBSD.org>

Update from mav@ - don't break the input switching.


# dcd85063 27-Jul-2014 Adrian Chadd <adrian@FreeBSD.org>

Add support for my Lenovo T400.

Tested:

* Lenovo T400, model w/ P8700 Intel CPU on-board


# 05929f8b 13-Jul-2014 Mark Johnston <markj@FreeBSD.org>

Add a headphone redirection quirk for the Lenovo G580.

MFC after: 1 week


# d98052c4 23-Apr-2014 Marius Strobl <marius@FreeBSD.org>

Add quirk to configure headphones redirection on Intel DH87RL boards.

MFC after: 3 days


# 42cb359e 05-Feb-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Use system macro instead of own hand-rolled one.


# 6b97b1b3 05-Feb-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Add more quirks for making builtin audio speakers work with more
MacBookPro's. Only tested with MacBookPro 9,2.

Obtained from: Linux
MFC after: 1 week


# fff11ae8 08-Jul-2013 Alexander Motin <mav@FreeBSD.org>

Add quirk to configure headphones redirection on ASUS UX31A laptop.

MFC after: 3 days


# 156860b2 18-May-2013 Sean Bruno <sbruno@FreeBSD.org>

Update snd quirks for T520, T420, X220.

Group onboard mic and headphone mic jack together. Creates association that
will switch between microphone inputs depending on the state of the headphone
jack being connected to a live mic.

Fixes onboard mic not working at all on T520.

Tested on T520, T420.
Suspect X220 needs this too, untested on.

MFC after: 1 month


# 7019329c 27-Mar-2013 Alexander Motin <mav@FreeBSD.org>

Add Subsystem ID field to the quirk table. Use it to identify Mac Pro 1,1,
which requires OVREF to be set to get proper playback volume, but which has
all zeroes in HDA controller subdevice IDs on PCI.

MFC after: 1 month
Sponsored by:


# b4cd804a 13-Mar-2013 Xin LI <delphij@FreeBSD.org>

Add quirk for Lenovo T530 headphone redirection.

MFC after: 2 weeks


# aa4dd0f2 12-Mar-2013 Gleb Smirnoff <glebius@FreeBSD.org>

More Lenovo headphones redirection quirks: Lenovo T430, Lenovo T430S.

Submitted by: Sergey Nasonov <snasonov bcc.ru>, T430
Submitted by: Johannes Dieterich <dieterich.joh gmail.com>, T430S


# 2112695c 07-Mar-2013 Gleb Smirnoff <glebius@FreeBSD.org>

Add quirks to enable headphones redirection on number of Lenovo
laptops, namely X1, X1 Carbon, T420, T520.

PR: misc/176656
Submitted by: Hiren Panchasar <hiren.panchasara gmail.com>
Tested by: glebius, X1 Carbon
Tested by: osa, X1
Tested by: Hiren Panchasar, T420
Tested by: sbruno, T520
Reviewed by: mav
Sponsored by: Nginx, Inc.


# 32ea29e2 04-Mar-2013 Alexander Motin <mav@FreeBSD.org>

Add quirk to enable headphones redirection on Lenovo X220.

PR: kern/174876
MFC after: 1 week


# ae84f236 12-Dec-2012 Alexander Motin <mav@FreeBSD.org>

Add quirks for AD1984A codec and Lenovo X300 laptop.

PR: kern/148741
MFC after: 2 weeks


# 30495557 31-Oct-2012 Alexander Motin <mav@FreeBSD.org>

ASUS EeePC 1001px has strange variant of ALC269 CODEC, that mutes speaker
if unused in that configuration mixer at NID 15 is muted. Probably CODEC
incorrectly reports its internal connections. Hide that muter from the
driver to avoid muting and make built-in speaker work.

There are several different CODECs sharing this ID and I have not enough
information about them and the bug to implement more universal solution.

Tested by: Big Yuuta <init.py@gmail.com>
MFC after: 2 weeks


# ed228e40 30-Oct-2012 Alexander Motin <mav@FreeBSD.org>

Print card and subsystem IDs in verbose logs to help to identify system.
Hide some less iseful messages under debug.


# 675dce07 09-Oct-2012 Alexander Motin <mav@FreeBSD.org>

Cast vendor-specific spell on VIA VT1818S codecs alike to VT1708S to
make analog input loopback and dual-stream playback work by enabling
signal mixing by nid 22, as it should be according to info returned by
the CODEC. Otherwise pin nid 28 receives only signal from DAC nid 16.

PR: kern/169124
MFC after: 1 week


# 3c461fd0 02-Jul-2012 Alexander Motin <mav@FreeBSD.org>

Restore GPIO config quirks handling, lost during last big refactoring.

Tested by: hselasky
MFC after: 3 days


# 89a8fedd 25-Jan-2012 Alexander Motin <mav@FreeBSD.org>

Fix word order in hdaa_subvendor_id() to match PCI (where it comes from),
broken at r230130. This should fix applying system-specific patches.


# 7c6b05d2 15-Jan-2012 Alexander Motin <mav@FreeBSD.org>

Major snd_hda driver rewrite:
- Huge old hdac driver was split into three independent pieces: HDA
controller driver (hdac), HDA CODEC driver (hdacc) and HDA sudio function
driver (hdaa).
- Support for multichannel recording was added. Now, as specification
defines, driver checks input associations for pins with sequence numbers
14 and 15, and if found (usually) -- works as before, mixing signals
together. If it doesn't, it configures input association as multichannel.
- Signal tracer was improved to look for cases where several DACs/ADCs in
CODEC can work with the same audio signal. If such case found, driver
registers additional playback/record stream (channel) for the pcm device.
- New controller streams reservation mechanism was implemented. That
allows to have more pcm devices then streams supported by the controller
(usually 4 in each direction). Now it limits only number of simultaneously
transferred audio streams, that is rarely reachable and properly reported
if happens.
- Codec pins and GPIO signals configuration was exported via set of
writable sysctls. Another sysctl dev.hdaa.X.reconfig allows to trigger
driver reconfiguration in run-time.
- Driver now decodes pins location and connector type names. In some cases
it allows to hint user where on the system case connectors, related to the
pcm device, are located. Number of channels supported by pcm device,
reported now (if it is not 2), should also make search easier.
- Added workaround for digital mic on some Asus laptops/netbooks.

MFC after: 2 months
Sponsored by: iXsystems, Inc.