| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Replace several bus_alloc_resource() calls with bus_alloc_resource_any()
Most of these are BARs, and we allocate them in their entirety. The one
outlier in this is amdsbwd(4), which calls bus_set_resource() prior.
|
|
|
|
|
|
|
|
|
| |
r309527:
Recognize RealTek ALC1150 7.1 channel HD audio codec.
r309528:
Fix too low volume on MSI H170 GAMING M3 board by poking vendor
specific COEF.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Range check the jitter values to avoid bogus sample rate adjustments.
The expected deviation should not be more than 1Hz per second. The USB
v2.0 specification also mandates this requirement. Refer to chapter
5.12.4.2 about feedback.
Allow higher sample rates to have more jitter than lower ones.
PR: 208791
|
|
|
|
|
|
| |
Add support for adjusting the hardware buffering delay for USB audio.
Requested by: Goran Mekic <meka@tilda.center>
|
|
|
|
|
|
|
|
| |
Add support for simplex USB MIDI devices, which only provide BULK or
INTERRUPT endpoints for moving data in one direction, like the KeyRig
49 from M-Audio.
Requested by: Ivan Klymenko <fidaj@ukr.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
r299503 (by cem):
snd_hda(4): Don't pass bogus sizeof()s to unused sysctl arg2 parameter
None of the sysctl handlers in hdaa use the arg2 parameter, so just pass zero
instead. Additionally, the sizes being passed in were suspect (size of the
pointer rather than the value).
CIDs: 1007694, 1009679
r299504 (by cem):
snd_hda(4): Don't pass bogus sizeof()s to unused sysctl arg2 parameter (again)
More of the same sort of issue as r299503, just missed some sysctls added in a
different place than the others.
CIDs: 1007692, 1009677, 1009678
|
| |
|
|
|
|
|
|
|
|
|
|
| |
r298339 (by cem):
sound(4): Don't use-after-free in midi module unload
Also, use ANSI function parameter definitions (void) while here.
CID: 1006107
|
| |
|
|
|
|
|
|
|
| |
- Plugging a memory leak when malloc() failed during initialisation;
- Plugging another memory leak inside the destructor.
Reviewed by: matk
|
|
|
|
|
|
|
|
| |
Though there is no direct midi_uninit() caller amongst existing drivers
at this moment, a quick experiment indicates that EBUSY gives users more
precise error message once drivers start to honour this result. For example,
emu_midi_detach() should check the result of mpu401_uninit() and block
module unloading if there is any MIDI I/O in progress.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Extend the maximum number of allowed PCM channels in a PCM stream to
127 and decrease the maximum number of sub-channels to 1. These
definitions are only used inside the kernel and can be changed later
if more than one sub-channel is desired. This has been done to allow
so-called USB audio rack modules to work with FreeBSD.
Add support for more than 8 audio channels per PCM stream for USB
audio class compliant devices under FreeBSD. Tested using 16 recording
and 16 playback audio channels simultaneously.
Bump the FreeBSD version to force recompiling all external modules.
|
|
|
|
|
|
| |
Fix an off-by-one error by adding proper range checks when parsing the
HDA association descriptors. This fixes a crash during device probe
for some HDA PCI devices.
|
|
|
|
|
|
| |
Allow DSP basename cloning to be disabled or enabled at boot and
runtime. This is useful when implementing OSS sound stacks in
userspace via libcuse for example.
|
|
|
|
|
| |
Ensure the USB audio driver doesn't attach twice on the same USB
device by grabbing all the USB audio device interfaces.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The synchronisation value returned by the so-called feedback endpoint
appears to be too inaccurate that it can be used to synchronize the
playback data stream. If there is a recording endpoint associated with
the playback endpoint, use that instead. That means if the isochronous
OUT endpoint is asynchronus the USB audio driver will automatically
start recording, if possible, to get exact information about the
needed sample rate adjustments. In no recording endpoint is present,
no rate adaption will be done.
While at it fix an issue where the hardware buffer pointers don't get
reset at the first device PCM trigger.
Make some variables 32-bit to avoid problems with multithreading.
Use the feedback value from the synchronization endpoint as fallback
when there is no recording channel.
PR: 198444
|
|
|
|
|
|
|
|
| |
Revert r274918 and make a better solution. Poll the synchronisation
endpoint less frequently to make the sample rate adjustment more
accurate. This should resolve problems with the DN32-USB module for
Midas audio systems and possibly other similar products from Klark
Teknik.
|
|
|
|
| |
Add bunch of PCI IDs of Intel Wildcat Point (9 Series) chipsets.
|
|
|
|
|
|
|
|
|
| |
Don't use the synchronization endpoint unless referenced by the
isochronous endpoint descriptor used for the data transfers, hence the
synchronization feature might not be supposed to be supported [yet].
This makes seamless playback synced with the USB HOST clock work with
the DN32-USB module for Midas audio systems and possibly other similar
products from Klark Teknik.
|
|
|
|
|
|
|
| |
- De-vnet hash sizes and hash masks.
- Fix multiple issues related to arguments passed to SYSCTL macros.
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
|
| |
Instead of creating the full range of possible ports, try to figure
out the actual number of so-called "embedded jacks" which are present
when a USB MIDI device is attaching.
Approved by: re, gjb
|
|
|
|
|
|
| |
Update mixer description for FastTrackPro.
Approved by: re, marius
|
|
|
|
|
|
|
| |
Add support for SOUND_MIXER_INFO IOCTL, used by gstreamer.
Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
Approved by: re (marius)
|
|
|
|
|
|
|
|
|
|
| |
Use the "bSubslotSize" and "bSubFrameSize" fields to obtain the actual
sample size. According to the USB audio frame format specification
from USB.org, the value in the "bBitResolution" field can be less than
the actual sample size, depending on the actual hardware, and should
not be used for this computation.
PR: 192755
|
|
|
|
| |
Add a headphone redirection quirk for the Lenovo G580.
|
|
|
|
|
|
|
|
|
|
|
| |
- Fix compilation with PAE support enabled by merging r233362 and, thus,
doing away with the unnecessary uint8_t pointer casting.
physical addresses.
- Nuke the unused softc of emujoy(4).
- Use DEVMETHOD_END.
- Use NULL instead of 0 for pointers.
Sponsored by: Bally Wulff Games & Entertainment GmbH
|
|
|
|
| |
Fix unload of USB audio kernel module.
|
|
|
|
|
|
|
| |
- Sprinkle const and static as appropriate.
- Convert the remainder of snd_hda(4) to take advantage of nitems().
- Use DEVMETHOD_END.
- Use NULL instead of 0 for pointers.
|
|
|
|
| |
Add quirk to configure headphones redirection on Intel DH87RL boards.
|
|
|
|
|
| |
Workaround for USB MIDI adapters which use non-supported values of
wMaxPacketSize for BULK endpoints.
|
|
|
|
|
|
| |
Add support for more sample rates to USB audio driver.
PR: usb/171254
|
|
|
|
|
|
|
| |
Add more quirks for making builtin audio speakers work with more
MacBookPro's. Only tested with MacBookPro 9,2.
Obtained from: Linux
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this
shifts into the sign bit. Instead use (1U << 31) which gets the
expected result.
Similar to the (1 << 31) case it is not defined to do (2 << 30).
This fix is not ideal as it assumes a 32 bit int, but does fix the issue
for most cases.
A similar change was made in OpenBSD.
|
|
|
|
| |
Add some more Intel HDA controller and CODEC IDs.
|
|
|
|
| |
In sys/dev/sound/pci/maestro.c, #if 0 two unused static functions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
command register. The lazy BAR allocation code in FreeBSD sometimes
disables this bit when it detects a range conflict, and will re-enable
it on demand when a driver allocates the BAR. Thus, the bit is no longer
a reliable indication of capability, and should not be checked. This
results in the elimination of a lot of code from drivers, and also gives
the opportunity to simplify a lot of drivers to use a helper API to set
the busmaster enable bit.
This changes fixes some recent reports of disk controllers and their
associated drives/enclosures disappearing during boot.
Submitted by: jhb
Reviewed by: jfv, marius, achadd, achim
MFC after: 1 day
|
|
|
|
|
|
|
|
|
|
| |
This function is called 4 times in this file, with swapped parameter
ordering. Fix the function definition instead of all the call sites.
16bit/stereo or 8bit/mono playback is unaffected and was probably
working fine before, this should fix 16bit/mono and 8bit/stereo
playback.
Found by: Coverity Scan, CID 1006688
|
|
|
|
| |
MFC after: 3 days
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
Most likely some non-USB compliant devices will choke on it
sooner or later. Clear stall is strictly speaking not needed.
If the first MIDI command sent or transmitted is lost, this
is not a big problem for us.
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
| |
Set a valid alternate interface setting
when enumerating USB audio devices else
the device mentioned will not work like
expected.
PR: usb/178722
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
| |
- Allow DMA addresses anywhere in the lower 4GB; Envy24HT has a 32-bit DMA
engine, not 28-bit like Envy24.
- Mark interrupt handler as MPSAFE, seems to be correctly synchronized.
PR: kern/152378
Submitted by: Jason Harmening <jason.harmening@gmail.com>
MFC after: 1 month
|
| |
|
|
|
|
|
|
| |
be any need to bias the returned value.
Reported by: Craig Leres <leres@ee.lbl.gov>
|
|
|
|
| |
Submitted by: Ed Maste, emaste @
|
|
|
|
|
|
|
| |
USB audio devices. Previously the highest sample
rate was unconditionally selected.
Requested by: Craig Leres <leres@ee.lbl.gov>
|
|
|
|
| |
Submitted by: Christoph Mallon <christoph.mallon@gmx.de> (via private mail)
|