#
923e0040 |
|
06-May-2024 |
Christos Margiolis <christos@FreeBSD.org> |
sound: Move chip.h contents to pcm/sound.h Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D44997
|
#
ee36e7fa |
|
31-Mar-2024 |
Florian Walpen <dev@submerge.ch> |
snd_hdspe(4): Only buffer_copy() audio data once. Instead of blindly copying two periods of audio data to and from DMA buffers, keep track of the writing position and derive the actual part of audio data that needs to be copied. This approximately halves the number of samples copied in total. Differential Revision: https://reviews.freebsd.org/D44084
|
#
dc15f025 |
|
25-Feb-2024 |
Florian Walpen <dev@submerge.ch> |
snd_hdspe(4): Optional unified pcm device. Add a sysctl tunable to unify all physical ports of an HDSPe sound card into one pcm device, with up to 14 (AIO) or 36 (RayDAT) channels. This makes all ports available in multi-channel audio software. Differential Revision: https://reviews.freebsd.org/D43798
|
#
6c892b79 |
|
30-Jan-2024 |
Florian Walpen <dev@submerge.ch> |
snd_hdspe(4): Per device sysctl for sample rate. Some hardware setups require a specific sample rate due to devices being connected to digital ports (AES, S/PDIF, ADAT). Add a per device sysctl "sample_rate" to let the user override sample rate requests from the pcm infrastructure, when needed. Differential Revision: https://reviews.freebsd.org/D43659
|
#
fb877263 |
|
28-Jan-2024 |
Florian Walpen <dev@submerge.ch> |
snd_hdspe(4): Per device sysctl for period. Let the user choose a period (interrupt cadence in samples), in the official RME drivers this setting is available as "Buffer Size". Override the period propagated through blocksize by pcm channel latency settings (see sound(4)), since these are unreliable and differ between playback and recording channels. Differential Revision: https://reviews.freebsd.org/D43527
|
#
f7d3d0a4 |
|
22-Jan-2024 |
Christos Margiolis <christos@FreeBSD.org> |
sound: use device_set_descf() to set device descriptions Commit 6b6914c1e21b introduced a printf-like version of device_set_desc(), so use it to simplify device description setting in the audio stack. Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Reviewed by: dev_submerge.ch, markj Differential Revision: https://reviews.freebsd.org/D43467
|
#
837cd192 |
|
16-Jan-2024 |
Christos Margiolis <christos@FreeBSD.org> |
sound: remove PCM_KLDSTRING() and fix status strings PCM_KLDSTRING() prints the kernel module associated with a given audio device only when that module is not compiled in. Get rid of PCM_KLDSTRING() altogether and print the driver name (even for modules that are compiled in) instead, as it implies the module as well. While here, convert all status strings to the following dmesg-like format: [<port|mem> <irq>] on <driver> Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Reviewed by: markj, imp Differential Revision: https://reviews.freebsd.org/D43349
|
#
d7fde2c9 |
|
15-Jan-2024 |
Florian Walpen <dev@submerge.ch> |
snd_hdspe(4): One pcm device per physical ADAT port. ADAT connections transport 8, 4 or 2 audio channels depending on the sample rate. Instead of splitting each physical ADAT port into 4 (potentially unmapped) stereo pcm devices, create just one pcm device of variable channel width for every ADAT port. Depending on the sample rate and channel width selected, the pcm channels may be only partially mapped to ADAT channels and vice versa. Added flexibility of the new channel mapping is also prerequisite to introduce more pcm device layouts in follow-up commits. Reviewed by: br Differential Revision: https://reviews.freebsd.org/D43393
|
#
b6052c10 |
|
04-Jan-2024 |
Ruslan Bukin <br@FreeBSD.org> |
Setups with digital audio connections like SPDIF and ADAT require a designated master clock to stay in sync. Add a sysctl setting to control the preferred clock source for each HDSPe sound card. Complement this by sysctl values to list available clock sources, show the currently effective clock source and display the sync status of all connections. Clock sources are named according to RME user manuals. Submitted by: Florian Walpen <dev@submerge.ch> Differential Revision: https://reviews.freebsd.org/D43252
|
#
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
|
#
2287364e |
|
06-May-2022 |
John Baldwin <jhb@FreeBSD.org> |
Remove pcm_devclass from DRIVER_MODULE invocations.
|
#
11fd7ec0 |
|
07-Apr-2022 |
John Baldwin <jhb@FreeBSD.org> |
pcm hdspe: Remove unused variable.
|
#
f81b451d |
|
27-May-2021 |
Ruslan Bukin <br@FreeBSD.org> |
hdspe: Support for mono sound. This is useful when you have a single monitor speaker.
|
#
378503af |
|
01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
sound: clean up empty lines in .c and .h files
|
#
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.
|
#
20a9f771 |
|
07-Dec-2016 |
Ruslan Bukin <br@FreeBSD.org> |
Style fix. Sponsored by: DARPA, AFRL
|
#
da1b038a |
|
17-Mar-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Use uintmax_t (typedef'd to rman_res_t type) for rman ranges. On some architectures, u_long isn't large enough for resource definitions. Particularly, powerpc and arm allow 36-bit (or larger) physical addresses, but type `long' is only 32-bit. This extends rman's resources to uintmax_t. With this change, any resource can feasibly be placed anywhere in physical memory (within the constraints of the driver). Why uintmax_t and not something machine dependent, or uint64_t? Though it's possible for uintmax_t to grow, it's highly unlikely it will become 128-bit on 32-bit architectures. 64-bit architectures should have plenty of RAM to absorb the increase on resource sizes if and when this occurs, and the number of resources on memory-constrained systems should be sufficiently small as to not pose a drastic overhead. That being said, uintmax_t was chosen for source clarity. If it's specified as uint64_t, all printf()-like calls would either need casts to uintmax_t, or be littered with PRI*64 macros. Casts to uintmax_t aren't horrible, but it would also bake into the API for resource_list_print_type() either a hidden assumption that entries get cast to uintmax_t for printing, or these calls would need the PRI*64 macros. Since source code is meant to be read more often than written, I chose the clearest path of simply using uintmax_t. Tested on a PowerPC p5020-based board, which places all device resources in 0xfxxxxxxxx, and has 8GB RAM. Regression tested on qemu-system-i386 Regression tested on qemu-system-mips (malta profile) Tested PAE and devinfo on virtualbox (live CD) Special thanks to bz for his testing on ARM. Reviewed By: bz, jhb (previous) Relnotes: Yes Sponsored by: Alex Perez/Inertial Computing Differential Revision: https://reviews.freebsd.org/D4544
|
#
b5db12bf |
|
30-Sep-2012 |
Kevin Lo <kevlo@FreeBSD.org> |
Free result of device_get_children(9).
|
#
e4afd792 |
|
01-Mar-2012 |
Alexander Motin <mav@FreeBSD.org> |
Add driver for the RME HDSPe AIO/RayDAT sound cards -- snd_hdspe(4). Cards are expensive and so rare, so leave the driver as module. Submitted by: Ruslan Bukin <br@bsdpad.com> MFC after: 2 weeks
|