History log of /freebsd-current/sys/dev/sound/pci/hda/hdac.h
Revision Date Author Comments
# ef659a2d 03-Jun-2024 Oleksandr Kryvulia <shuriku@shurik.kiev.ua>

snd_hda: Add Lenovo X1 Carbon Gen11 support

MFC after: 2 days
Reviewed by: christos
Differential Revision: https://reviews.freebsd.org/D45361


# 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


# 1dd1a696 12-Apr-2024 Michael Zhilin <mizhka@FreeBSD.org>

snd_hda: Add the full Intel Meteor/Arrow/Lunar Lake HD Audio PCI IDs

This is based off the Linux file sound/hda/intel-dsp-config.c.

Tested on: Lenovo Thinkbook 16 G6+ IMH
MFC after: 3 days
Reviewed by: markj, christos
Differential Revision: https://reviews.freebsd.org/D44777
Sponsored by: Postgres Professional


# 89189224 23-Feb-2024 Gleb Smirnoff <glebius@FreeBSD.org>

snd_hda: add 32-bit memory quirk for Creative Sound Blaster Audigy FX

Despite still being in production the device appeared not able to use
memory above BUS_SPACE_MAXADDR_32BIT, and if your desktop has a lot of
memory there is a high chance driver would allocate inaccessible memory.

Submitted by: wulf
Reviewed by: mav


# 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


# 95ee2897 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: two-line .h pattern

Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/


# 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


# 2a31a06b 20-Oct-2022 Alexander Motin <mav@FreeBSD.org>

Add random VMware device IDs.

Just to make dmesg look nicer there.

MFC after: 1 week


# 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


# 22ecfc58 06-Sep-2022 Neel Chauhan <nc@FreeBSD.org>

snd_hda: Add the full Intel AlderLake HD Audio PCI IDs

This is based off the Linux file sound/hda/intel-dsp-config.c.

Reviewed by: imp (src)
Tested on: HP Spectre x360 16-f0023dx
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D36476


# 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


# 35fbe624 08-Apr-2022 Gordon Bergling <gbe@FreeBSD.org>

sound(4): Fix a typo in a source code comment

- s/Miscellanious/Miscellaneous/

MFC after: 3 days


# 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


# e997f337 16-Mar-2022 Ed Maste <emaste@FreeBSD.org>

Add Tempo Semiconductor 92HD95B HDA codec ID

This codec is found in recent versions of the Framework laptop. Tempo
Semiconductor acquired these products from IDT's Audio Business Unit.

MFC after: 1 week
Sponsored by: The FreeBSD Foundation


# 98d59d2e 09-Feb-2022 Alexander Motin <mav@FreeBSD.org>

snd_hda: Add some ATI HDMI codec IDs.

Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
MFC after: 1 week


# 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


# dc238358 05-Nov-2021 Alexander Motin <mav@FreeBSD.org>

Add some of Intel Alder Lake device IDs.

MFC after: 1 week


# 86d69de8 12-Jul-2021 Xin LI <delphij@FreeBSD.org>

Fix blankspace anomalies, no actual code change.


# 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


# fc68af79 05-Jun-2020 Alexander Motin <mav@FreeBSD.org>

Add bunch of HDA controller and codec IDs.

MFC after: 2 weeks


# bd136d88 13-Apr-2020 Mark Johnston <markj@FreeBSD.org>

snd_hda(4): Recognize the ALC257 codec.

PR: 245524
Submitted by: Jose Luis Duran <jlduran@gmail.com>
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


# 35228417 05-Dec-2019 Scott Long <scottl@FreeBSD.org>

Add support for new sound HDA hardware

Sponsored by: Intel


# a6c2525c 28-Oct-2019 Scott Long <scottl@FreeBSD.org>

Add device IDs for the next generation of Intel HDA audio.

MFC after: 3 days


# 17b984a6 26-Sep-2019 Oleksandr Tymoshenko <gonzo@FreeBSD.org>

snd_hda: Add Intel Cannon Lake support

Add missing header change ommitted in r352775

MFC after: 2 weeks
X-MFC-with: 352775


# 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.


# eeec68ea 15-Oct-2017 Alexander Motin <mav@FreeBSD.org>

Add Creative vendor ID.

MFC after: 1 week


# aaa9b2b3 08-Aug-2017 Alexander Motin <mav@FreeBSD.org>

Add new Intel Lewisburg and Union Point chipset PCI IDs.

While there, polish some old AHCI ones, since they are still reused.

MFC after: 1 week


# 35e492f3 13-Apr-2017 Alexander Motin <mav@FreeBSD.org>

Update list of Conexant and Realtek codecs.

MFC after: 2 weeks


# e407efca 25-Mar-2017 Sean Bruno <sbruno@FreeBSD.org>

Add ids for ALC233 found on Intel Skull Mountain NUC.


# 4642c8c5 28-Dec-2016 Michal Meloun <mmel@FreeBSD.org>

Limit number of stripes supported by HDA codec to maximum number
announced by HDA controller.
Incorrectly implermented HDA codec may report support for more stripes
that HDA controller already have. Due to this, always limit number of
enabled stripes by global controller maximum.

Reviewed by: mav
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D8922


# bea8daa3 04-Dec-2016 Michal Meloun <mmel@FreeBSD.org>

Add IDs for HDA codecs found on Nvidia Tegra SoCs.

MFC after: 2 weeks


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

Recognize RealTek ALC1150 7.1 channel HD audio codec.


# 2b064d46 09-Nov-2016 Alexander Motin <mav@FreeBSD.org>

