| History log of /src/sys/dev/hdaudio/hdafg.c |
| Revision | | Date | Author | Comments |
| 1.33 |
| 19-Oct-2025 |
nia | hdaudio(4): Do not expose non-functional volume controls.
The old code supported "volume without mute", but not "mute without volume", which are widely exposed by hdaudio devices. This resulted in redundant volume controls with delta=256 (not allowing them to be set).
While here, classify PC speaker and phone out controls as output controls.
"ship it" jmcneill@
PR kern/59712 hdaudio driver exposes nonexistent volume controls
|
| 1.32 |
| 29-Jan-2024 |
riastradh | hdaudio(4): KNF, no functional change intended
|
| 1.31 |
| 29-Jan-2024 |
riastradh | hdaudio(4): Tighten hdafg_freem.
The fix for PR kern/57890 in hdafg.c 1.29 included more conditionals than needed, covering cases that can't happen: if allocm returns null, audio(4) does not call freem; and if hdafg_allocm returns nonnull, then what audio(4) passes to hdafg_freem had better be either the playback or the capture buffer address.
|
| 1.30 |
| 18-Jul-2023 |
riastradh | hdafg(4): Do hotplug detection in kthread, not callout.
This can sometimes take a while (~1ms), and the logic to suspend the callout on device suspend/resume was racy (PR kern/57322).
XXX pullup-8 XXX pullup-9 XXX pullup-10
|
| 1.29 |
| 05-Jan-2023 |
kardel | ignore NULL for hdaudio_audiodev in hdafg_freem also guard against NULL in ad_{capture,playback} observed during shutdown on Lenovo W510
|
| 1.28 |
| 24-May-2022 |
andvar | branches: 1.28.4; fix various typos in comments, docs and log messages.
|
| 1.27 |
| 21-Mar-2022 |
jmcneill | hdaudio: Obsolete HDAUDIO_ENABLE_DISPLAYPORT and HDAUDIO_ENABLE_HDMI
Enable display port and HDMI devices by default rather than making this a compile time option.
|
| 1.26 |
| 07-Jan-2022 |
mlelstv | Safe vendor/product for reporting. Avoids repeated loading/unloading of hdaudioverbose module.
|
| 1.25 |
| 17-Dec-2021 |
kre | One build break fixed, another appears...
Use the correct pointer, not the one used in the other piece of code that changed at the same time..
|
| 1.24 |
| 17-Dec-2021 |
christos | If the step is 0, use 1 instead of always incrementing step by one to avoid zerodivide (from RVP)
|
| 1.23 |
| 11-Jun-2020 |
thorpej | Update for proplib(3) API changes.
|
| 1.22 |
| 19-Apr-2020 |
isaki | Make round_blocksize satisfy all of - restrictions that existed before merging isaki-audio2 branch. - better support for 6 channels hardware. - audio layer's requirement. This may help PR kern/54474.
|
| 1.21 |
| 15-Feb-2020 |
isaki | branches: 1.21.4; Enumerating probably always starts from sc->sc_startnode.
|
| 1.20 |
| 30-Jan-2020 |
jmcneill | Only dump ELD info if HDAFG_HDMI_DEBUG is defined
|
| 1.19 |
| 18-Jan-2020 |
jmcneill | Make sure we have at least one of playback or capture streams setup before attaching the audio layer.
|
| 1.18 |
| 08-Jun-2019 |
isaki | branches: 1.18.2; 1.18.4; Clean get_props(). - Make get_props() return AUDIO_PROP_{PLAYBACK,CAPTURE} properly. This eliminates need for audio.c to take care of such (old) drivers which don't return both of PLAYBACK and CAPTURE. - All get_props() doesn't need to return AUDIO_PROP_MMAP. It is handled in the audio layer now.
|
| 1.17 |
| 08-May-2019 |
isaki | Merge isaki-audio2 branch, the overhaul of audio subsystem. - Interrupt-oriented system rather than thread-oriented. - Improve stability, quality and performance. - Split playback and record cleanly. Improve halfduplex support. - Many bugs are fixed including deadlocks, resource leaks, abuses, etc. - Simplify audio filter mechanism. The encoding/channels/frequency conversions are completely handled in the upper layer. So the hard- ware driver only converts its hardware encoding (if necessary). - audio_hw_if changes: - Obsoletes query_encoding and add query_format instead. - Obsoletes set_params and add set_format instead. - Remove drain, setfd, mappage. - The call sequences are changed. - ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted. - ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced. - cleanup config attributes: au*conv and mulaw. - All hardware drivers should follow it (I've done as much as possible).
Some file paths are changed: - dev/audio.c -> dev/audio/audio.c (rewritten) - dev/audiovar.h -> dev/audio/audiovar.h - dev/audio_dai.h -> dev/audio/audio_dai.h - dev/audio_if.h -> dev/audio/audio_if.h - dev/audiobell.c -> dev/audio/audiobell.c - dev/audiobellvar.h -> dev/audio/audiobellvar.h - dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
|
| 1.16 |
| 27-Sep-2018 |
manu | branches: 1.16.2; Fix hdaudio device configuration
When disabling unassociated devices, we have a special handling for pins of type COP_AWCAP_TYPE_PIN_COMPLEX, but it came after code that may disable any pins, including the ones that should be handled as COP_AWCAP_TYPE_PIN_COMPLEX.
The result was that hdaudio could fail to detect some devices. We fix the situation by making sure that COP_AWCAP_TYPE_PIN_COMPLEX pins always get their specific handling.
The change makes the built-in speaker work on Dell OptiPlex 5060
|
| 1.15 |
| 14-Feb-2018 |
maya | branches: 1.15.2; 1.15.4; Remove dead code.
From David Binderman in PR kern/53029
|
| 1.14 |
| 04-Jan-2018 |
khorben | Fix off-by-one when calling snprintf(9) in hdafg_getdev()
This is actually harmless, since: - the offset is too short rather than too long (no overflow) - the struct audio_device comes from userland (no information leak)
"looks good to me" nat@
|
| 1.13 |
| 04-Aug-2017 |
mrg | branches: 1.13.2; put all the ELD debugging messages under #ifdef HDAFG_HDMI_DEBUG. this silences a frequent and largely useless series of messages in my dmesg. ok jmcneill.
|
| 1.12 |
| 01-Jun-2017 |
chs | branches: 1.12.2; remove checks for failure after memory allocation calls that cannot fail:
kmem_alloc() with KM_SLEEP kmem_zalloc() with KM_SLEEP percpu_alloc() pserialize_create() psref_class_create()
all of these paths include an assertion that the allocation has not failed, so callers should not assert that again.
|
| 1.11 |
| 18-Apr-2017 |
maya | remove redundant assignments nchan is overwritten before it is used in all cases. so is i.
from clang static analyzer ok riastradh
|
| 1.10 |
| 25-Oct-2016 |
pgoyette | branches: 1.10.2; Replace numeric magic-number constant with something a bit more meaningful.
|
| 1.9 |
| 15-Nov-2015 |
jmcneill | branches: 1.9.2; disable data island packet transmission on Tegra124 HDMI codec
|
| 1.8 |
| 04-Nov-2015 |
christos | mute the mixer with that has input children
|
| 1.7 |
| 04-Nov-2015 |
christos | Remove trailing and stray whitespace.
|
| 1.6 |
| 04-Nov-2015 |
christos | more complex version to determine what is an input.
|
| 1.5 |
| 04-Nov-2015 |
christos | be more selective and mute only mic's. Suggested by jmcneill
|
| 1.4 |
| 04-Nov-2015 |
christos | Startup with the mic muted to avoid feedback and spying.
|
| 1.3 |
| 26-Jul-2015 |
jmcneill | - Support multi-channel (> 2) output to HDMI sinks. - Fix a bug in hdafg_set_params that could program converters using the wrong audio_params_t if auconv is in use - Force Tegra124 HDMI codec to a fixed rate 44.1kHz
|
| 1.2 |
| 28-Mar-2015 |
jmcneill | branches: 1.2.2; replace hdaudio_config.h with defflags
|
| 1.1 |
| 28-Mar-2015 |
jmcneill | Split hdaudio and PCI attach glue. Even though the driver was written with this separation in mind, all of the code lived in sys/dev/pci/hdaudio. Move common parts to sys/dev/hdaudio and PCI attach glue to sys/dev/pci.
|
| 1.2.2.6 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
| 1.2.2.5 |
| 05-Dec-2016 |
skrll | Sync with HEAD
|
| 1.2.2.4 |
| 27-Dec-2015 |
skrll | Sync with HEAD (as of 26th Dec)
|
| 1.2.2.3 |
| 22-Sep-2015 |
skrll | Sync with HEAD
|
| 1.2.2.2 |
| 06-Apr-2015 |
skrll | Sync with HEAD
|
| 1.2.2.1 |
| 28-Mar-2015 |
skrll | file hdafg.c was added on branch nick-nhusb on 2015-04-06 15:18:08 +0000
|
| 1.9.2.2 |
| 26-Apr-2017 |
pgoyette | Sync with HEAD
|
| 1.9.2.1 |
| 04-Nov-2016 |
pgoyette | Sync with HEAD
|
| 1.10.2.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
| 1.12.2.3 |
| 03-Feb-2024 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1934):
sys/dev/hdaudio/hdafg.c: revision 1.29
ignore NULL for hdaudio_audiodev in hdafg_freem
also guard against NULL in ad_{capture,playback} observed during shutdown on Lenovo W510
|
| 1.12.2.2 |
| 09-Oct-2018 |
martin | Pull up following revision(s) (requested by manu in ticket #1053):
sys/dev/hdaudio/hdafg.c: revision 1.16
Fix hdaudio device configuration
When disabling unassociated devices, we have a special handling for pins of type COP_AWCAP_TYPE_PIN_COMPLEX, but it came after code that may disable any pins, including the ones that should be handled as COP_AWCAP_TYPE_PIN_COMPLEX.
The result was that hdaudio could fail to detect some devices. We fix the situation by making sure that COP_AWCAP_TYPE_PIN_COMPLEX pins always get their specific handling.
The change makes the built-in speaker work on Dell OptiPlex 5060
|
| 1.12.2.1 |
| 20-Aug-2017 |
snj | Pull up following revision(s) (requested by mrg in ticket #210): sys/dev/hdaudio/hdafg.c: revision 1.13 sys/dev/hdaudio/hdafg_dd.c: revision 1.2 put all the ELD debugging messages under #ifdef HDAFG_HDMI_DEBUG. this silences a frequent and largely useless series of messages in my dmesg. ok jmcneill.
|
| 1.13.2.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
| 1.13.2.1 |
| 04-Aug-2017 |
jdolecek | file hdafg.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
|
| 1.15.4.3 |
| 21-Apr-2020 |
martin | Sync with HEAD
|
| 1.15.4.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
| 1.15.4.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.15.2.1 |
| 30-Sep-2018 |
pgoyette | Ssync with HEAD
|
| 1.16.2.3 |
| 04-May-2019 |
isaki | Move dev/audio_if.h -> dev/audio/audio_if.h
|
| 1.16.2.2 |
| 27-Apr-2019 |
isaki | More adapt to audio2. - Replace set_params with new set_format. - Remove sc_encodings which is no longer used.
|
| 1.16.2.1 |
| 21-Apr-2019 |
isaki | Adapt to audio2. - Fix wrong blocksize restrictions.
|
| 1.18.4.2 |
| 29-Feb-2020 |
ad | Sync with head.
|
| 1.18.4.1 |
| 25-Jan-2020 |
ad | Sync with head.
|
| 1.18.2.3 |
| 23-Aug-2024 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1868):
sys/dev/hdaudio/hdafg.c: revision 1.30
hdafg(4): Do hotplug detection in kthread, not callout.
This can sometimes take a while (~1ms), and the logic to suspend the callout on device suspend/resume was racy (PR kern/57322).
|
| 1.18.2.2 |
| 03-Feb-2024 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1795):
sys/dev/hdaudio/hdafg.c: revision 1.29
ignore NULL for hdaudio_audiodev in hdafg_freem
also guard against NULL in ad_{capture,playback} observed during shutdown on Lenovo W510
|
| 1.18.2.1 |
| 25-Apr-2020 |
martin | Pull up following revision(s) (requested by isaki in ticket #852):
sys/dev/hdaudio/hdafg.c: revision 1.22
Make round_blocksize satisfy all of - restrictions that existed before merging isaki-audio2 branch. - better support for 6 channels hardware. - audio layer's requirement.
This may help PR kern/54474.
|
| 1.21.4.1 |
| 20-Apr-2020 |
bouyer | Sync with HEAD
|
| 1.28.4.2 |
| 23-Aug-2024 |
martin | Pull up following revision(s) (requested by riastradh in ticket #789):
sys/dev/hdaudio/hdafg.c: revision 1.30
hdafg(4): Do hotplug detection in kthread, not callout.
This can sometimes take a while (~1ms), and the logic to suspend the callout on device suspend/resume was racy (PR kern/57322).
|
| 1.28.4.1 |
| 03-Feb-2024 |
martin | Pull up following revision(s) (requested by riastradh in ticket #576):
sys/dev/hdaudio/hdafg.c: revision 1.29
ignore NULL for hdaudio_audiodev in hdafg_freem
also guard against NULL in ad_{capture,playback} observed during shutdown on Lenovo W510
|