Add some device IDs found in my new laptop.


# 71733a50 03-May-2016 Alexander Motin <mav@FreeBSD.org>

Add some device IDs from Intel Sunrise Point chipsets.

MFC after: 2 weeks


# 15e01a35 28-Mar-2016 Alexander Motin <mav@FreeBSD.org>

Add some device IDs found on AMD FCH shipsets.

MFC after: 2 weeks


# 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


# e67f3bec 25-Nov-2014 Alexander Motin <mav@FreeBSD.org>

Add bunch of PCI IDs of Intel Wildcat Point (9 Series) chipsets.

MFC after: 1 week


# 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


# 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


# c9b3a5a0 15-Nov-2013 Alexander Motin <mav@FreeBSD.org>

Add some more Intel HDA controller IDs and rename HDMI CODEC to Haswell.


# 667b7280 15-Nov-2013 Alexander Motin <mav@FreeBSD.org>

Add ID for Intel Lynx Point HDMI CODEC.

Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>


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

Add quirk to configure headphones redirection on ASUS UX31A laptop.

MFC after: 3 days


# 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


# 9e81697f 02-Jan-2013 Jack F Vogel <jfv@FreeBSD.org>

Add Intel Lynx Point PCH HD Audio Device IDs


# 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


# dec3a11b 02-Dec-2012 Eitan Adler <eadler@FreeBSD.org>

Add a few more translations from IDs to model name.

Submitted by: "4721@hushmail.com" <4721@hushmail.com>
Approved by: cperciva (implicit)
MFC after: 2 weeks


# bff51380 02-Dec-2012 Eitan Adler <eadler@FreeBSD.org>

Add support for hdmi hda codec onboard nvidia gt 440 graphics card

PR: kern/174059
Submitted by: "4721@hushmail.com" <4721@hushmail.com>
Approved by: cperciva (implicit)
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.


# 7d0ec9dd 30-Aug-2012 Alexander Motin <mav@FreeBSD.org>

Add bunch of ATI HDMI HDA controller IDs.

Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
MFC after: 1 week


# 4bff0fc6 30-Jan-2012 Alexander Motin <mav@FreeBSD.org>

Fix typo in comments.


# 5409d3ee 26-Jan-2012 Alexander Motin <mav@FreeBSD.org>

Add another bunch of CODEC IDs.


# 66126826 22-Jan-2012 Alexander Motin <mav@FreeBSD.org>

Increase snd_hda(4) default maximal buffer size from 16K to 64K and
maximal from 64K to 256K.

We usually don't need 750 sound interrupts per second (1.3ms latency)
when playing 192K/24/8 stream. 187 should be better. On usual 48K/16/2
it is just enough for hw.snd.latency=9 at hw.snd.latency_profile=1 with
23 and 6 interrupts per second.

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


# 88addcbe 18-Jan-2012 Alexander Motin <mav@FreeBSD.org>

Improve HDMI/DisplayPort audio support in snd_hda(4):

- Enable and handle unsolicited responses from digital display pins,
reporting connection and EDID-Like Data (ELD) validity status changes.
- Fetch ELD data, describing connected digital display device audio
capabilities. These data not really used at the moment (user is not
denied to use audio formats not supported by the device), only printed to
verbose logs. But they are useful for debugging. The fact that ELD was
received tells that HDMI link was established and video driver enabled
HDMI audio passthrough. Some old chips may not return ELD, so lack of it
is not necessary a problem.
- Add some more points to CODEC configuration sequence:
- For converter widgets, supporting more then two channels (HDMI/DP
converter widgets support 8), set number of channels to handle.
- For digital display pins (HDMI/DP) fill audio infoframe, reporting
connected device about number of channels and speakers allocation.
- For digital display pins (HDMI/DP) set mapping between channels seen
by software and channels transferred via HDMI/DisplayPort.
- Allow more audio formats, not used for analog connections because of
stereo pairs orientation, but easily applicable to HDMI/DisplayPort: 2.1,
3.0, 3.1, 4.1, 5.0, 6.0, 6.1, 7.0. That list may be filtered later using
info from ELD.
- Disable MSI interrupts for NVIDIA HDA controllers before GT520.

At this point I can successfully play audio over HDMI from NVIDIA GT210
and GT520 cards with nvidia-driver-290.10 driver to Marantz SR4001
receiver in 2.0, 2.1, 3.0, 4.0, 4.1, 5.0 and 5.1 PCM formats at 44, 48,
88 and 96KHz at 16 and 24 bits, same as do AC3/DTS passthrough.
6.0, 6.1, 7.0 and 7.1 PCM formats are not working for me, but I think
it is because of receiver age.

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


# 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.


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 1f0387f7 01-Oct-2006 Ariff Abdullah <ariff@FreeBSD.org>

Add support for Intel High Definition Audio Controller.

This driver make a special guarantee that "playback" works
on majority hardwares with minimal or without specific vendor
quirk.

This driver is a product of collaborative effort made by:

Stephane E. Potvin <sepotvin@videotron.ca>
Andrea Bittau <a.bittau@cs.ucl.ac.uk>
Wesley Morgan <morganw@chemikals.org>
Daniel Eischen <deischen@FreeBSD.org>
Maxime Guillaud <bsd-ports@mguillaud.net>
Ariff Abdullah <ariff@FreeBSD.org>

....and various people from freebsd-multimedia@FreeBSD.org

Refer to snd_hda(4) for features and issues.

Welcome To HDA.

Sponsored by: Defenxis Sdn. Bhd.