360305 |
25-Apr-2020 |
dim |
MFC r357146 (partial, by jhb):
Fix some misleading indentation warnings reported by recent clang.
These should not be any functional change. While the change in emul10kx-pcm.c looks like a real bug fix (as opposed to inconsistent whitespace), the extra statements were not harmful.
Reviewed by: kib Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D23363 |
359485 |
31-Mar-2020 |
kib |
MFC r359396: hdaa: remove verbosity from the normal driver operations. |
359114 |
19-Mar-2020 |
gonzo |
MFC r352775-r352776
r352775: snd_hda: Add Intel Cannon Lake support
Add PCI ids for Intel Cannon Lake PCH
Tested on: HP Spectre x360 13-p0043dx PR: 240574 Submitted by: Neel Chauhan <neel@neelc.org> Reviewed by: imp, mizhka, ray Differential Revision: https://reviews.freebsd.org/D21789
r352776: snd_hda: Add Intel Cannon Lake support
Add missing header change ommitted in r352775
X-MFC-with: 352775 |
351814 |
04-Sep-2019 |
jkim |
MFC: r351231, r351233
Fix sound on headset jack for Lenovo Thinkpad X1 Carbon Gen 6 (model 20KH). |
347113 |
04-May-2019 |
avatar |
MFC r338422: Adding support for CS46xx MIDI output.
With this patch, users can play the MIDI files through /dev/sequencer device with tools like playmidi. The audio output will go through the external MIDI device such like wavetable synthesis card.
Reviewed by: matk (a long time ago), kib Tested with: Terratec SiXPack 5.1+ + Yamaha DB50XG |
345822 |
03-Apr-2019 |
mav |
MFC r345332: Tune chipset naming. |
339296 |
10-Oct-2018 |
avatar |
MFC r338200: Adding device ID for Terratec SiXPack 5.1+. |
338325 |
26-Aug-2018 |
avatar |
MFC r338038: Extending the delay cycles to give the codec more time to pump ADC data across the AC-link.
Without this patch, some CS4614 cards will need users to reload the driver manually or the hardware won't be initialised properly. Something like:
# kldload snd_csa # kldunload snd_csa # kldload snd_csa
Tested with: Terratec SiXPack 5.1+ |
331722 |
29-Mar-2018 |
eadler |
Revert r330897:
This was intended to be a non-functional change. It wasn't. The commit message was thus wrong. In addition it broke arm, and merged crypto related code.
Revert with prejudice.
This revert skips files touched in r316370 since that commit was since MFCed. This revert also skips files that require $FreeBSD$ property changes.
Thank you to those who helped me get out of this mess including but not limited to gonzo, kevans, rgrimes.
Requested by: gjb (re) |
331643 |
27-Mar-2018 |
dim |
MFC r314568 (by emaste):
kern_sig.c: ANSIfy and remove archaic register keyword
Sponsored by: The FreeBSD Foundation
MFC r318389 (by emaste):
Remove register keyword from sys/ and ANSIfy prototypes
A long long time ago the register keyword told the compiler to store the corresponding variable in a CPU register, but it is not relevant for any compiler used in the FreeBSD world today.
ANSIfy related prototypes while here.
Reviewed by: cem, jhb Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D10193 |
330897 |
14-Mar-2018 |
eadler |
Partial merge of the SPDX changes
These changes are incomplete but are making it difficult to determine what other changes can/should be merged.
No objections from: pfg |
327170 |
25-Dec-2017 |
mav |
MFC r326186: Slightly fix bidirectional stream number allocation.
This logic is still imperfect, since it allows at most 15 bidirectional streams out of 30 allowed by specification, but at least now those should work better. On the other side I don't remember I ever saw controller supporting the bidirectional streams, so this is likely a nop change. |
324909 |
23-Oct-2017 |
mav |
MFC r324661: Add Creative vendor ID. |
322573 |
16-Aug-2017 |
mav |
MFC r322309, r322316: Use "Ibex Peak" codename for "5 Series/3400 Series" chipsets.
This is shorter and unifies naming with later chipsets. |
322572 |
16-Aug-2017 |
mav |
MFC r322308: Add new Intel Lewisburg and Union Point chipset PCI IDs.
While there, polish some old AHCI ones, since they are still reused. |
317485 |
27-Apr-2017 |
mav |
MFC r316758: Update list of Conexant and Realtek codecs. |
317484 |
27-Apr-2017 |
mav |
MFC r315961: Add ids for ALC233 found on Intel Skull Mountain NUC. |
317010 |
16-Apr-2017 |
mmel |
MFC r309532,r310674:
r309532: Add IDs for HDA codecs found on Nvidia Tegra SoCs. r310674: 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. |
312366 |
18-Jan-2017 |
yongari |
MFC r309527-309528: 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. |
308738 |
16-Nov-2016 |
mav |
MFC r308464, r308471: Add some device IDs found in my new laptop. |
302408 |
08-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
299504 |
12-May-2016 |
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.
Reported by: Coverity CIDs: 1007692, 1009677, 1009678 Sponsored by: EMC / Isilon Storage Division
|
299503 |
12-May-2016 |
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).
Reported by: Coverity CIDs: 1007694, 1009679 Sponsored by: EMC / Isilon Storage Division
|
298983 |
03-May-2016 |
mav |
Add some device IDs from Intel Sunrise Point chipsets.
MFC after: 2 weeks
|
298657 |
26-Apr-2016 |
cem |
emu10kx: Don't iterate beyond array bounds
Reported by: Coverity CID: 1354978 Sponsored by: EMC / Isilon Storage Division
|
298411 |
21-Apr-2016 |
pfg |
Remove slightly used const values that can be replaced with nitems().
Suggested by: jhb
|
297862 |
12-Apr-2016 |
pfg |
Replace 0 with NULL for pointers in misc. device drivers.
Found with devel/coccinelle.
|
297793 |
10-Apr-2016 |
pfg |
Cleanup unnecessary semicolons from the kernel.
Found with devel/coccinelle.
|
297387 |
29-Mar-2016 |
mav |
Add some device IDs found on AMD FCH shipsets.
MFC after: 2 weeks
|
297000 |
18-Mar-2016 |
jhibbits |
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
|
296135 |
27-Feb-2016 |
jhibbits |
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, which calls bus_set_resource() prior.
Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D5370 (partial)
|
295790 |
19-Feb-2016 |
jhibbits |
Replace several bus_alloc_resource() calls using default arguments with bus_alloc_resource_any()
Since these calls only use default arguments, bus_alloc_resource_any() is the right call.
Differential Revision: https://reviews.freebsd.org/D5306
|
294883 |
27-Jan-2016 |
jhibbits |
Convert rman to use rman_res_t instead of u_long
Summary: Migrate to using the semi-opaque type rman_res_t to specify rman resources. For now, this is still compatible with u_long.
This is step one in migrating rman to use uintmax_t for resources instead of u_long.
Going forward, this could feasibly be used to specify architecture-specific definitions of resource ranges, rather than baking a specific integer type into the API.
This change has been broken out to facilitate MFC'ing drivers back to 10 without breaking ABI.
Reviewed By: jhb Sponsored by: Alex Perez/Inertial Computing Differential Revision: https://reviews.freebsd.org/D5075
|
294632 |
23-Jan-2016 |
br |
o Add gain-level control registers. o Fix style.
Sponsored by: Machdep, Inc.
|
285723 |
20-Jul-2015 |
mav |
Increase output amp on ASUS UX31A by +5dB.
While there, implement couple helper functions.
|
283291 |
22-May-2015 |
jkim |
CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten years for head. However, it is continuously misused as the mpsafe argument for callout_init(9). Deprecate the flag and clean up callout_init() calls to make them more consistent.
Differential Revision: https://reviews.freebsd.org/D2613 Reviewed by: jhb MFC after: 2 weeks
|
283064 |
18-May-2015 |
hselasky |
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.
Reported by: David Wolfskill <david@catwhisker.org> Reviewed by: mav @ MFC after: 1 week
|
281544 |
15-Apr-2015 |
rpaulo |
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
|
277214 |
15-Jan-2015 |
bapt |
Sound: fix typos in user visible messages etc.
Submitted by: Sascha Wildner <saw@online.de> Obtained from: DragonFly MFC after: 3 days
|
275101 |
26-Nov-2014 |
mav |
Add bunch of PCI IDs of Intel Wildcat Point (9 Series) chipsets.
MFC after: 1 week
|
274105 |
04-Nov-2014 |
bapt |
Partially fix indentation issues to improve readability helping cooperation with Dragonfly folks
PR: 194785 Submitted by: François Tigeot (ftigeot@wolfpond.org)
|
274035 |
03-Nov-2014 |
bapt |
Remove check for obsolete FreeBSD versions
PR: 194517 Submitted by: François Tigeot <ftigeot@wolfpond.org>
|
273377 |
21-Oct-2014 |
hselasky |
Fix multiple incorrect SYSCTL arguments in the kernel:
- Wrong integer type was specified.
- Wrong or missing "access" specifier. The "access" specifier sometimes included the SYSCTL type, which it should not, except for procedural SYSCTL nodes.
- Logical OR where binary OR was expected.
- Properly assert the "access" argument passed to all SYSCTL macros, using the CTASSERT macro. This applies to both static- and dynamically created SYSCTLs.
- Properly assert the the data type for both static and dynamic SYSCTLs. In the case of static SYSCTLs we only assert that the data pointed to by the SYSCTL data pointer has the correct size, hence there is no easy way to assert types in the C language outside a C-function.
- Rewrote some code which doesn't pass a constant "access" specifier when creating dynamic SYSCTL nodes, which is now a requirement.
- Updated "EXAMPLES" section in SYSCTL manual page.
MFC after: 3 days Sponsored by: Mellanox Technologies
|
269158 |
27-Jul-2014 |
adrian |
Update from mav@ - don't break the input switching.
|
269152 |
27-Jul-2014 |
adrian |
Add support for my Lenovo T400.
Tested:
* Lenovo T400, model w/ P8700 Intel CPU on-board
|
268584 |
13-Jul-2014 |
markj |
Add a headphone redirection quirk for the Lenovo G580.
MFC after: 1 week
|
267581 |
17-Jun-2014 |
jhb |
Fix various bugs with freeing static DMA allocations in sound drivers: - Don't compare the DMA map to NULL to determine if bus_dmamap_unload() should be called when releasing a static allocation. Instead, compare the bus address against 0. - Don't assume that the DMA map for static allocations is NULL. Instead, save the value set by bus_dmamem_alloc() so it can later be passed to bus_dmamem_free(). Also, add missing calls to bus_dmamap_unload() in these cases before freeing the buffer. - Use the bus address from the bus_dma callback instead of calling vtophys() on the address allocated by bus_dmamem_alloc().
Reviewed by: kan
|
266808 |
28-May-2014 |
marius |
Actually, just merge r233362 and do away with the unnecessary uint8_t pointer casting altogether.
|
266799 |
28-May-2014 |
marius |
Commit the right version of r266793.
|
266793 |
28-May-2014 |
marius |
- Fix compilation with PAE support enabled by improving the casting of physical addresses. - Nuke the unused softc of emujoy(4). - Use DEVMETHOD_END. - Use NULL instead of 0 for pointers.
MFC after: 3 days Sponsored by: Bally Wulff Games & Entertainment GmbH
|
264832 |
23-Apr-2014 |
marius |
- 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.
MFC after: 3 days
|
264831 |
23-Apr-2014 |
marius |
Add quirk to configure headphones redirection on Intel DH87RL boards.
MFC after: 3 days
|
261508 |
05-Feb-2014 |
hselasky |
Use system macro instead of own hand-rolled one.
|
261507 |
05-Feb-2014 |
hselasky |
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
|
260112 |
30-Dec-2013 |
dim |
In sys/dev/sound/pci/maestro.c, #if 0 two unused static functions.
MFC after: 3 days
|
258780 |
30-Nov-2013 |
eadler |
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.
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.
Discussed with: -arch, rdivacky Reviewed by: cperciva
|
258170 |
15-Nov-2013 |
mav |
Add some more Intel HDA controller IDs and rename HDMI CODEC to Haswell.
|
258168 |
15-Nov-2013 |
mav |
Add ID for Intel Lynx Point HDMI CODEC.
Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
|
254263 |
12-Aug-2013 |
scottl |
Update PCI drivers to no longer look at the MEMIO-enabled bit in the PCI 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
|
253645 |
25-Jul-2013 |
uqs |
snd_ds1(4): Fix order of arguments for stereo/16bit mode
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
|
253036 |
08-Jul-2013 |
mav |
Add quirk to configure headphones redirection on ASUS UX31A laptop.
MFC after: 3 days
|
250797 |
19-May-2013 |
sbruno |
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
|
250286 |
05-May-2013 |
mav |
Some fixes to snd_envy24ht(4) driver: - 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
|
249587 |
17-Apr-2013 |
gabor |
- Correct mispellings of word and
Submitted by: Christoph Mallon <christoph.mallon@gmx.de> (via private mail)
|
248786 |
27-Mar-2013 |
mav |
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:
|
248254 |
13-Mar-2013 |
delphij |
Add quirk for Lenovo T530 headphone redirection.
MFC after: 2 weeks
|
248187 |
12-Mar-2013 |
glebius |
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
|
247911 |
07-Mar-2013 |
glebius |
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.
|
247910 |
07-Mar-2013 |
glebius |
Plug a memory leak.
Reviewed by: mav Sponsored by: Nginx, Inc.
|
247815 |
04-Mar-2013 |
mav |
Add quirk to enable headphones redirection on Lenovo X220.
PR: kern/174876 MFC after: 1 week
|
246983 |
19-Feb-2013 |
uqs |
Fix typo
Submitted by: Matt Burke <mattblists@icritical.com>
|
246128 |
30-Jan-2013 |
sbz |
Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays
Reviewed by: cognet Approved by: cognet
|
244980 |
02-Jan-2013 |
jfv |
Add Intel Lynx Point PCH HD Audio Device IDs
|
244145 |
12-Dec-2012 |
mav |
Add quirks for AD1984A codec and Lenovo X300 laptop.
PR: kern/148741 MFC after: 2 weeks
|
243794 |
02-Dec-2012 |
eadler |
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
|
243793 |
02-Dec-2012 |
eadler |
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
|
243535 |
26-Nov-2012 |
mav |
Fix uninitialized variable reported by gcc, but not clang.
|
243533 |
26-Nov-2012 |
mav |
Remove extra sbuf_trim() copy/pasted into r243530.
|
243530 |
25-Nov-2012 |
mav |
On multiple requests, compact HDA driver verbose output by hiding CODEC's detailed information under the sound debug. To make it easier accessible, export that information through the set of sysctls like dev.hdaa.X.nidY. Also tune some output to make it both more compact and informative.
|
243181 |
17-Nov-2012 |
mav |
Summarize information about connected analog pins and EDID-like data received from HDMI/DisplayPort devices in form of general connection status and sound(4)-style channel matrix. Now that information is only reported in readable form to verbose logs, but potentially could be used by sound(4) to correctly choose default devices and configure vchans.
Fix rear and side channels swap on analog 7.1 outputs. As soon as there is a huge mess in industry about naming and using of these channels, duplicate rear channels of 4 and 5.1 streams to both read and side speakers.
|
242692 |
07-Nov-2012 |
kevlo |
Fix typo; s/ouput/output
|
242417 |
31-Oct-2012 |
mav |
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
|
242357 |
30-Oct-2012 |
mav |
Set all pins initial connection status to unknown (2) and then update it with the real value in regular way if sensing is supported. This fixes minor inconsistency when playback redirection appeared in undefined state on boot if headphones were not connected.
|
242352 |
30-Oct-2012 |
mav |
Print card and subsystem IDs in verbose logs to help to identify system. Hide some less iseful messages under debug.
|
241917 |
22-Oct-2012 |
eadler |
Now that device disabling is generic, remove extraneous code from the device drivers that used to provide this feature.
This is a subset of 241856 (which was reverted)
Reviewed by: des Approved by: cperciva (implicit) MFC after: 1 week
|
241885 |
22-Oct-2012 |
eadler |
This isn't functionally identical. In some cases a hint to disable unit 0 would in fact disable all units.
This reverts r241856
Approved by: cperciva (implicit)
|
241856 |
22-Oct-2012 |
eadler |
Now that device disabling is generic, remove extraneous code from the device drivers that used to provide this feature.
Reviewed by: des Approved by: cperciva MFC after: 1 week
|
241844 |
22-Oct-2012 |
eadler |
remove duplicate semicolons where possible.
Approved by: cperciva MFC after: 1 week
|
241375 |
09-Oct-2012 |
mav |
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
|
241066 |
30-Sep-2012 |
kevlo |
Free result of device_get_children(9).
|
240884 |
24-Sep-2012 |
mav |
Fix panic caused by wrong pointer dereference, left after pin sense rewrite at r230551.
Also while there, make sense polling use reported for each node separately instead of reporting accumulated total status.
Submitted by: Barbara <barbara.freebsd@gmail.com> (1) MFC after: 3 days
|
239908 |
30-Aug-2012 |
mav |
Add bunch of ATI HDMI HDA controller IDs.
Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com> MFC after: 1 week
|
239326 |
16-Aug-2012 |
mav |
Fix "speaker" volume control, broken at r230451.
Reported and tested by: Slawa Olhovchenkov <slw@zxy.spb.ru> MFC after: 1 month
|
239254 |
14-Aug-2012 |
mav |
Fix multichannel input signals tracing on some CODECs like ALC260.
Reported and tested by: Slawa Olhovchenkov <slw@zxy.spb.ru> MFC after: 1 month
|
238022 |
02-Jul-2012 |
mav |
Remove 14 not very useful characters " HDA CODEC PCM" from HDA pcm device names to shorten them. PulseAudio reported to have problems with names longer then 63 chars and at least in XMMS long names are inconvinient.
Reported by: hselasky MFC after: 3 days
|
238011 |
02-Jul-2012 |
mav |
Restore GPIO config quirks handling, lost during last big refactoring.
Tested by: hselasky MFC after: 3 days
|
237975 |
02-Jul-2012 |
glebius |
- Call bus_generic_attach() at end of hdspe_attach(). - Use own devclass_t in DRIVER_MODULE().
This fixes operation of hdspe(4) when built as loadable module.
Submitted by: Ruslan Bukin <br bsdpad.com>
|
233692 |
30-Mar-2012 |
mav |
Reenable unsolicited responses on CODEC if hdaa_sense_init() called again. This fixes jack connection events handling after suspend/resume.
PR: kern/166382 MFC after: 1 week
|
233606 |
28-Mar-2012 |
mav |
Stop HDA controller polling callout on suspend and reset it on resume.
PR: kern/166382 MFC after: 1 week
|
233362 |
23-Mar-2012 |
jhb |
Don't cast a bus address to a uint8_t pointer just to add an offset to it. Instead, add the offset directly to the bus address.
|
232337 |
01-Mar-2012 |
mav |
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
|
231024 |
05-Feb-2012 |
mav |
Remove extra semicolon.
Submitted by: emaste
|
230897 |
01-Feb-2012 |
pfg |
Use new OSS-based BSD-licensed header for cs sound driver.
The cs driver requires a table with firmware values. An alternative firmware is available in a similar Open Sound System driver. This is actually a partial revert of Revision 77504.
Special thanks to joel@ for patiently testing several replacement attempts.
The csa driver and the complete sound system are now free of the GPL.
Tested by: joel Approved by: jhb (mentor) MFC after: 3 weeks
|
230807 |
31-Jan-2012 |
mav |
Just in case, clear stream interrupts before enabling them.
|
230768 |
30-Jan-2012 |
mav |
Fix typo in comments.
|
230641 |
28-Jan-2012 |
mav |
Fix HBR enabling condition. cchs is from 0 to 7, not from 1 to 8.
|
230602 |
26-Jan-2012 |
pfg |
Minor cleanups to the csa snd driver.
Remove unneeded temporary variable (data) to better match the OSS code. Remove some unused constants and type definitions.
Tested by: joel Approved by: jhb (mentor) MFC after: 3 weeks
|
230585 |
26-Jan-2012 |
mav |
Press some more info into the PCM device name: - add "+HP" in case of headphones redirection; - add device type for analog devices, if all pins have the same.
As result now it may look like "Analog 5.1+HP/2.0" or "Front Analog Mic". I hope it will be more useful than long and confusing.
MFC after: 2 months Sponsored by: iXsystems, Inc.
|
230574 |
26-Jan-2012 |
mav |
Fix typo in r230571.
Submitted by: trasz
|
230571 |
26-Jan-2012 |
mav |
Add another bunch of CODEC IDs.
|
230554 |
25-Jan-2012 |
mav |
Oops, fix the loader tunable name added in r230551.
|
230551 |
25-Jan-2012 |
mav |
Rewrite jack presence detection and implement automatic recording source selection in snd_hda(4) driver.
Now driver tracks jack presence detection status for every CODEC pin. For playback associations, when configured, that information, same as before, can be used to automatically redirect audio to headphones. Also same as before, these events are used to track digital display connection status and fetch ELD. Now in addition to that driver uses that information to automatically switch recording source of the mixer to the connected input.
When there are devices with no jack detection and with one both connected, last ones will have the precedence. As result, on most laptops after boot internal microphone should be automatically selected. But if external one (for example, headset) connected, it will be selected automatically. When external mic disconnected, internal one will be selected again.
Automatic recording source selection is enabled by default now to make recording work out of the box without touching mixer. But it can be disabled or limited only to attach time using hint.pcm.X.rec.autosrc loader tunables or dev.pcm.X.rec.autosrc sysctls.
MFC after: 2 months Sponsored by: iXsystems, Inc.
|
230532 |
25-Jan-2012 |
mav |
Fix word order in hdaa_subvendor_id() to match PCI (where it comes from), broken at r230130. This should fix applying system-specific patches.
|
230513 |
24-Jan-2012 |
mav |
In addition to r230511, allow 8 channel AC3 formats.
|
230511 |
24-Jan-2012 |
mav |
Enable High Bit Rate (HBR) Encoded Packet Type (EPT), if supported (HDMI and HBR bits set) and needed (AC3 format used with 8 channels). This should allow DTS-HD/TrueHD pass-through with rates above 6.144Mbps.
MFC after: 2 months Sponsored by: iXsystems, Inc.
|
230507 |
24-Jan-2012 |
mav |
HDMI and DisplayPort support can coexist in HDA CODEC. Report "HDMI/DP" in PCM device name if both supported.
MFC after: 2 months Sponsored by: iXsystems, Inc.
|
230488 |
23-Jan-2012 |
mav |
Realtek CODECs declare support for 32bit samples on S/PDIF input/output widgets. I am not sure if S/PDIF supports 32bit samples, but my Marantz SR4001 doesn't, producing only single clicks on playback start/stop. Because HDA controller requires 32bit alignment for all samples above 16bit, we can't handle this situation in regular way and have to set 32bit format in sound(4) for anything above 16bit. To workaround the problem, prefer to setup hardware to use 24/20bit samples when 32bit format requested. Add dev.pcm.X.play.32bit and dev.pcm.X.rec.32bit sysctls to control what format really use for 32bit samples.
MFC after: 2 months Sponsored by: iXsystems, Inc.
|
230465 |
22-Jan-2012 |
mav |
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.
|
230451 |
22-Jan-2012 |
mav |
Complete rewrite of the snd_hda(4) volume control.
Previous code was relatively dumb. During CODEC probe it was tracing signals and statically binding amplifier controls to the OSS mixer controls. To set volume it just set all bound amplifier controls proportionally to mixer level, not looking on their hierarchy and amplification levels/offsets.
New code is much smarter. It also traces signals during probe, but mostly to find out possible amplification control rages in dB for each specific signal. To set volume it retraces each affected signal again and sets amplifiers controls recursively to reach desired amplification level in dB. It would be nice to export values in dB to user, but unluckily our OSS mixer API is too simple for that.
As result of this change: - cascaded amplifiers will work together to reach maximal precision. If some input has 0/+40dB preamplifier with 10dB step and -10/+10dB mixer with 1dB step after it, new code will use both to provide 0/+40dB control with 1dB step! We could even get -10/+50dB range there, but that is intentionally blocked for now. - different channels of multichannel associations on non-uniform CODECs such as VIA VT1708S will have the same volume, not looking that control ranges are different. It was not good when fronts were 12dB louder. - for multiplexed recording, when we can record from only one source at a time, we can now use recording amplifier controls to set different volume levels for different inputs if they have no own controls of they are less precise. If recording source change, amplifiers will be reconfigured.
To improve out-of-the-box behavior, ignore default volume levels set by sound(4) and use own, more reasonable: +20dB for mics, -10dB for analog output volume and 0dB for the rest of controls. sound(4) defaults of 75% mean absolutely random things for different controls of different CODECs because of very different control ranges. Together with further planned automatic recording source selection this should allow users to get fine playback and recording without touching mixer first. Note that existing users should delete /var/db/mixer*-state and reboot or trigger CODEC reconfiguration to get new default values.
MFC after: 2 months Sponsored by: iXsystems, Inc.
|
230401 |
20-Jan-2012 |
pfg |
Replace GPLd headers from the Maestro3 driver with BSD licensed versions derived from /usr/ports/audio/oss.
The particular headers used were taken from the attic/drv/oss_allegro directory and are mostly identical to the previous files.
The Maestro3 driver is now free from the GPL.
NOTE: due to lack of testers this driver is being considered for deprecation and removal.
PR: kern/153920 Approved by: jhb (mentor) MFC after: 2 weeks
|
230331 |
19-Jan-2012 |
mav |
Print controller/codec IDs for unknown chips instead of useless and frightening "unknown" word. In most cases we don't need to know chips to properly handle them, but having IDs in logs may simplify debugging.
MFC after: 2 weeks Sponsored by: iXsystems, Inc.
|
230326 |
19-Jan-2012 |
mav |
Two 192/24/8 playback streams overflow single mandatory output line (SDO) of HDA bus. Handle that from two directions: - Add support for "striping" (using several SDO lines), if supported. - Account HDA bus utilization and return error on new stream allocation attempt if remaining bandwidth is unsifficient.
Most of HDA controllers have one SDO line with 46Mbps output bandwidth. NVIDIA GF210 has 2 lines - 92Mbps. NVIDIA GF520 has 4 lines - 184Mbps!
MFC after: 2 months Sponsored by: iXsystems, Inc.
|
230312 |
18-Jan-2012 |
mav |
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.
|
230181 |
16-Jan-2012 |
mav |
Add check to avoid assertion panic on duplicate stop.
Reported by: Yuri Pankov <yuri.pankov@gmail.com> MFC after: 2 months
|
230137 |
15-Jan-2012 |
joel |
Fix a few comment typos.
|
230133 |
15-Jan-2012 |
uqs |
Remove spurious 8bit chars, turning files into plain ASCII.
|
230130 |
15-Jan-2012 |
mav |
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.
|
229981 |
11-Jan-2012 |
pfg |
Replace GPL'd headers in the emu10kx snd driver code.
This uses the emuxkireg.h already used in the emu10k1 snd driver. Special thanks go to Alexander Motin as he was able to find some errors and reverse engineer some wrong values in the emuxkireg header.
The emu10kx driver is now free from the GPL.
PR: 153901 Tested by: mav, joel Approved by: jhb (mentor) MFC after: 2 weeks
|
229980 |
11-Jan-2012 |
pfg |
Fix an inconsistency that crept in while replacing constants from the new header.
Approved by: jhb (mentor) MFC after: 3 days
|
229430 |
03-Jan-2012 |
pfg |
Replace a GPL'd header in the emu10k1 snd driver code.
This brings in the emuxkireg.h from NetBSD (dev/pci) which is used for the same purpose but is smaller. The emu10k1 is now free from the GPL.
PR: 153901 Obtained from: NetBSD Approved by: core (mentor implicit) MFC after: 2 weeks
|
228727 |
20-Dec-2011 |
mav |
Oops, list of IDs is not sequential. Have to list all of them expoicitly.
|
228726 |
20-Dec-2011 |
mav |
Cast some vendor-specific spell on VIA VT1708S codecs to: - make analog input loopback work; - get access to the mics boost controls.
Sponsored by: iXsystems, Inc. MFC after: 1 month
|
227843 |
22-Nov-2011 |
marius |
- There's no need to overwrite the default device method with the default one. Interestingly, these are actually the default for quite some time (bus_generic_driver_added(9) since r52045 and bus_generic_print_child(9) since r52045) but even recently added device drivers do this unnecessarily. Discussed with: jhb, marcel - While at it, use DEVMETHOD_END. Discussed with: jhb - Also while at it, use __FBSDID.
|
227309 |
07-Nov-2011 |
ed |
Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.
The SYSCTL_NODE macro defines a list that stores all child-elements of that node. If there's no SYSCTL_DECL macro anywhere else, there's no reason why it shouldn't be static.
|
227293 |
07-Nov-2011 |
ed |
Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs.
This means that their use is restricted to a single C file.
|
224967 |
18-Aug-2011 |
mav |
Fix headphones pin configuration on Lenovo B450 laptop.
Submitted by: "Sergey V. Dyatko" <sergey.dyatko@gmail.com> Approved by: re (kib)
|
223118 |
15-Jun-2011 |
joel |
Hide driver revision behind bootverbose.
Approved by: mav
|
223058 |
13-Jun-2011 |
mav |
Add bunch of Conexant codec IDs. For some of them add quirks to disable excessive signal paths to simplify tracer's life.
|
222298 |
26-May-2011 |
mav |
Add better names for the Intel HDMI audio codecs.
|
221794 |
12-May-2011 |
jfv |
Correct a typo
|
221789 |
11-May-2011 |
jfv |
Chipset support for the new Intel Panther Point PCH, thanks to Seth Heasley for preparing the changes.
|
218909 |
21-Feb-2011 |
brucec |
Fix typos - remove duplicate "the".
PR: bin/154928 Submitted by: Eitan Adler <lists at eitanadler.com> MFC after: 3 days
|
218478 |
09-Feb-2011 |
marius |
Correct signedness and off-by-one issues in parameters used for DMA tag creation.
PR: 154259 Submitted by: Vladislav Movchan (partially) MFC after: 3 days
|
218149 |
01-Feb-2011 |
jfv |
Support for the new Patsburg PCH chipset: - SMBus Controller - SATA Controller - HD Audio Controller - Watchdog Controller
Thanks to Seth Heasley (seth.heasley@intel.com) for providing us code.
MFC after 3 days
|
216766 |
28-Dec-2010 |
yongari |
Add device id for RDC M3010 which is found on Vortex86 SoC.
Reviewed by: mav
|
216592 |
20-Dec-2010 |
tijl |
Merge amd64 and i386 bus.h and move the resulting header to x86. Replace the original amd64 and i386 headers with stubs.
Rename (AMD64|I386)_BUS_SPACE_* to X86_BUS_SPACE_* everywhere.
Reviewed by: imp (previous version), jhb Approved by: kib (mentor)
|
216518 |
18-Dec-2010 |
tijl |
Use convenience functions where possible instead of accessing the PCI configuration registers directly.
Remove pci_enable_io calls where they are redundant. The PCI bus driver will set the right bits when the corresponding bus resource is activated.
Remove redundant pci_* function calls from suspend/resume methods. The bus driver already saves and restores the PCI configuration.
Reviewed by: jhb Approved by: kib (mentor)
|
213779 |
13-Oct-2010 |
rpaulo |
Fix a brain-o: wrong case statement semantics.
Found with: clang
|
211910 |
28-Aug-2010 |
jfv |
Add Intel Cougar Point PCH HD Audio Controller ID
MFC in a week
|
210839 |
04-Aug-2010 |
gavin |
Do not free sc if attach failed, as it was allocated by the bus infrastructure, not us. This appears to be a leftover from an older version of the driver.
Submitted by: avg Tested by: Anton Shterenlikht <mexas bristol.ac.uk> MFC after: 1 week X-MFC-Note: To stable/8 and stable/7 only
|
208934 |
09-Jun-2010 |
mav |
Add set of codec IDs.
PR: kern/147466
|
206033 |
01-Apr-2010 |
joel |
Fix the gap between mute and lowest possible volume. The es1370 mixer volumes were incorrectly calculated.
I've tested this with one of my es1370 cards and I can confirm that it works.
PR: 98167 Submitted by: Joseph Terner <jtsn@gmx.de> Approved by: kib
|
205859 |
29-Mar-2010 |
joel |
Start copyright notices with /*-
|
205413 |
21-Mar-2010 |
mav |
Add some more codec IDs.
|
204875 |
08-Mar-2010 |
joel |
Looks like I forgot to add half of the copyright text when we switched to our preferred license.
|
204351 |
26-Feb-2010 |
mav |
Fix bug in headphones audio redirection using separate DAC. It was exposed by removing channel duplication during multichannel audio implementation.
|
202796 |
22-Jan-2010 |
mav |
Oops! r202789 broke recording from input mixer. Restore previous "mix" usage and use "igain" instead for input-to-output monitoring loopback.
|
202789 |
22-Jan-2010 |
mav |
- Improve tracer, to handle more cases of input-to-output monitoring loopback. - Change the meaning of "mix" OSS control. Now it controls loopback level, according to comments in soundcard.h. - Allow AD1981HD codecs to use playback mixer. Now driver should be able to really use it. - Fix bug in shared muters operation.
|
202736 |
21-Jan-2010 |
mav |
Print playback channels paths in order of their sequence numbers, not nids.
|
202156 |
12-Jan-2010 |
mav |
Align buffer size to LCM of 128bytes, required by hardware, and alignment of current format. This fixes problems with non-power-of-2 number of channels.
Enable 5.1 formats support, as they are working fine now.
|
202127 |
11-Jan-2010 |
mav |
Add multichannel (4.0 and 7.1) playback support. 5.1 mode support blocked now due to unidentified synchonization problem. For 7.1 soundcards 5.1 support handled correctly via software upmix done by sound(4).
Stereo stream is no more duplicated to all ports. If you loose sound, check you are using right connectors. Front speakers connector is usually green, center/LFE - orange, rear - black, side - gray.
|
201758 |
07-Jan-2010 |
mbr |
Remove extraneous semicolons, no functional changes.
Submitted by: Marc Balmer <marc@msys.ch> MFC after: 1 week
|
200375 |
11-Dec-2009 |
mav |
Add one more set of codec IDs.
|
199846 |
26-Nov-2009 |
mav |
Add two Cirrus Logic codec IDs. Add GPIO setting quirk for Apple MacBookPro5,5.
Submitted by: ed
|
199258 |
13-Nov-2009 |
mav |
Add more codec IDs.
|
197640 |
30-Sep-2009 |
mav |
Fix typo in previous commit. Add Realtek ALC887 codec ID.
|
197611 |
29-Sep-2009 |
mav |
Add some bits of HDMI/DisplayPort support from later specification updates. It may be not enough to make them work, but at least should give some information about these beasts.
|
197404 |
22-Sep-2009 |
joel |
Move es137x.c and es137x.h to a 2-clause BSD license. Also move a few comments.
Submitted by: Joachim Kuebart Approved by: core, Russell Cattelan <cattelan@thebarn.com>
|
197401 |
22-Sep-2009 |
marius |
- According to Linux, the ALi M5451 can do 31-bit DMA instead of just 30-bit like the reset of the controllers supported by this driver. Actually ALi M5451 can be setup up to generate 32-bit addresses by setting the 31st bit via the accompanying ISA bridge, which allows it to work in sparc64 machines whose IOMMU require at least 32-bit DMA. Even though other architectures would also benefit from 32-bit DMA, enabling this bit is limited to sparc64 as bus_dma(9) doesn't generally guarantee that a low address of BUS_SPACE_MAXADDR_32BIT results in a buffer in the 32-bit range. - According to Tatsuo YOKOGAWA's ali(4), the the DMA transfer size of ALi M5451 is fixed to 64k and in fact using the default size of 4k - The 4DWAVE DX and NX require the recording buffer to be 8-byte aligned so adjust the bus_dma_tag_create(9) accordingly. - Unlike the rest of the controllers supported by this driver, the ALi M5451 only has 32 hardware channels instead of 64 so limit the loop in tr_intr() accordingly. [1]
Submitted by: yongari [1] Reviewed by: yongari (superset of what is committed) MFC after: 3 days
|
197018 |
09-Sep-2009 |
mav |
Add NVidia MCP89 HDA controller IDs.
|
197017 |
09-Sep-2009 |
mav |
Add Intel 82801JD (one more ICH10) HDA controller ID.
Submitted by: yongari
|
196762 |
02-Sep-2009 |
mav |
Improve HDA controller capabilities logging.
|
196403 |
20-Aug-2009 |
jhb |
Temporarily revert the new-bus locking for 8.0 release. It will be reintroduced after HEAD is reopened for commits by re@.
Approved by: re (kib), attilio
|
196037 |
02-Aug-2009 |
attilio |
Make the newbus subsystem Giant free by adding the new newbus sxlock. The newbus lock is responsible for protecting newbus internIal structures, device states and devclass flags. It is necessary to hold it when all such datas are accessed. For the other operations, softc locking should ensure enough protection to avoid races.
Newbus lock is automatically held when virtual operations on the device and bus are invoked when loading the driver or when the suspend/resume take place. For other 'spourious' operations trying to access/modify the newbus topology, newbus lock needs to be automatically acquired and dropped.
For the moment Giant is also acquired in some key point (modules subsystem) in order to avoid problems before the 8.0 release as module handlers could make assumptions about it. This Giant locking should go just after the release happens.
Please keep in mind that the public interface can be expanded in order to provide more support, if there are really necessities at some point and also some bugs could arise as long as the patch needs a bit of further testing.
Bump __FreeBSD_version in order to reflect the newbus lock introduction.
Reviewed by: ed, hps, jhb, imp, mav, scottl No answer by: ariff, thompsa, yongari Tested by: pho, G. Trematerra <giovanni dot trematerra at gmail dot com>, Brandon Gooch <jamesbrandongooch at gmail dot com> Sponsored by: Yahoo! Incorporated Approved by: re (ksmith)
|
195690 |
14-Jul-2009 |
mav |
Disable MSI by default for nVidia MCP55 chipset. It is reported to be broken in the same way as MCP51.
PR: kern/136429 Approved by: re (kib)
|
194861 |
24-Jun-2009 |
mav |
Some DMA related changes: - honor parent DMA tag limitations, as man page requires, - allow data buffer to be allocated within full 64bit address range, when support is announced by hardware, - add quirk, disabling 64bit addresses for broken chips, use it for MCP78.
|
194177 |
14-Jun-2009 |
mav |
Fix type of lowaddr variable.
|
193642 |
07-Jun-2009 |
ariff |
Bump driver revision (should have bumped it earlier).
|
193640 |
07-Jun-2009 |
ariff |
Sound Mega-commit. Expect further cleanup until code freeze.
For a slightly thorough explaination, please refer to [1] http://people.freebsd.org/~ariff/SOUND_4.TXT.html .
Summary of changes includes:
1 Volume Per-Channel (vpc). Provides private / standalone volume control unique per-stream pcm channel without touching master volume / pcm. Applications can directly use SNDCTL_DSP_[GET|SET][PLAY|REC]VOL, or for backwards compatibility, SOUND_MIXER_PCM through the opened dsp device instead of /dev/mixer. Special "bypass" mode is enabled through /dev/mixer which will automatically detect if the adjustment is made through /dev/mixer and forward its request to this private volume controller. Changes to this volume object will not interfere with other channels.
Requirements: - SNDCTL_DSP_[GET|SET][PLAY|REC]_VOL are newer ioctls (OSSv4) which require specific application modifications (preferred). - No modifications required for using bypass mode, so applications like mplayer or xmms should work out of the box.
Kernel hints: - hint.pcm.%d.vpc (0 = disable vpc).
Kernel sysctls: - hw.snd.vpc_mixer_bypass (default: 1). Enable or disable /dev/mixer bypass mode. - hw.snd.vpc_autoreset (default: 1). By default, closing/opening /dev/dsp will reset the volume back to 0 db gain/attenuation. Setting this to 0 will preserve its settings across device closing/opening. - hw.snd.vpc_reset (default: 0). Panic/reset button to reset all volume settings back to 0 db. - hw.snd.vpc_0db (default: 45). 0 db relative to linear mixer value.
2 High quality fixed-point Bandlimited SINC sampling rate converter, based on Julius O'Smith's Digital Audio Resampling - http://ccrma.stanford.edu/~jos/resample/. It includes a filter design script written in awk (the clumsiest joke I've ever written) - 100% 32bit fixed-point, 64bit accumulator. - Possibly among the fastest (if not fastest) of its kind. - Resampling quality is tunable, either runtime or during kernel compilation (FEEDER_RATE_PRESETS). - Quality can be further customized during kernel compilation by defining FEEDER_RATE_PRESETS in /etc/make.conf.
Kernel sysctls: - hw.snd.feeder_rate_quality. 0 - Zero-order Hold (ZOH). Fastest, bad quality. 1 - Linear Interpolation (LINEAR). Slightly slower than ZOH, better quality but still does not eliminate aliasing. 2 - (and above) - Sinc Interpolation(SINC). Best quality. SINC quality always start from 2 and above.
Rough quality comparisons: - http://people.freebsd.org/~ariff/z_comparison/
3 Bit-perfect mode. Bypasses all feeder/dsp effects. Pure sound will be directly fed into the hardware.
4 Parametric (compile time) Software Equalizer (Bass/Treble mixer). Can be customized by defining FEEDER_EQ_PRESETS in /etc/make.conf.
5 Transparent/Adaptive Virtual Channel. Now you don't have to disable vchans in order to make digital format pass through. It also makes vchans more dynamic by choosing a better format/rate among all the concurrent streams, which means that dev.pcm.X.play.vchanformat/rate becomes sort of optional.
6 Exclusive Stream, with special open() mode O_EXCL. This will "mute" other concurrent vchan streams and only allow a single channel with O_EXCL set to keep producing sound.
Other Changes: * most feeder_* stuffs are compilable in userland. Let's not speculate whether we should go all out for it (save that for FreeBSD 16.0-RELEASE). * kobj signature fixups, thanks to Andriy Gapon <avg@freebsd.org> * pull out channel mixing logic out of vchan.c and create its own feeder_mixer for world justice. * various refactoring here and there, for good or bad. * activation of few more OSSv4 ioctls() (see [1] above). * opt_snd.h for possible compile time configuration: (mostly for debugging purposes, don't try these at home) SND_DEBUG SND_DIAGNOSTIC SND_FEEDER_MULTIFORMAT SND_FEEDER_FULL_MULTIFORMAT SND_FEEDER_RATE_HP SND_PCM_64 SND_OLDSTEREO
Manual page updates are on the way.
Tested by: joel, Olivier SMEDTS <olivier at gid0 d org>, too many unsung / unnamed heroes.
|
193228 |
01-Jun-2009 |
mav |
Comment out old Realtek ALC883 quirk, that was disabling phantop power on mic inputs. I have no idea what for it was made that time, but now I have several reports that it should be removed to make microphones work. If this quirk is still required for some systems then they should be identified and specified explicitly.
|
192919 |
27-May-2009 |
joel |
Separate comments from the license text.
|
192460 |
20-May-2009 |
joel |
Slightly adjust copyright text.
Approved by: matk
|
192457 |
20-May-2009 |
joel |
Remove license clauses 3 and 4 as per rev. 1.65 of auvia.c in NetBSD.
|
191911 |
08-May-2009 |
mav |
Add one more board ID with inverted external amplifier control.
PR: kern/121156
|
191310 |
20-Apr-2009 |
stas |
- Unlock softc mutex on failure.
MFC after: 1 week
|
191308 |
20-Apr-2009 |
stas |
- Properly unlock mutex on failure in channel_trigger. Before this the function just returned with the mutex held.
MFC after: 1 week
|
190630 |
01-Apr-2009 |
mav |
Add some more logic for AD1986A codec input tracing. Use mic preamplifier only for mic-type inputs. This gives better chances to use it.
Change default configuration for some AD1986A codec based ASUS boards, use it also for ASUS P5PL2 board. This makes front mic preamplifier working.
Tested by: Vadim Frolov <frolov@frolov.ck.ua>
|
190519 |
29-Mar-2009 |
mav |
Fixup relative pointers after channel realloc. It fixes crash on systems with several HDA codecs per controller.
While I am there, remove some unneeded dereferences.
Submitted by: Tor Egge <Tor.Egge@cvsup.no.freebsd.org>
|
189879 |
16-Mar-2009 |
mav |
Remove CD input hack for ALC268 based Acer systems. Latest systems does not implement CD input in hardware, while unconditional showing it confuse users. Also it was made in the way that sometimes improper with present driver.
Add patch for ALC268 based Acer TM5320 to make headphones jack sensing work. Default configuration defines two separate playback associations, which current driver unable to trace properly due to order they are defined and limited codec uniformity.
Submitted by: G. Mirov <g.mirov AT gmail.com>
|
189876 |
16-Mar-2009 |
mav |
Fix spelling in message.
|
189575 |
09-Mar-2009 |
imp |
remove now-redunant cardbus attachment.
|
189127 |
27-Feb-2009 |
mav |
Copy/paste bug fix for previos commit.
|
189086 |
26-Feb-2009 |
mav |
Add MSI blacklisting support.
Disable MSI for nVidia MCP51 controller. Enabling MSI there leads to unexpected errors and timeouts, that should not happen even if interrupts are not working completely.
|
188656 |
15-Feb-2009 |
mav |
Enable MSI support by default. Still can be disabled using device.hints.
|
188510 |
12-Feb-2009 |
mav |
s/succeded/succeeded/ in comments.
|
188480 |
11-Feb-2009 |
netchild |
All open fixes and improvements from Konstantin for which users had to use patches so far: + Envy24: - fix: broken init data for M Audio Delta DiO 2496 - add: support for M Audio Delta 44 - add: support for M Audio Delta 1010LT Tested by: Dominique Goncalves, dominique.goncalves at gmail.com - add: support for Terratec EWX 2496 Tested by: Stefan Sperling, stsp at stsp.name - add: support for M Audio Delta 66 Tested by: Richard Bown, richard.bown at blueyonder.co.uk - add: support for M Audio Delta 1010 Tested by: Andrew Reilly, areilly at bigpond.net.au + Envy24HT: - add: support for Terrasoniq TS22PCI - fix: M-Audio Revolution 5.1 sound volume is very low Reported by: Oliver Hartmann, ohartman at zedat.fu-berlin.de Andrey Slusar, anrays at gmail.com Tested by: Andrey Slusar, anrays at gmail.com Rusu Silviu, arol.the at gmail.com - fix: M-Audio Revolution 7.1 sound is distorted and very quiet Reported by: Olev Hannula, hannula at gmail.com Tested by: Olev Hannula, hannula at gmail.com Stanislav Belansky, stanislav at icmail.ru - fix: Terratec PHASE 22 codec is power-off due to wrong init data Reported by: Philipp Ost, pj at smo.de Tested by: Philipp Ost, pj at smo.de + SpicDS: - fix: AK4381 produce hiss sound on 192kHz sample rate - fix: stupid bug with volume control for AK4396
Submitted by: Konstantin Dimitrov <kosio.dimitrov@gmail.com>
|
188424 |
09-Feb-2009 |
cognet |
Hmm... "base? base : 0" and "base" should be equivalent.
Pointy hat to: cognet
MFC after: 3 days
|
187944 |
31-Jan-2009 |
mav |
Fix bug in hint.hdac.X.config parsing.
|
187721 |
26-Jan-2009 |
mav |
Specify analog beep pin widget for several AD codecs. It gives working speaker control for that systems.
|
187445 |
19-Jan-2009 |
mav |
Add two more nVidia HDMI codec IDs.
|
187375 |
18-Jan-2009 |
keramida |
Add support for CMedia CMI120.
PR: kern/123640 Approved by: ariff MFC after: 2 weeks
|
187202 |
13-Jan-2009 |
mav |
Correct spelling in comment.
|
187196 |
13-Jan-2009 |
mav |
Improve AD1983 codec support: - force playback via mixer to get PCM volume control, - make cleanup on recoring source selection.
|
187154 |
13-Jan-2009 |
mav |
Change configuration order to enable output only after codec is configured. Mute all mixer controllable amplifiers initially to let mixer to unmute only some of them later. This should reduce clicks and noises during boot.
|
187052 |
11-Jan-2009 |
mav |
Fix unwanted crosschannel mixing, possible on some codecs like VIA VT1708B and Realtek ALC268.
|
187020 |
10-Jan-2009 |
mav |
Add one more bunch of controller and codec IDs.
|
186912 |
08-Jan-2009 |
mav |
Add external connector jack color into widget names. It should help users to identify them while reading verbose messages.
|
186851 |
07-Jan-2009 |
rafan |
- Remove snd_au88x0 which seems never got compiled into kernel nor as a kernel module. These files cause manual interaction when building ports/audio/aureal-kmod which provides a usable i386-only driver (it requires linking against some linux object files distributed by vendor which bankrupted back in 2000).
MFC after: 1 week
|
186511 |
27-Dec-2008 |
mav |
Add some found NVidia MCP7x HDA controller IDs.
|
186503 |
26-Dec-2008 |
mav |
Add some special handling for AD1986A codec:
Disable some unneeded pathes in overcomplicated input mixer to help parser to handle the rest better. This gives mic input boost control in some configurations and just more predictable operation in others.
|
186430 |
23-Dec-2008 |
mav |
Organize Conexant codecs. Add CX20561 (Hermosa) codec ID.
|
186403 |
22-Dec-2008 |
mav |
Add 9 more Analog Devices codec names.
|
186301 |
18-Dec-2008 |
mav |
Add ULI M5461 chipset and vendor ID.
|
186146 |
16-Dec-2008 |
mav |
Add some HDMI codec IDs.
|
186145 |
15-Dec-2008 |
mav |
Add VIA VT1708B codec IDs.
|
185236 |
23-Nov-2008 |
mav |
Remove DELAY() on hdac_audio_commit(). I don't see the reason why it is needed.
|
185230 |
23-Nov-2008 |
mav |
Do not use soft PCM volume for digital outputs to allow SPDIF AC3 bypass to work. Soft PCM volume (and vchans) unable to bypass AC3 stream now.
|
185225 |
23-Nov-2008 |
mav |
Strictly differentiate digital and analog PCM devices according to codec nodes capabilities. Add "Analog"/"Digital" marks to the pcm device names.
I hope it will help new users easier accept concept of several PCM devices and understand exact purposes of that devices.
|
185178 |
22-Nov-2008 |
mav |
Whitespace cleanup for previous commit.
|
185177 |
22-Nov-2008 |
mav |
Handle device_get_children() errors in more correct way. We shouldn't detach until all children are surely destroyed.
Found with: Coverity Prevent(tm) CID: 2137
|
185176 |
22-Nov-2008 |
mav |
Change check order to avoid array overrun.
Found with: Coverity Prevent(tm) CID: 2497
|
184991 |
15-Nov-2008 |
mav |
Correct association 0 handling. as=0 means unused pin, so disable it explicitly, this is mostly cosmetics.
|
184483 |
30-Oct-2008 |
mav |
Add quirk to set GPIO2 to enable internal speaker on Dell Vostro 1400.
Tested by: Sergio Veloso
|
184254 |
25-Oct-2008 |
mav |
Fix spelling in comment.
|
184231 |
24-Oct-2008 |
mav |
Bump the revision after the latest commits.
|
184230 |
24-Oct-2008 |
mav |
Add some special handeling for AD1981HD codec. It has very unusual design with several points unappropriate for the present parser. This patch disables input-to-output analog monitoring but instead fixes recording.
Tested by Tobias Grosser on ThinkPad T61p.
|
184207 |
23-Oct-2008 |
mav |
Add Intel ICH10 and SCH HDA controllers PCI IDs.
|
184095 |
20-Oct-2008 |
mav |
Make HDA PCM device boot and sndstat messages more alike to PCI device ones. Move codec # out of the device name as it is a device address and not part of device type name.
|
184089 |
20-Oct-2008 |
mav |
Tune boot messages a bit. Use <> brackets only at device name line.
|
183894 |
14-Oct-2008 |
mav |
Add all Sigmatel/IDT codecs I could find. Add IDT and Intel unknown codecs.
PR: kern/125822
|
183811 |
12-Oct-2008 |
mav |
Bump driver revision after the previous commit.
|
183810 |
12-Oct-2008 |
mav |
Fix bug in a second call of the channel allocation function. This should fix crash on systems where two audio codecs connected to the same HDA bus.
|
183381 |
26-Sep-2008 |
ed |
Remove unit2minor() use from kernel code.
When I changed kern_conf.c three months ago I made device unit numbers equal to (unneeded) device minor numbers. We used to require bitshifting, because there were eight bits in the middle that were reserved for a device major number. Not very long after I turned dev2unit(), minor(), unit2minor() and minor2unit() into macro's. The unit2minor() and minor2unit() macro's were no-ops.
We'd better not remove these four macro's from the kernel, because there is a lot of (external) code that may still depend on them. For now it's harmless to remove all invocations of unit2minor() and minor2unit().
Reviewed by: kib
|
183097 |
16-Sep-2008 |
mav |
Hide some of driver's internal debugging.
Left only parts surely required for basic troubleshooting and configuration purposes. There is still very long output, but further shrinking makes it less informative.
Original debugging can be enabled with hw.snd.verbose=4.
|
183025 |
14-Sep-2008 |
mav |
Small addition to the previous commit. Sorry.
|
183024 |
14-Sep-2008 |
mav |
Add some missing Realtek codec IDs. Just for reference. Fix small typo in error message.
|
183019 |
14-Sep-2008 |
mav |
Remove one unneeded printf from non-verbose output.
Submitted by: Artem Naluzhnyy
|
182999 |
13-Sep-2008 |
mav |
My massive snd_hda driver update.
Because of using more clear and same time more functional codec parser new driver is able to handle more codecs, use them better then before and without most of previous quirks. All of tested codecs itself manage playback, record, input mixing and monitoring quite fine. In all of investigated trouble cases problem was found or in nonstandard codec usage or incorrect codec configuration made by BIOS. Most of that cases could be fixed using device hints, some of which are already included to the driver.
New driver supports multiple codecs per HDA bus, multiple audio function groups per codec and multiple logical sound devices per audio function group. So don't worry when you get several PCM devices instead of one, it is normal. It is usual situation with powerful codecs to provide, for example, 3 PCM devices: one for 7.1 playback and main recording, one for headset and one for digital SPDIF I/O.
New driver implements Universal Audio Architecture (UAA) much better then previous one. Most information about recommended codec usage now taken from the codec configuration registers initialized by BIOS. User may alter that configuration using device hints to reconfigure logical audio devices to his needs in a very broad range up to the limits of the codec functionality.
New driver supports digital PCM playback and AC3 pass-through. I am not sure about completeness of this implementation, but I have several success stories including my own. Vchans subsystem does not support AC3 pass-through so it had to be disabled for that devices at this moment.
New driver is ready for multichannel playback, but until our OSS is unable to use this it will just duplicate same stereo stream into all channel pairs.
New driver supports suspend/resume. I am unable to really test this part myself, but I have got several success stories.
Driver has very informative verbose boot messages. So if you have any questions or problems - enable and read them first.
Discussed on: freebsd-multimedia@ Tested by: many
|
182854 |
07-Sep-2008 |
joel |
Fix deactivation of speakers while plugging in headphones on Fujitsu U1010, Lenovo 3k N200 and Acer Aspire 4715Z.
Reviewed by: attilio PR: 126216, 126244, 127034 Submitted by: Anton E. Kartashev <amokk@mirahost.ru>, Ganael Laplanche <ganael.laplanche@martymac.com>, Dennis Generaloff <giantlock@gmail.com>
|
182077 |
23-Aug-2008 |
imp |
Make sure that we handle errors in device_get_children correctly.
|
180532 |
15-Jul-2008 |
delphij |
Add quirk for Dell D630 laptops.
Tested by: Quake Lee <quakelee geekcn org>, Robert Noland <rnoland 2hip net> MFC after: 1 week Approved by: ariff
|
180110 |
30-Jun-2008 |
delphij |
Correct SB600 AC97 Audio PCI ID, otherwise we will attach to the SBx00 PCI to PCI Bridge which causes problems.
|
179205 |
22-May-2008 |
kevlo |
Add codec id for Sigmatel STAC9872AK
Reviewed by: ariff
|
178324 |
19-Apr-2008 |
ariff |
Fix no sound issues for ASUS W6F (ALC861) laptops (buggy BIOS config that deserves its own internet memes). The trick is to force all available, unused pins (that being advertised as "speaker") to behave as microphone pins instead.
Reported / Tested by: Dmitry Kutsenko <kutsenko.truebsd.org> MFC after: 3 days
|
178155 |
12-Apr-2008 |
ariff |
- Add codec id for Sigmatel STAC9205 - Fix speaker issues with Dell Vostro 1500 (GPIO0)
Tested by: John Wright <jwright.gmail.com>
- Apply ridiculous quirk on Asus A8X series (A8JC, A8M, A8xx, etc). These different laptop series share simmilar pci id, hardware codecs, etc. but works differently. A slight difference in connection type for widget #26 is used to differentiate it.
Tested by: eric baumbach <embaumbach.gmail.com>
- Apply GPIO0 quirk for ASUS G2K laptop - Sort ASUS ids accordingly.
Submitted by: jkim
MFC after: 3 days
|
174582 |
14-Dec-2007 |
ariff |
Limit total hardware playback channels to just 1. The reliability of it's multi DAC / playback channels is not that good. Enabling vchans make the bug more visible since playback allocation will look for possible free hardware channels first (i.e: the next DAC, the very first has been consumed by vchan mixer) which in this case has been proven faulty.
Tested by: Dominic Fandrey <LoN_Kamikaze at gmx dot de> URL: http://lists.freebsd.org/pipermail/freebsd-stable/2007-December/039022.html
|
174579 |
13-Dec-2007 |
ariff |
Add speaker/headphone controls for HP Compaq DC7700 Small Form Factor PC @ ALC262.
Submitted by: Carlos A. M. dos Santos <unixmania at gmail dot com>
|
174578 |
13-Dec-2007 |
ariff |
nid 28 for Acer @ ALC268 should be identified as analog CD input pin, though it doesn't provides proper (sane, valid, usable, etc) analog CD playback due to its stripped down nature.
|
174552 |
12-Dec-2007 |
ariff |
Disable AC97 microphone channel. Due to the channel allocation priority that favours true hardware channel, the first instance of recording request will grab this channel (the first channel is being used as vchan master). In many cases, it is not really work as intended and give false impression of broken recording.
PR: kern/118546 MFC after: 3 days
|
174182 |
02-Dec-2007 |
ariff |
Headphone / speakers automute fixup for Acer Aspire 4710 @ ALC268 laptop.
Tested by: Liyu, She
|
174025 |
28-Nov-2007 |
ariff |
- Add Analog Devices AD1984 codec id. - Enable pcbeep control for Acer + ALC268 (nid 29). Give enough (fake) hints so the parser will grab it and allocate "speaker" control. - Fix regression while preparing DAC and ADC for multichannel format. Since playback policy is to output to every possible path, ensure that each DAC is started.
Reported / Tested by: Guy Brand
|
174004 |
28-Nov-2007 |
ariff |
Add missing MCP65 id which was accidentally removed in previous commit.
|
173817 |
21-Nov-2007 |
ariff |
* Fix support for followings: o Acer Aspire 4520 laptop - jack sensing / automute o Toshiba Satellite A135-S4527 laptop - jack sensing / automute Tested by: lioux o Apple Macbook 3 (is it?) - require gpio0 (for speakers) and ovref50 (for headphone) to make it works - jack sensing / automute Tested by: Ed Schouten * Add Nvidia MCP67 controller ids. * Be sensible about simmilar controller with multiple pci ids. * Connect unused DAC/ADC to stream#0 rather than forcing each of them managing their own stream.
MFC after: 3 days
|
173511 |
10-Nov-2007 |
ariff |
Limit total playback channels to just 1, for ALi M5451. The reliability of it's multi DAC / playback channels is not that good. Enabling vchans make the bug more visible since playback allocation will look for possible free hardware channels first (i.e: the next DAC, the very first has been consumed by vchan mixer) which in this case has been proven faulty.
Reported / Tested by: Sascha Klauder MFC after: 3 days
|
173329 |
04-Nov-2007 |
ariff |
Add support for trimmed down version of ATI SB600 AC97 audio controller.
URL: http://www.ipc2u.de/catalog/P/PE/36486.html PR: kern/117813 Submitted by: Klaus Mayr MFC after: 1 day
|
172811 |
19-Oct-2007 |
ariff |
- Gigabyte G33-S2H fixup, due to the present of multiple competing codecs. Codec at address 0 seems purely digital, or perhaps an HDMI interface. Let the driver skip it and continue scanning the codecs starting with address 2 (Realtek ALC885). * Due to possibilities of future similar cases, put enough logic in hdac_scan_codecs() to force codec scanning starting from XX address via tunable "hint.pcm.%d.codec_index".
Reported / Tested by: Toomas Pelberg <toomasp@gmx.net>
- Trivial headphone / speaker automute fixup for Fujitsu-Siemens AMILO Si 1848 laptop.
Reported / Tested by: Ed <ed@bsd.it>
- Trivial headphone / speaker automute fixup for Fujitsu-Siemens Lifebook S7020D laptop.
Reported / Tested by: Jaromir Dvoracek <jarek@ataxo.com>
- Some smart vendor trying to create interplanetary wormhole by screwing pci config space during their BIOS update. The side effects of their failure attempt includes mutilated hardware id, broken speaker automuting and loosing the entire analog CD connectivity, thus causing enough collateral damages to collapse the entire universe. Move along with it.
Please exercise extra cautious when applying BIOS updates.
Reported / Tested by: Pietro Cerutti <gahr@gahr.ch> - assembled laptop, based on the MSI-1034 (662) which is now becoming MSI-034A.
- Fix no sound issues (on headphones) for Lenovo ThinkCentre A55 due to global automute table entry which is not applicable for non-laptops.
Reported / Tested by: Piotr Smyrak <piotr.smyrak@heron.pl>
- Speaker mute control for HP DC7700 since the front headphone jack does not generate any interesting unsolicited signal/response.
Reported / Tested by: tyop @ irc.freenode.net
Approved by: re (kensmith) MFC after: 3 days
|
172568 |
12-Oct-2007 |
kevlo |
Spelling fix for interupt -> interrupt
|
172150 |
12-Sep-2007 |
ariff |
Update snd_emu10kx driver with recent perforce changes (and few other changes too).
(without any real order)
1. Use device_get_nameunit for mutex naming 2. Add timer for low-latency playback 3. Move most mixer controls from sysctls to mixer(8) controls. This is a largest part of this patch. 4. Add analog/digital switch (as a temporary sysctl) 5. Get back support for low-bitrate playback (with help of (2)) 6. Change locking for exclusive I/O. Writing to non-PTR register is almost safe and does not need to be ordered with PTR operations. 7. Disable MIDI until we get it to detach properly and fix memory managment problems. 8. Enable multichannel playback by default. It is as stable as single-channel mode. Multichannel recording is still an experimental feature. 9. Multichannel options can be changed by loader tunables. 10. Add a way to disable card from a loader tunable. 11. Add new PCI IDs. 12. Debugger settings are loader tunables now. 14. Remove some unused variables. 15. Mark pcm sub-devices MPSAFE. 16. Partially revert (bus_setup_intr -> snd_setup_intr) since it need to be done independently
Submitted by: Yuriy Tsibizov (driver maintainer) Approved by: re (bmah)
|
171363 |
11-Jul-2007 |
ariff |
Protect against divide by zero while calculating bus speed due to possible broken kernel timecounter.
Reported/Tested by: silby Approved by: re (hrs) MFC after: 1 day
|
171330 |
09-Jul-2007 |
ariff |
- Add codec id for Realtek ALC268.
- Add controller id for Intel 82801I (ICH9). PR: kern/114399 Submitted by: Michael Fuckner <michael@fuckner.net>
- MSI support. Disable by default due to various issues with too many broken hardwares. MSI can be enabled through device.hints(5) or kenv(8) by setting "hint.pcm.%d.msi=1". Partially submitted by: kevlo YAMAMOTO Taku <taku@tackymt.homeip.net> Tested by: joel, kevlo, YAMAMOTO Taku
Approved by: re (hrs) MFC after: 3 days
|
171329 |
09-Jul-2007 |
ariff |
Fix stream suspend/resume activity due to its states being clobbered by pcm channel start/stop trigger operation.
Approved by: re (hrs)
|
171250 |
05-Jul-2007 |
ariff |
Properly unlock mutex before returning. There was a slight mishap during last major locking cleanup.
Reported by: Thierry Herbelot <thierry@herbelot.com> Approved by: re (mux)
|
171141 |
01-Jul-2007 |
ariff |
- Fix input/microphone support for ASUS A8N-VMCSM series.
Submitted by: Simon Schubert <corecode@fs.ei.tum.de>
- Defer flushing unsolicited response into taskqueue thread rather than handle it directly in interrupt handler, since few of its operations (like measuring/calibrating jack impedance) are quite expensive. - Misc. debugging cleanups.
Tested by: joel Approved by: re (hrs) MFC after: 3 days
|
170944 |
18-Jun-2007 |
ariff |
Fix headphone jack sensing support for Olivetti Olibook 610-430 XPSE.
Tested by: Gonzalo Lionel Rodriguez
|
170873 |
17-Jun-2007 |
ariff |
Flush remaining malloc() cleanups (M_NOWAIT -> M_WAITOK).
|
170815 |
16-Jun-2007 |
ariff |
Last (again ?!?) major commit for RELENG_7, featuring total Giant eradication in/from userland path, countless locking fixes, etc.
- General sleep call through msleep(9) has been converted to condvar(9) with better consistencies. - Heavily guard every possible "slow path" entries (open(), close(), few ioctl()s, sysctls), but once it entering "fast path" (io, interrupt started), they are free to fly on their own. - Rearrange locking sequences, resulting better concurrency and serialization. Large part doesn't even need locking at all, and will be removed in future. Less clutter, except in few places due to lock ordering. - Anonymous mixer object creation/deletion to simplify mixer handling beyond typical mixer ioctls. Submitted by: chibis (with modifications) - Add few mix_[get|set|..] functions to avoid calling mixer_ioctl() directly using cryptic arguments. - Locking fixes to avoid possible deadlock with (still under Giant) USB. - Better simplex/duplex device handling. - Recover mmap() functionality for recording, which has been lost since 2.2.x - 3.x (the introduction of newpcm). Full-duplex mmap still doesn't work (due to VM/page design), but people still can mmap both by opening each direction separately. mmaped playback is guarantee to work either way. - New sysctl: "hw.snd.compat_linux_mmap" to allow PROT_EXEC page mapping, due to recent changes in linux compatibility layer which require it. All linux applications that using sound + mmap() (mostly games) require this to be enabled. Disabled by default. - Other goodies.. too many, that will increase releng7 shareholder value and make users of releng6 (and below) cry ;)
* This commit should be atomic. If anything goes wrong (not counting problem originated from elsewhere), I will not hesitate to revert everything back within 12 hours. This substantial changes itself not a rocket science and the process has begun for almost 2 years, and lots of incremental changes are already in place during that period of time. * Some issues does occur in snd_emu10kx (note the 'x') due to various internal locking issues and it is currently being worked on by chibis.
Tested by: chibis (Yuriy Tsibizov), joel, Alexandre Vieira, many innocent souls...
|
170721 |
14-Jun-2007 |
ariff |
Drain all callout handlers during driver detach appropriately.
|
170720 |
14-Jun-2007 |
ariff |
Don't push too hard waiting/looping for codec detection interrupt. Let the interrupt do the job waking us up.
|
170521 |
11-Jun-2007 |
ariff |
Filter/compress the amount of channel trigger. This should reduce much of lock/unlock contentions within the interrupt handler. Most of these drivers only need PCMTRIG_START or STOP (ABORT).
Discussed with: scottl
|
170518 |
10-Jun-2007 |
ariff |
- Add codec id for ALC660 [1] - Add codec id for AD1988B, along with fixing its line-in and other issues (with proper quirks). [2]
Submitted by: [1] barbara.xxx1975@libero.it [2] Oliver Brandmueller ob@e-Gitt.NET MFC after: 3 days
|
170289 |
04-Jun-2007 |
dwmalone |
Despite several examples in the kernel, the third argument of sysctl_handle_int is not sizeof the int type you want to export. The type must always be an int or an unsigned int.
Remove the instances where a sizeof(variable) is passed to stop people accidently cut and pasting these examples.
In a few places this was sysctl_handle_int was being used on 64 bit types, which would truncate the value to be exported. In these cases use sysctl_handle_quad to export them and change the format to Q so that sysctl(1) can still print them.
|
170207 |
02-Jun-2007 |
ariff |
Use standard pcm_get/setflags() rather than dereferencing softc while enabling SD_F_SOFTPCMVOL or any flags.
|
170137 |
30-May-2007 |
ariff |
Don't rely on pcm_channel index numbering while doing sequential channel allocation.
|
170065 |
28-May-2007 |
ariff |
- Enable soft pcm volume flag early to ensure it not being clobbered by the subsequent mix_setdevs() and friends. - Minor style(9) declaration arrangement nit.
Requested by: joeld Submitted by: pluknet <pluknet@gmail.com>
|
170032 |
27-May-2007 |
ariff |
Fix broken binary issues with latest gcc 4.x due to bitfield signess mishaps for emu10k1 [1] and few other places.
Reported/Submitted/Tested by: Ed Schouten <ed@fxq.nl> [1]
|
170031 |
27-May-2007 |
joel |
Bring in a bunch of bug fixes and some code to support more chipsets. Neither me nor Ariff have access to any of this hardware, so all tests have been made by Konstantin and Artem. Commit message mostly written by Konstantin.
envy24: - Add test code to support rear line-in input on 'Terratec DMX 6fire' audio card. This code is also intended to be used in the future for support of cards, that have I2C-to-GPIO expanders wired between the control line of the audio codec and the Envy24, however such cards are too complex and i can't add that support without hardware sample of such board, i've already tried and failed.
envy24ht: - Add support for 'AudioTrak Prodigy HD2'. - Add support for 'AudioTrak Prodigy 7.1 XT'. - Add support for 'ESI Juli@' (Works ok, DAC volume is hard-coded for the time being, so 'mixer vol ...' doesn't work, only 'mixer pcm ...' works). [1] - Fix bug in the init data for M-Audio Revolution 5.1, that results in distorted sound. - Add software volume control (now 'mixer pcm' works, thanks to Ariff). - Add support for more samples rates - 176.4kHz and 192kHz. - Fix problem with the 192kHz samples rate playback when 24.576MHz crystal is used on the board instead of 49.152MHz crystal.
spicds: - Add support for Asahi Kasei flagship DAC - AK4396 (used in AudioTrak Prodigy HD2).
Submitted by: Konstantin Dimitrov <kosio.dimitrov@gmail.com> Tested by: Artem Antonov [1] Reviewed by: ariff
|
169762 |
19-May-2007 |
joel |
Fix randomly broken playback with Fortemedia FM801 XWave PCI soundcard.
PR: kern/98898 Submitted by: Johannes Weiner <hnazfoo@googlemail.com> Approved by: ariff
|
169745 |
19-May-2007 |
joel |
Turn off the AK452X De-emphasis filter for 44.1KHz. This should fix some sound quality problems.
PR: kern/112688 Submitted by: Stefan Ehmann <shoesoft@gmx.net> Reviewed by: Konstantin Dimitrov <kosio.dimitrov@gmail.com> Approved by: ariff
|
169435 |
10-May-2007 |
ariff |
Don't hold mutex while releasing bus resources.
|
169278 |
05-May-2007 |
ariff |
Fix (or rather workaround) Intel 440MX Errata #36 - http://www.intel.com/design/chipsets/specupdt/245051.htm
AC97 Soft Audio and Soft Modem Master Abort Errata
Issue: Use of either soft audio or soft modem on an Intel® 82443MX PCISet based platform running a 100 MHz Processor System Bus and an AC97 codec may result in failures. The system continues to function normally while the AC97 hardware may not resume and may require a cold-boot to recover. As a result of the failure, the Master Abort Status bit will be set in the audio or modem function PCI header space.
Workaround: Force uncacheable DMA on both BDL and pcm buffers.
Tested by: Emil Holmstr|m <emil@linux.se>
|
169277 |
05-May-2007 |
ariff |
Miscellaneous changes and fix:
- Remove explicit call to pmap_change_attr(), since we now have proper and functional definition of BUS_DMA_NOCACHE. - Enable PCI(e) bus snooping for non i386/amd64 as an alternative for uncacheable DMA. - Codecs changes: * Analag Device -> Analog Devices, AD1988. * New codec: VIA VT1708 and VT1709, Realtek ALC262, ALC861-VD and ALC885. * Various fixups for Conexant Waikiki, fix recording (read: microphone) on various Analog Devices codecs due to vendor BIOS mess, various quirks for several ASUS laptops/boards. - Fix connection list handling, closely following the specification to handle range of nids. - Basic Jack sense polling infrastructure for possible hardwares with broken unsolicited response interrupt.
Ideas/Submitted/Tested by: Andriy Gapon <avg@icyb.net.ua>, #freebsd-azalia, many.
|
169246 |
04-May-2007 |
ariff |
Fix use-after-free for DMA tag. Destroy DMA tag later.
Submitted by: Yuriy Tsibizov
|
168883 |
20-Apr-2007 |
ariff |
Unbreak module / driver attach breakage. Both snd_envy24 and snd_envy24ht mistakenly rely on wrong snd_spicds version.
|
168847 |
18-Apr-2007 |
ariff |
sndbuf_alloc() now accept dmaflags argument which will be forwarded to internal bus_dmammem_alloc() for greater flexibility on setting up DMA / page attributes.
|
168486 |
08-Apr-2007 |
ariff |
Disable cmi_midiattach(). The implementation is incomplete, and causing various interesting memory leak issues.
|
167773 |
21-Mar-2007 |
ariff |
Memory leak killing spree, mostly bus_dma(9) related.
|
167738 |
20-Mar-2007 |
ariff |
Put a temporary bandaid to set/reset uncacheable DMA region (affected on amd64 and i386) until we gain proper BUS_DMA_NOCACHE support. (in progress).
Tested by: rafan, infofarmer, Nguyen Tam Chinh <unixvn@gmail.com> Tested on: amd64, i386
|
167702 |
19-Mar-2007 |
ariff |
Destroy channel DMA tag during resource cleanup.
|
167667 |
17-Mar-2007 |
ariff |
Fix (another, more to come) ivar memory leak during driver detach.
|
167648 |
16-Mar-2007 |
ariff |
[stage: 8/9]
Implement CHANNEL_SETFRAGMENTS() for snd_atiixp, snd_es137x, snd_hda and snd_via8233. CHANNEL_SETBLOCKSIZE() will basically call CHANNEL_SETFRAGMENTS() internally using conservative blocksize / blockcount hints. Other drivers will be converted later.
|
167623 |
16-Mar-2007 |
ariff |
Fix support for ASUS A7T ALC882 laptop (gpio0 quirk).
Reported/Tested by: cognet
|
167610 |
15-Mar-2007 |
ariff |
- Put some sanity break statement in few missing places. - Remove NULL checking on snd_mtxcreate() (M_WAITOK) .
|
167609 |
15-Mar-2007 |
ariff |
NOOP (for now) for hdac_dma_nocache(). It is a wrong way to enforce cache coherency, besides of causing train wreck in other places (especially on amd64, possibly on i386).
Discussed with: kib@, rafan@ Tested by: rafan@
|
167608 |
15-Mar-2007 |
ariff |
Fix severe out-of-bound mtx "type" pointer, causing WITNESS refcount confusions and panic provided that the following conditions are met:
1) WITNESS is enabled (watch/trace). 2) Using modules, instead of statically linked (Not a strict requirement, but easier to reproduce this way). 3) 2 or more modules share the same mtx type ("sound softc"). - They might share the same name (strcmp() == 0), but it always point to different address. 4) Repetitive kldunload/load on any module that shares the same mtx type (Not a strict requirement, but easier to reproduce this way).
Consider module A and module B: - From enroll() - subr_witness.c: * Load module A. Everything seems fine right now. wA-w_refcount == 1 ; wA-w_name = "sound softc" * Load module B. * w->w_name == description will always fail. ("sound softc" from A and B point to different address). * wA->w_refcount > 0 && strcmp(description, wA->w_name) == 0 * enroll() will return wA instead of returning (possibly unique) wB. wA->w_refcount++ , == 2. * Unload module A, mtx_destroy(), wA->w_name become invalid, but wA->w_refcount-- become 1 instead of 0. wA will not be removed from witness list. * Some other places call mtx_init(), iterating witness list, found wA, failed on wA->w_name == description * wA->w_refcount > 0 && strcmp(description, wA->w_name) * Panic on strcmp() since wA->w_name no longer point to valid address.
Note that this could happened in other places as well, not just sound (eg. consider lots of drivers that share simmilar MTX_NETWORK_LOCK).
Solutions (for sound case): 1) Provide unique mtx type string for each mutex creation (chosen) or 2) Put "sound softc" global variable somewhere and use it.
|
167502 |
13-Mar-2007 |
ariff |
Add AC97 inverted external amplifier quirk for ASUS A6R laptop.
PR: kern/110244 MFC after: 3 days
|
167454 |
11-Mar-2007 |
ariff |
Fix analog CD connectivity. HP decided to screw pinconfig settings in their latest Compaq V3000 BIOS (revision F.22). As a result, analog CD connectivity is gone to the oblivion. Even if they decide to fix it in future revisions, the damage has been done.
|
167355 |
09-Mar-2007 |
ariff |
Fix long standing multi playback/recording issues, caused by excessive interrupt clock timer reset, screwing interrupt generation for already active channels. Track moving DMA pointer and call buffer interrupt on each blocksize boundary.
PR: kern/109791 MFC after: 3 days
|
167285 |
07-Mar-2007 |
kevlo |
Use M_NOWAIT instead of M_WAITOK to cause malloc() to return NULL.
|
167220 |
05-Mar-2007 |
ariff |
Quick bandaid for possible broken multiple playback channels implementation.
Reported/Tested by: Oliver Iberien <odilist@sonic.net>
|
166965 |
25-Feb-2007 |
ariff |
Fix ALC883 microphone / recording issues. Setting high(er) VRef on (external) microphone pin tend to screw it. Internal microphone (found on several laptops) still need high VRef.
Tested by: Pietro Cerutti <pietro.cerutti@gmail.com> lenix <irc.freenode.net>
|
166919 |
23-Feb-2007 |
ariff |
- Revert arguments for several functions to pre bus_get_dma_tag() changes. Each softc contains information about their own device_t, use that instead. - bus_setup_intr() -> snd_setup_intr().
|
166918 |
23-Feb-2007 |
ariff |
- Compile time compatibility for pre/post newbus API (intr filter) changes. This should ease the job of maintaining codebase since much of the regression tests are done across os versions. - bus_setup_intr() -> snd_setup_intr().
|
166917 |
23-Feb-2007 |
ariff |
Use snd_setup_intr() instead of bus_setup_intr() , like other drivers.
|
166904 |
23-Feb-2007 |
netchild |
MFp4 (114068): Use bus_get_dma_tag() to obtain the parent DMA tag to make the drivers a little bit more non-ia32/amd64 friendly.
There is no man page for bus_get_dma_tag, so this is modelled after rev. 1.62 of src/sys/dev/sound/pci/es137x.c by marius.
Inspired by: commit by marius
|
166901 |
23-Feb-2007 |
piso |
o break newbus api: add a new argument of type driver_filter_t to bus_setup_intr()
o add an int return code to all fast handlers
o retire INTR_FAST/IH_FAST
For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current
Reviewed by: many Approved by: re@
|
166796 |
16-Feb-2007 |
ariff |
Add codec id for Sigmatel STAC9271D.
Submitted by: Michael Fuckner <michael@fuckner.net>
|
166713 |
14-Feb-2007 |
ariff |
Fix compilation for statically linked snd_envy24{ht}/spicds. Use explicit struct mtx rather than void pointer.
PR: kern/109147
|
166294 |
28-Jan-2007 |
ariff |
Add speaker control for HP xw4300. This hardware doesn't respond to unsolicited pin sense event and need manual control to turn off speaker volume while attaching headphone.
Tested by: Ingeborg Hellemo <Ingeborg.Hellemo@cc.uit.no>
Disable global Acer + ALC883 headphone automute settings since there are few models that does not respect this and causing broken behaviour.
Reported/Tested by: Pavel Argentov <argentoff@rtelekom.ru>
|
166279 |
27-Jan-2007 |
ariff |
Massive inlining cleanups/removal to make it survive on WARNS=2.
|
166278 |
27-Jan-2007 |
ariff |
Reduce maximum DMA segments from 128 to 64. We don't need more than that.
|
166267 |
26-Jan-2007 |
ariff |
Total DMA segments should include total number of record channel(s).
|
166165 |
21-Jan-2007 |
marius |
Change the remainder of the drivers for DMA'ing devices enabled in the sparc64 GENERIC and the sound device drivers known working on sparc64 to use bus_get_dma_tag() to obtain the parent DMA tag so we can get rid of the sparc64_root_dma_tag kludge eventually. Except for ath(4), sk(4), stge(4) and ti(4) these changes are runtime tested (unless I booted up the wrong kernels again...).
|
166043 |
16-Jan-2007 |
joel |
Fix typo in a comment.
|
165992 |
13-Jan-2007 |
ariff |
Fix headphone/speaker automute for [1] Acer Aspire 5050 and [2] MSI MS-1034 laptops.
Tested by: [1] Lion G. <liontanker@hotmail.com> [2] Pietro Cerutti <pietro.cerutti@gmail.com>
Specialized mixer initialization for STAC9221, much like STAC9220.
Tested by: Devon H. O'Dell
|
165833 |
06-Jan-2007 |
netchild |
Extend the emu10kx driver. With the words of the author: ---snip--- New features: 1. Optional multichannel recording (32 channels on Live!, 64 channels on Audigy).
All channels are 16bit/48000Hz/mono, format is fixed. Half of them are copied from sound output, another half can be used to record any data from DSP. What should be recorded is hardcoded in DSP code. In this version it records dummy data, but can be used to record all DSP inputs, for example..
Because there are no support of more-than-stereo sound streams multichannell stream is presented as one 32(64)*48000 Hz 16bit mono stream.
Channel map:
SB Live! (4.0/5.1) offset (words) substream 0x00 Front L 0x01 Front R 0x02 Digital Front L 0x03 Digital Front R 0x04 Digital Center 0x05 Digital Sub 0x06 Headphones L 0x07 Headphones R 0x08 Rear L 0x09 Rear R 0x0A ADC (multi-rate recording) L 0x0B ADC (multi-rate recording) R 0x0C unused 0x0D unused 0x0E unused 0x0F unused 0x10 Analog Center (Live! 5.1) / dummy (Live! 4.0) 0x11 Analog Sub (Live! 5.1) / dummy (Live! 4.0) 0x12..-0x1F dummy
Audigy / Audigy 2 / Audigy 2 Value / Audigy 4 offset (words) substream 0x00 Digital Front L 0x01 Digital Front R 0x02 Digital Center 0x03 Digital Sub 0x04 Digital Side L (7.1 cards) / Headphones L (5.1 cards) 0x05 Digital Side R (7.1 cards) / Headphones R (5.1 cards) 0x06 Digital Rear L 0x07 Digital Rear R 0x08 Front L 0x09 Front R 0x0A Center 0x0B Sub 0x0C Side L 0x0D Side R 0x0E Rear L 0x0F Rear R 0x10 output to AC97 input L (muted) 0x11 output to AC97 input R (muted) 0x12 unused 0x13 unused 0x14 unused 0x15 unused 0x16 ADC (multi-rate recording) L 0x17 ADC (multi-rate recording) R 0x18 unused 0x19 unused 0x1A unused 0x1B unused 0x1C unused 0x1D unused 0x1E unused 0x1F unused 0x20..0x3F dummy
Fixes: 1. Do not assign negative values to variables used to index emu_cards array. This array was never accessed when index is negative, but Alexander (netchild@) told me that Coverity does not like it. After this change emu_cards[0] should never be used to identify valid sound card. 2. Fix off-by-one errors in interrupt manager. Add more checks there. 3. Fixes to sound buffering code now allows driver to use large playback buffers. 4. Fix memory allocation bug when multichannel recording is not enabled. 5. Fix interrupt timeout when recording with low bitrate (8kHz).
Hardware: 1. Add one more known Audigy ZS card to list. Add two cards with PCI IDs betwen old known cards and new one.
Other changes: 1. Do not use ALL CAPS in messages.
Incomplete code: 1. Automute S/PDIF when S/PDIF signal is lost.
Tested on i386 only, gcc 3.4.6 & gcc41/gcc42 (syntax only). ---snip---
This commits enables a little bit of debugging output when the driver is loaded as a module. I did a cross-build test for amd64.
The code has some style issues, this will be addressed later.
The multichannel recording part is some work in progress to allow playing around with it until the generic sound code is better able to handle multichannel streams.
This is supposed to fix CID: 171187 Found by: Coverity Prevent
Submitted by: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru>
|
165770 |
04-Jan-2007 |
ariff |
Fix headphone/speaker automute for Toshiba Satellite Pro U200.
Reported/Tested by: keramida
|
165466 |
22-Dec-2006 |
ariff |
Fix distorted sound on Intel Desktop Board D101GGC (ATI SB450/ALC861).
Turn on ALC861 quirk as default since it seems affecting all hardwares with the same codec.
Reported/Tested by: Darryl Yeoh <drl@MyBSD.org.my>
|
165351 |
19-Dec-2006 |
ariff |
Fix distorted sound on Fujitsu Siemens AMILO Pa 1510.
Reported/Tested by: infofarmer
|
165306 |
17-Dec-2006 |
ariff |
Latest updates for Envy24/24HT. Fix various issues with LOR and panic during verbose booting.
Submitted by: Konstantin Dimitrov <kosio.dimitrov@gmail.com>
|
165305 |
17-Dec-2006 |
ariff |
Add codec id for [1] Realtek ALC888 and [2] Sigmatel STAC9227
Found/Tested by: [1] luigi [2] Jean-Baptiste Quenot <jbq@caraldi.com>
|
165304 |
17-Dec-2006 |
ariff |
Add support for Nvidia Nforce MCP04 AC97 controller.
PR: kern/106829 Submitted by: Frédéric Petit <fredantispam@free.fr>
|
165281 |
16-Dec-2006 |
ariff |
Miscellaneous fixups and quirks for ASUS A7M, LG LW20 and HP NX6325 laptops.
|
165239 |
15-Dec-2006 |
ariff |
Fix compilation using gcc 4.1.
Submitted by: dougb
|
165103 |
11-Dec-2006 |
ariff |
Fix distorted sound on ASUS P1-AH2 caused by accumulated input / output.
Reported/Tested by: Hiroharu Tamaru <tamaru@myn.rcast.u-tokyo.ac.jp>
|
165069 |
10-Dec-2006 |
ariff |
Fix AD1986A (and possibily other codecs too) microphone issues.
Tested by: xride (using skype, xanalyser, etc. ; play/record)
|
165039 |
09-Dec-2006 |
ariff |
- Fix headphone/speakers automute on Lenovo 3000 N100.
Tested by: xride
- GPIO commit cleanups and fixes for possible breakage during previous commit.
|
164828 |
02-Dec-2006 |
ariff |
Add support for Apple Intel/Mac.
- Playback and headphone/speaker automute works. - Recording untested due to me being deaf doing back-and-forth remote debugging.
Free Macbook donation is highly appreciated :)
Tested by: Dennis Pielken <mips128@gmx.net>
|
164783 |
01-Dec-2006 |
ariff |
Add inverted amplifier sense quirk for HP Compaq nx4300.
PR: kern/106104 Submitted by: Shun-ichi Kobayashi <koba@mbox.kudpc.kyoto-u.ac.jp> MFC after: 3 days
|
164750 |
29-Nov-2006 |
ariff |
Fix support for Medion MD MD95257 (GPIO2 quirk).
Reported by: Chris Tophe <cohika@gmail.com>
|
164657 |
27-Nov-2006 |
ariff |
- LNV -> LENOVO - Fix support for Samsung Q1 UltraMobile PC (inverted EAPD).
Reported by: benno
|
164614 |
26-Nov-2006 |
ariff |
Welcome to Once-a-year Sound Mega-Commit. Enjoy numerous updates and fixes in every sense.
General -------
- Multichannel safe, endian safe, format safe * Large part of critical pcm filters such as vchan.c, feeder_rate.c, feeder_volume.c, feeder_fmt.c and feeder.c has been rewritten so that using them does not cause the pcm data to be converted to 16bit little endian. * Macrosses for accessing pcm data safely are defined within sound.h in the form of PCM_READ_* / PCM_WRITE_* * Currently, most of them are probably limited for mono/stereo handling, but the future addition of true multichannel will be much easier.
- Low latency operation * Well, this require lot more works to do not just within sound driver, but we're heading towards right direction. Buffer/block sizing within channel.c is rewritten to calculate precise allocation for various combination of sample/data/rate size. As a result, applying correct SNDCTL_DSP_POLICY value will achive expected latency behaviour simmilar to what commercial 4front driver do. * Signal handling fix. ctrl+c of "cat /dev/zero > /dev/dsp" does not result long delay. * Eliminate sound truncation if the sound data is too small. DIY: 1) Download / extract http://people.freebsd.org/~ariff/lowlatency/shortfiles.tar.gz 2) Do a comparison between "cat state*.au > /dev/dsp" and "for x in state*.au ; do cat $x > /dev/dsp ; done" - there should be no "perceivable" differences. Double close for PR kern/31445.
CAVEAT: Low latency come with (unbearable) price especially for poorly written applications. Applications that trying to act smarter by requesting (wrong) blocksize/blockcount will suffer the most. Fixup samples/patches can be found at: http://people.freebsd.org/~ariff/ports/
- Switch minimum/maximum sampling rate limit to "1" and "2016000" (48k * 42) due to closer compatibility with 4front driver. Discussed with: marcus@ (long time ago?)
- All driver specific sysctls in the form of "hw.snd.pcm%d.*" have been moved to their own dev sysctl nodes, notably: hw.snd.pcm%d.vchans -> dev.pcm.%d.vchans Bump __FreeBSD_version.
Driver specific ---------------
- Ditto for sysctls.
- snd_atiixp, snd_es137x, snd_via8233, snd_hda * Numerous cleanups and fixes. * _EXPERIMENTAL_ polling mode support using simple callout_* mechanisme. This was intended for pure debugging and latency measurement, but proven good enough in few unexpected and rare cases (such as problematic shared IRQ with GIANT devices - USB). Polling can be enabled/disabled through dev.pcm.0.polling. Disabled by default.
- snd_ich * Fix possible overflow during speed calibration. Delay final initialization (pcm_setstatus) after calibration finished. PR: kern/100169 Tested by: Kevin Overman <oberman@es.net> * Inverted EAPD for few Nec VersaPro. PR: kern/104715 Submitted by: KAWATA Masahiko <kawata@mta.biglobe.ne.jp>
Thanks to various people, notably Joel Dahl, Yuriy Tsibizov, Kevin Oberman, those at #freebsd-azalia @ freenode and others for testing.
Joel Dahl will do the manpage update.
|
163432 |
16-Oct-2006 |
ariff |
- Inverted EAPD quirk for ASUS A8Jc. - Take the literal meaning of eapdbtl, but do the inversion during write.
Tested by: Chung-liang Wei <idreamer@gmail.com>
|
163276 |
12-Oct-2006 |
ariff |
- Fix support for ASUS U5F laptop. This laptop (and possibly others) need a special inverted EAPD quirk. - Add "eapdinv" config for future testing purposes.
Tested by: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru> #freebsd-azalia @ irc.freenode.net
|
163257 |
12-Oct-2006 |
ariff |
Fix support for IBM/Lenovo Thinkcentre M52 series. Its vendorid / 0x1014 accidentally match with HP vendorid / 0x103c.
Reported by: Robert Noland <rnoland@2hip.net>
|
163136 |
08-Oct-2006 |
ariff |
Added few more pci ids for Intel, ATI, NVidia, VIA and SiS.
|
163057 |
06-Oct-2006 |
ariff |
- Fix wrong id for ALC882, add ALC883 id.
- Add support for the Conexant Waikiki/CX20551-22, found in most Toshiba P100 series laptops. Despite of growing urban legend of "unsupported Conexant", this codec is fully supported in this driver. Note: Toshiba P100 has broken (acpi) BIOS, thus rendering its soundchip useless. Please disable ACPI, or get BIOS updates (if any).
Found/tested by: Vulpes Velox <v.velox@vvelox.net> URL: http://lists.freebsd.org/pipermail/freebsd-multimedia/2006-September/004896.html
- Parser cleanups to handle possible oss/mixer collision. Found after parsing Conexant Waikiki nodes.
- Increase resilient against resource failure during attach/detach.
- Implement simple config through hint.pcm.<unit>.config. Supported options: gpio0 (default on Acer), gpio1, gpio2, softpcmvol, fixedrate (default), forcestereo (default) * Option prefixed with "no" (such as "nofixedrate") will do the opposite. * Options can be separated using space " " or comma ",". * The "no" option will take precedence over anything else. Example: hint.pcm.0.config="gpio2,nofixedrate,noforcestereo,nogpio0,softpcmvol" hint.pcm.0.config="softpcmvol noforcestereo"
|
162965 |
02-Oct-2006 |
ariff |
- Streamline quirks management for a better future. - Fix support for ASUS M5200ae (buggy BIOS) - Fix few problems, reported by Coverity Prevent (TM).
CID: 246991, 246676, 246675, 246674, 246477 Found by: Coverity Prevent (TM)
|
162956 |
02-Oct-2006 |
ariff |
Make this buildable on IA64.
Reported by: phk
|
162931 |
01-Oct-2006 |
ariff |
Various cleanups. Revert DMA alignmnet back to 2 since the original cause of DMA pointer train wreck has been solved.
Reminded by: silby MFC after: 1 month
|
162922 |
01-Oct-2006 |
ariff |
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.
|
162886 |
30-Sep-2006 |
netchild |
Driver for Envy24HT (ICE1724 or VT1724)-based cards like Terratec Aureon 7.1 Space: tested Terratec Aureon 5.1 Sky: tested Terratec PHASE 28: tested Terratec Aureon 7.1 Universe: tested Audiotrak Prodigy 7.1: tested Audiotrak Prodigy 7.1 LT: not tested Terratec PHASE 22: not tested M-Audio Revolution 7.1: not tested M-Audio Revolution 5.1: not tested M-Audio Audiophile 192: tested
Submitted by: "Konstantin Dimitrov" <kosio.dimitrov@gmail.com>
|
162881 |
30-Sep-2006 |
netchild |
Remove the ak452x code, superseeded by spicds.
|
162876 |
30-Sep-2006 |
netchild |
- fix memory leak, when "number of adcs" != "number of dacs" - fix multiple initialization of the first codec (support for more than one codec should be added in the future) - use spicds instead of ak452x module
Submitted by: "Konstantin Dimitrov" <kosio.dimitrov@gmail.com>
|
162874 |
30-Sep-2006 |
netchild |
After repo copy from ak452x.[ch]: SPIcds is the I2S SPI audio codec code used by the Envy* drivers.
Submitted by: "Konstantin Dimitrov" <kosio.dimitrov@gmail.com>
|
161300 |
15-Aug-2006 |
yongari |
Add inverted amplifier sense quirks for Compaq Presario B3800
Reported by: Nick Withers < nick AT nickwithers DOT com > Tested by: Nick Withers < nick AT nickwithers DOT com > No objection from: ariff MFC after: 1 week
|
161058 |
07-Aug-2006 |
netchild |
Use a low probe-priority to ensure that the emu10kx driver has a higher priority than this one when both are available.
|
161057 |
07-Aug-2006 |
netchild |
"Fix typos in volume control DSP code."
Submitted by: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru>
|
161056 |
07-Aug-2006 |
netchild |
"Fixe playback of mono files on stereo outputs. In previous version mono files are played only on left channel."
Submitted by: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru>
|
161055 |
07-Aug-2006 |
netchild |
"Change type for flags bitmap to let use 1 as flag value without overflow (to -1)."
Submitted by: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru>
|
161054 |
07-Aug-2006 |
netchild |
"Workaround for sound lag in current snd_emu10kx driver. Real problem is interaction between in-kernel sound buffer handling and hardware. With small buffer, there are times when both harwdare reads and kernel writes to the same buffer (it is only visible on slow machines, i think). I'm digging in channel.c and buffer.c to find a solution that allow use of large hardware buffers without sound lags - hardware can handle buffers up to 32Mb."
Submitted by: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru>
|
160796 |
28-Jul-2006 |
netchild |
- fix memory leak after "kldunload snd_ak452x.ko" - fix "No sound in KDE": The problem is related to the implementation of Envy24(1712) hardware mixer support in the driver. Envy24(1712) has very precise 36bit wide hardware mixer, which is superior that vchans (software sound mixer in the kernel). The driver supports Envy24(1712) hardware mixer, so up to 10 channels (5 stereo pairs) can be playback simultaneously. However, there are problems with the implementation of Envy24(1712) hardware mixer support in the driver, one of them is the problem with "no sound in KDE": When playing back several channels simultaneously and stoping one of the channels, sound starts to stutter and plays at very low speed. Another problem is: Playing back simultaneously more than one 24bit/32bit sound file or 16bit sound file and 24bit/32bit sound file doesn't work as expected.
Submitted by: "Konstantin Dimitrov" <kosio.dimitrov@gmail.com>
|
160438 |
17-Jul-2006 |
netchild |
Prepend temporary sysctls with an underscore.
Submitted by: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru>
|
160409 |
16-Jul-2006 |
netchild |
Fix a compile time problem on amd64. I'm not sure if the fix is correct from a semantic point of view, but I notified the author of the driver for confirmation. So far it at least fixes the build and should only lead to not identifying or wrongly identifying a soundcard in the worst case.
|
160384 |
15-Jul-2006 |
netchild |
Make the MIDI kobj class static. This brings it inline with the channel or ac97 classes.
This allows to link emu10k1 and emu10kx into the same kernel (LINT).
|
160383 |
15-Jul-2006 |
netchild |
Add snd_emu10kx driver for Creative SoundBlaster Live! and Audigy series sound cards with optional pseudo-multichannel playback.
It's based on snd_emu10k1 sound driver. Single channel version is available from audio/emu10kx port since some time.
The two new ALSA header files (GPLed), which contain Audigy 2 ("p16v") and Audigy 2 Value ("p17v") specific interfaces, are latest versions from ALSA Mercurial repository.
This is not connected to the build yet.
Submitted by: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru>
|
160382 |
15-Jul-2006 |
netchild |
- Update ALSA emu10k1.h (it was imported as emu10k1-alsa.h) header file to latest version from Mercurial repository. It brings definition of some additional Audigy 2 / Audigy 2 Value registers. - Use new #defines from ALSA emu10k1.h - Remove unused include files: + emu10k1-ac97.h was imported from ALSA and never used, + emu10k1.h was imported from Creative Linux emu10k1 driver, but only AUDIGY_CODEBASE was used from it.
Submitted by: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru>
|
160127 |
06-Jul-2006 |
yongari |
Fix a missing unlock operation in interrupt handler.
PR: kern/99205 Submitted by: Alexey Illarionov <littlesavage AT rambler DOT ru> MFC after: 1 week
|
159732 |
18-Jun-2006 |
netchild |
- Rename hw.snd.unit to hw.snd.default_unit to make the purpose more obvious. - Enable 4 automatic vchan's by default. - Add some comments which provide ides/questions for improvement. - Prefix some temporary sysctl's with an underscore to denote that it is not an official API but a workaround until the real solution is implemented.
|
159689 |
17-Jun-2006 |
netchild |
- fix compatibility with newer versions of FreeBSD - fix all warnings during compilation - fix obvious bugs - add support for more cards
Now supported: - M-Audio Delta Dio 2496 - M-Audio Audiophile 2496 - Terratec DMX 6fire
Known bugs (detected by Nokolas and Stefan): - $ kldunload snd_ak452x.ko Warning: memory type ak452x leaked memory on destroy (1 allocations, 64 bytes leaked). - No sound in KDE: Everything works fine at the console but when I load KDE (3.5.3) the sound stutters and plays at less then 1/2 speed. - 'mixer: WRITE_MIXER: Device not configured' The message repeats x times at system startup, x = whatever hw.snd.maxautovchans is set to. (this is because only vol, pcm and line are supported, but the driver shows more than those mixer devices and setting those additional mixers results in this error message) - vchans don't work - 24 bit playback not supported (only 16/32 bit) - after kld(un)loading some times, the card fails to be probed until reboot
Datasheets are available from: http://www.nbritton.org/uploads/envy24/ http://www.asahi-kasei.co.jp/akm/en/product/ak4528/ak4528_f01e.pdf http://www.asahi-kasei.co.jp/akm/en/product/ak4528/ekd4528-01.pdf http://www.asahi-kasei.co.jp/akm/en/product/ak4524/ak4524_f03e.pdf http://www.asahi-kasei.co.jp/akm/en/product/ak4524/ekd4524.pdf http://www.wolfson.co.uk/uploads/documents/en/WM8728.pdf http://www.richtech.co.kr/down/richtek/RT9131.pdf http://xkodi.svobodno.com/xkodi/space71.html http://people.freebsd.org/~lofi/envy24.pdf http://people.freebsd.org/~lofi/4524.pdf
Submitted by: Konstantin Dimitrov <kosio.dimitrov@gmail.com> Tested by: Nikolas Britton <nikolas.britton@gmail.com> Stefan Ehmann <shoesoft@gmx.net>
|
159687 |
17-Jun-2006 |
netchild |
dd the envy24 driver as is to the tree. It's not connected to the build yet. More commits to follow.
I got no response from the author, but since the driver is BSD licensed I don't think he will complain. :-)
I got it from http://people.freebsd.org/~lofi/envy24.tar.gz
Written by: Katsurajima Naoto <raven@katsurajima.seya.yokohama.jp>
|
158980 |
27-May-2006 |
netchild |
Commit the new (old) midi framework. It's based in parts on the NetBSD code, but large parts are rewritten by matk and tanimura.
This is old code, it's not maintained since 2003. We also don't have a maintainer for this! Yuriy Tsibizov took it and uses it in his emu10kx driver. Since the emu10kx driver will enter the tree "soon" (some bugs have to be fixed after Yuriy return from his holidays), I add it here already.
This also contains some changes to emu10k1 and cmi, so if you're lucky, you can now make some kind of use of midi with those soundcards.
To all those poor souls which don't have such a card: feel free to send patches, we don't have a maintainer for this.
To those which miss a specific feature in the midi code: feel free to submit patches, we don't have a maintainer for this.
Oh, did I already told that it would be nice if someone would take care of it? Maintainer with midi equipment wanted! :-)
If you get LOR's, submit a PR and notify multimedia@ please. If you get panics, submit a PR with a backtrace (compile the sound system into your kernel instead of using modules in this case) and notify multimedia@ please.
Written by: matk, tanimura Submitted by: "Yuriy Tsibizov" <Yuriy.Tsibizov@gfk.ru> Based upon: code from NetBSD
|
158210 |
01-May-2006 |
ariff |
Add inverted amplifier sense quirks for Sony VAIO VGN B1VP/B1XP.
Reported by: Stan Behrens <s.behrens at kon.de>
|
157956 |
22-Apr-2006 |
ariff |
Add support for (latest) VIA VT8251 (rev. 0x07) audio controller.
A slight difference of this chip from its previous siblings is that it need a gentle "wake up" on every (full) DMA buffer completion to avoid stalled interrupt handler.
Thanks to George Hartzell for permission on doing remote debugging.
Prime MFC candidate for 6.1-RELEASE. Please reply to this commit if there are any objections (so I won't bug re@), since the changes are too small and only specific to VT8251.
PR: i386/95949 Tested by: [1] George Hartzel myself (remotely) MFC after: 3 days
[1] http://lists.freebsd.org/pipermail/freebsd-multimedia/2006-April/004003.html
|
157436 |
03-Apr-2006 |
ariff |
Add device ID for nForce 410 MCP audio controller.
PR: kern/95257 Submitted by: cenix <cenixxx at gmail dot com> MFC after: 3 days
|
157028 |
22-Mar-2006 |
ariff |
Don't set primary resume interrupt flag during channel initialization since it can cause high interrupt rate (storm) and slowdown the entire system.
Note: Please report back to me if this commit cause any abnormal behaviour, especially during suspend / resume.
Reported/Submitted by: [1] Daan Vreeken [PA4DAN] <Danovitsch_at_vitsch dot net> Reported/Confirmed by: [2] Angka H. K. <harikurniawan at gmail dot com>
MFC after: 5 days
[1] http://lists.freebsd.org/mailman/htdig/freebsd-hackers/2004-December/009335.html [2] http://lists.freebsd.org/pipermail/freebsd-multimedia/2006-March/003830.html
|
157026 |
22-Mar-2006 |
ariff |
Misc. fixups:
- [1] Make the driver friendly towards kernel without PREEMPTION. Use msleep(9) instead of simple unlock-check_variable-lock mechanisme since the later not really effective in non-preemptible kernel (especially during codec detection routine). - Free most driver resources in a sane manner to avoid possible double free and panics especially during device detach and codec detection failure.
MFC after: 3 days
[1] http://lists.freebsd.org/pipermail/freebsd-questions/2006-March/116515.html
|
156376 |
07-Mar-2006 |
ariff |
Add another inverted amplifier sense quirk for Kvazar-Micro Senator 3592XT.
Submitted by: [1] Alexandr Krivulya <admin at marcom-group.com> MFC after: 3 days
[1] http://lists.freebsd.org/pipermail/freebsd-multimedia/2006-March/003773.html
|
156308 |
05-Mar-2006 |
ariff |
Add another inverted amplifier sense quirk for Sony VAIO Type T.
PR: kern/94056 Submitted by: Yoshihiko Sarumaru <mistral at imasy.or.jp> MFC after: 3 days
|
155976 |
24-Feb-2006 |
ariff |
Trim unnecessary pointer alignment.
|
155800 |
18-Feb-2006 |
ariff |
- Fix severe crackling after long running and abusive module load / unload by forcing DMA alignment to default buffer size. - Make sure DMA pointer properly aligned to avoid being truncated by caller which causing severe underruns and random popping (especially in 32bit playback / recording). - Add AC97 inverted external amplifier quirk for Maxselect x710s - http://maxselect.ru/
MFC after: 1 week
|
155799 |
18-Feb-2006 |
ariff |
Fix random popping while playing in 32bit by increasing default buffer size from 4096 to 8192.
MFC after: 1 week
|
155568 |
12-Feb-2006 |
ariff |
Fix possible DMA leak and locking violation especially during suspend <-> resume and module load <-> unload.
PR: kern/92764 MFC after: 3 days
|
155338 |
05-Feb-2006 |
netchild |
A pointer was checked for NULL after dereferencing it. The check is not needed here, except there's a bug which results in detaching the device twice.
Move the NULL pointer check to the beginning of the function and convert it into a KASSERT.
CID: 420 Found with: Coverity Prevent(tm) Discussed with: ariff MFC after: 5 days
|
154881 |
27-Jan-2006 |
ariff |
Enable full duplex operation since it works and to solve panic issue.
PR: kern/91992 MFC after: 2 days
|
154641 |
21-Jan-2006 |
netchild |
Backput the "Dell ID" part of the last commit, it was already tried in the past but didn't worked.
Noticed by: Gavin Atkinson <gavin.atkinson@ury.york.ac.uk>
|
154640 |
21-Jan-2006 |
netchild |
Merge rev. 1.5 and 1.6 from DFly: - Add PCI identifier to match against a Dell OEM version of the SB Live! - Fix spurious warning about ANSI trigraphs
Obtained from: DragonFlyBSD
|
154627 |
21-Jan-2006 |
netchild |
Prevent dereferencing a NULL pointer if the malloc() fails.
CID: 219 Found with: Coverity Prevent(tm)
|
154607 |
21-Jan-2006 |
joel |
Remove unused pointer.
Approved by: ariff
|
154595 |
20-Jan-2006 |
ariff |
Turn on native 32bit recording (at 48000hz).
It works perfectly on my Compaq Presario M2000Z, but my last attempt on Acer Ferrari 4000 only produce garbled sound.
MFC after: 3 days
|
154494 |
18-Jan-2006 |
ariff |
Remove Giant / busdma_lock_mutex from busdma_tag_create().
|
154378 |
14-Jan-2006 |
ariff |
Add another inverted EAPD quirk for Gateway 7326GZ.
Tested by: Jeff Cross <jeff.cross at averageadmins.com> MFC after: 3 days
|
154285 |
13-Jan-2006 |
ariff |
Joyport blacklist. Either we're facing with broken hardware or because this hardware need special (unknown) initialization procedures.
Reported by: [1] Rob Clark <vx2 at tds.net> MFC after: 3 days
[1] http://lists.freebsd.org/pipermail/freebsd-multimedia/2006-January/003535.html
|
154241 |
11-Jan-2006 |
ariff |
Fix broken playback capabilities to prevent impending disaster. The minimum / maximum speed was way too low / high!
minspeed = 2000 - is this for real ? maxspeed = 767999 - is this for real ?????
Wrap everything into 8000 - 48000 boundary, just to be safe.
MFC after: 3 days
|
154215 |
11-Jan-2006 |
ariff |
- Locking fixes. Release lock while chn_intr(). - Mark MPSAFE since most of the locking procedures already implemented. - Turn on inverted external amplifier sense flag for selected boards.
Tested by: bland MFC after: 1 week
|
154168 |
10-Jan-2006 |
ariff |
More thorough fixes to enable inverted external amplifier sense flag. Instead of dragging the entire ICH4/82801DB into this mess, select only few boards based on pci subdevice / subvendor.
Tested by: Daisuke Orikasa <luxury-acura-3.5rl at nifty.com> MFC after: 3 days
|
154132 |
09-Jan-2006 |
ariff |
Turn on inverted external amplifier sense flags for ICH4/82801DB.
PR: kern/66422, kern/75687, kern/84471 MFC after: 2 days
|
154127 |
09-Jan-2006 |
ariff |
Fix obvious capabilities (rate) violation. Should be 5500, not 4000.
MFC after: 1 day
|
154067 |
06-Jan-2006 |
ariff |
Fix locking violation, causing frantic diagnostic messages during boot.
Reported by: [1] julian MFC after: 3 days
[1] http://lists.freebsd.org/pipermail/freebsd-multimedia/2006-January/003408.html
|
154066 |
06-Jan-2006 |
ariff |
Another major fixes and enhancements: - MPSAFE - Fix / reorganize attach routine. Device specific initialization must be done after generic bus / DMA setup. At last, Virtual Channels (vchan) works as expected.
Note: Recent commit / fix against this driver proves that major enhancements on the generic sound layer does indeed help to expose flaw within device specific code. There are probably other drivers that need to be addressed as well.
Tested by: barner MFC after: 1 week
|
154024 |
04-Jan-2006 |
ariff |
Fix broken capabilities, causing failure during channel reset. Its min/max speed were off by -/+ 1000.
Reported by: [1] Ion-Mihai Tetcu <itetcu@people.tecnik93.com> [2] barner MFC after: 1 day
[1] http://lists.freebsd.org/mailman/htdig/freebsd-multimedia/2005-December/003189.html [2] http://lists.freebsd.org/mailman/htdig/freebsd-multimedia/2006-January/003422.html
|
153799 |
28-Dec-2005 |
netchild |
Fix the order of the stereo channels (left <-> right).
From the PR: ---snip--- I think I have found the change which reversed the channels. Revision 1.44 of emu10k1.c, which added Audigy support, has the line
emu_wrptr(sc, v->vnum, FXRT, 0xd01c0000);
replaced with the following lines:
if (sc->audigy) { emu_wrptr(sc, v->vnum, A_FXRT1, v->fxrt1); emu_wrptr(sc, v->vnum, A_FXRT2, v->fxrt2); emu_wrptr(sc, v->vnum, A_SENDAMOUNTS, 0); } else emu_wrptr(sc, v->vnum, FXRT, v->fxrt1 << 16);
where v->fxrt1 << 16 == 0xd10c0000
I don't have Audigy, so I'm not sure if the problem affects Audigy cards too. The order of the channels can't be tested by just altering mixer settings. Here's a small program to test if the channels are reversed on your sound card:
#include <sys/soundcard.h> #include <fcntl.h> #include <unistd.h>
int main(int argc, char **argv) { int fd = open("/dev/dsp", O_WRONLY), format = AFMT_S16_LE; int channels = 2, rate = 22050, i;
/* 450 Hz sine wave on left channel, right channel silent */ unsigned char samples[] = {0, 0, 0, 0, 94, 16, 0, 0, 120, 32, 0, 0, 9, 48, 0, 0, 208, 62, 0, 0, 143, 76, 0, 0, 12, 89, 0, 0, 19, 100, 0, 0, 117, 109, 0, 0, 11, 117, 0, 0, 182, 122, 0, 0, 92, 126, 0, 0, 239, 127, 0, 0, 105, 127, 0, 0, 202, 124, 0, 0, 32, 120, 0, 0, 124, 113, 0, 0, 251, 104, 0, 0, 193, 94, 0, 0, 249, 82, 0, 0, 212, 69, 0, 0, 138, 55, 0, 0, 85, 40, 0, 0, 120, 24, 0, 0, 51, 8, 0, 0, 205, 247, 0, 0, 136, 231, 0, 0, 171, 215, 0, 0, 118, 200, 0, 0, 44, 186, 0, 0, 7, 173, 0, 0, 63, 161, 0, 0, 5, 151, 0, 0, 132, 142, 0, 0, 224, 135, 0, 0, 54, 131, 0, 0, 151, 128, 0, 0, 17, 128, 0, 0, 164, 129, 0, 0, 74, 133, 0, 0, 245, 138, 0, 0, 139, 146, 0, 0, 237, 155, 0, 0, 244, 166, 0, 0, 113, 179, 0, 0, 48, 193, 0, 0, 247, 207, 0, 0, 136, 223, 0, 0, 162, 239, 0, 0};
ioctl(fd, SNDCTL_DSP_SETFMT,&format); ioctl(fd, SNDCTL_DSP_CHANNELS,&channels); ioctl(fd, SNDCTL_DSP_SPEED,&rate);
for(i=0;i<500;i++) write(fd, &samples, sizeof(samples)); write(fd, &samples, 2); /* swap channels */ for(i=0;i<500;i++) write(fd, &samples, sizeof(samples));
return 0; }
You should hear a sound on the left channel followed by a sound on the right channel. If you hear a sound on the right channel first, the channels are reversed. ---snip---
Owners of an audigy card should verify if it DTRT and report back.
Noticed by: Matthias Buelow <mkb@mukappabeta.de> Submitted by: Juha-Matti Tilli <juhis@nallukka.net> PR: 72221
|
153708 |
25-Dec-2005 |
ariff |
Add suspend and resume support.
|
153084 |
04-Dec-2005 |
ru |
Fix -Wundef from compiling the amd64 LINT.
|
152851 |
27-Nov-2005 |
ariff |
Support for ATI IXP 200 / 300 / 400 series audio controllers.
|
152644 |
21-Nov-2005 |
yongari |
Add a hack to ignore PCR bit for 6300ESB, 82801[D-G]B chips. It seems that enabling busmastering would result in PCR bit ON after codec reset. While I'm here add DELAY(1) to codec access routine to give reasonable time to codec operation. Without the delay, it would cause problems on super-fast machines(> 2GHz). Also enable legacy audio for all 6300ESB, 82801[D-G]B chips. Previously, it enabled legacy audio for 82801DB(ICH4) chip only.
Reported by: Maxim Maximov mcsi AT mcsi DOT pp DOT ru Andrew Bliznak andriko.b AT gmail DOT com Tested by: brueffer, Maxim Maximov, Andrew Bliznak
|
152421 |
14-Nov-2005 |
ariff |
Fix a long standing unhandled interrupt bug which can cause erratic system slowdown (beaten to a pulp) and possible panic. This issue has bugged me for as long as I could remember, until I realized that it is possible for register base offset to hold zero value which is definitely a "FALSE".
Approved by: netchild (mentor)
|
152420 |
14-Nov-2005 |
ariff |
- Added few more Intel HDA ids (ICH 6/7) which does have backward compatible AC97 codec. - As the driver supports so many variants, create a table ids for ease of probing and maintenance. Submitted by: yongari Reviewed/Tested by: multimedia@ - From luigi: The code to compute fragment sizes in the ich driver almost invariably ends up using the full buffer available, no matter how the user specifies fragment size and number. With audio telephony (8khz, 16bit-stereo) and the 16k buffer size this results in an unbearable 500ms delay. This patch makes sure that we never use more than 4 fragments, (i don't think we need more unless there are huge interrupt servicing latencies), and obey to the requested fragment size, so that latency is acceptable. Based on this (and after much regression tests), I can conclude that this driver works best with 2 fragments, thus solving various long standing issues of ICH driver not capable to flush or play short files perfectly. Suggested by: luigi (the idea of smaller fragments) - MPSAFE conversion.
Approved by: netchild (mentor)
|
152419 |
14-Nov-2005 |
ariff |
Use both (enabled by default) DAC1 and DAC2 to provide 2 distinct hardware playback channels. DAC configuration can be accessed through kernel hint - hint.pcm.<unit>.dac="val" with following possible values:
0 = Enable both DACs (default) 1 = Enable single DAC (DAC1) 2 = Enable single DAC (DAC2) 3 = Enable both DACs, swap position (DAC2 comes first instead of DAC1)
Special case for ES1370: Unlike ES1371,2,3/CT5880, volume for each DAC 1 and 2 can be controlled indepedently (synth for DAC1, pcm for DAC2). It is possible that user will confuse by this behaviour, since both DACs are enabled by default. Thus, provide a knob through sysctl hw.snd.pcm<unit>.single_pcm_mixer: 0 = each DACs will be controlled separately (synth/pcm). 1 = combine both DACs volume mixer controller into a single "pcm" (default) As a side note, fixed rate operation (provided by previous commit) is not a mandatory if the configuration space does not involve DAC2 (perhaps disabled by user through the above kernel hint). Unlike DAC2, DAC1 has its own register / control space, not affected by the speed settings of ADC.
Tested by: multimedia@ Approved by: netchild (mentor)
|
152151 |
07-Nov-2005 |
ariff |
Fix recording device selection based on ALS4000 datasheet. - http://www.alsa-project.org/alsa/ftp/manuals/avance_logic/ALS4000a.PDF
Submitted by: Watanabe Kazuhiro <CQG00620@nifty.ne.jp>
|
150980 |
05-Oct-2005 |
netchild |
- Locking improvements. - Don't keep the SPDIF state in the driver private struct since it can be overriden by hand with pciconf(8), query it when needed instead.
Regarding the locking I let Ariff explain it himself: ---snip--- About the locking, that is what I'm intended to do since the beginning. The reason I'm not putting that along since my first patchset was because several people especially from amd46 camp reported that it cause lots of LORs, which is weird considering that I've never encounter such in a pretty much strict locking environment (i386). However, since our previous discussion with Pyun YongHyeon about strict locking, I've decided to bring it back for all the affected drivers, not just for es137x. It turns out that the root of the problem was within dsp.c during device open, which has been fixed since dsp.c revision 1.84. ---snip---
Submitted by: Ariff Abdullah <skywizard@MyBSD.org.my>
|
150979 |
05-Oct-2005 |
netchild |
Add a comment regarding problems with NForce 2 mainboards and add disabled code which may help.
People with a ich compatible soundcard which want to help out should change the "#if 1" to a "#if 0" and try if the soundcard still works. Reports about working or not-working soundcards with this change to multimedia@ please.
PR: 73987
|
150832 |
02-Oct-2005 |
netchild |
* Fixed rate operation for es1370 chip to solve conflicting sampling rate between playback and recording. This can be disabled / enabled via kernel hints (hint.pcm.<unit>.fixed_rate=0/4000-48000) or sysctl hw.snd.pcm<unit>.fixed_rate=0/4000-48000). Default to 48khz fixed rate. [1] * Basic cleanup. *_es1371x_* -> *_es137x_*. * Some locking fixes. [2]
Submitted by: Ariff Abdullah <skywizard@MyBSD.org.my> Discussed with: yongari [2] See also: http://lists.freebsd.org/pipermail/freebsd-multimedia/2005-September/002758.html [1] Reported by: Jos Backus <jos at catnook.com> [1]
|
150075 |
13-Sep-2005 |
yongari |
Unlock driver lock before calling resource_int_value(9). This should fix LOR(in fact it's not LOR) in device attach.
|
149997 |
11-Sep-2005 |
netchild |
Fix hang at init for MagicMedia 256A[VX] chips. [1]
In case this causes trouble for some other chipsets add a comment how to proceed. If we don't get bugreports, this should be removed after a while (some releases?).
PR: 56617 [1], 29465, 39260, 40574, 68225 Submitted by: Matthew E. Gove <mgove@comcast.net> [1]
|
149988 |
11-Sep-2005 |
netchild |
Power up the external amplifiers additionally to powering up the DAC and ADC.
PR: 47029 Submitted by: Anish Mistry <mistry.7@osu.edu> Tested by: David Murphy <dm@dmz.ie>
|
148596 |
31-Jul-2005 |
netchild |
* Add locking / MPSAFE * Add kernel hint option to disable DXS channels entirely. Report from several skype users / Pav Lucistnik indicate that disabling DXS may fix lots of pop / crackling noise. To disable DXS add hint.pcm.<unit>.via_dxs_disabled="1" to /boot/device.hints. Further investigation of the issues regarding DXS showed, that the problem is in another (more generic) place, but until the right fix is tested/reviewed this may help a little bit.
Added sysctl's to aid testing/debugging: hint.pcm.<unit>.via_dxs_disabled=X - Disable / Enable DXS channels entirely hint.pcm.<unit>.via_dxs_channels=X - Limit DXS channels up to X hint.pcm.<unit>.via_sgd_channels=X - Limit SGD channels up to X hint.pcm.<unit>.via_dxs_src=X - Enable / Disable DXS sample rate converter.
Submitted by: Ariff Abdullah <skywizard@MyBSD.org.my> Tested by: multimedia@
|
148593 |
31-Jul-2005 |
netchild |
Fix a LOR introduced with the last commit (some hours ago), I had the wrong version of the patch.
Submitted by: Ariff Abdullah <skywizard@MyBSD.org.my> Pointy hat to: netchild
|
148592 |
31-Jul-2005 |
netchild |
Fix a LOR introduced in the last commit (some hours ago), I had the wrong version of the patch...
Submitted by: Ariff Abdullah <skywizard@MyBSD.org.my> Pointy hat to: netchild
|
148591 |
31-Jul-2005 |
netchild |
* Register programming error during device initialization especially for CT4730 / EV1938 chip, causing misconfigured mixer (David Xu), crippled after power cycle (Kevin Oberman). Fixed. * Incorporate locking/spdif patches from Jon Noack / matk. Not all es137x can really do spdif, clean it up a bit to only let few capable chip. This adds a "hw.snd.pcm<unit>.spdif_enabled" sysctl until a more generic way of handling this from userland (by an ordinary user) is designed/implemented. * Convert all bus_space_(read|write) to use es_rd/es_wr, simmilar with other drivers. * Add tunable hw.snd.pcm<unit>.latency_timer sysctl to toggle pci latency timer value on the fly. Much noise / pop / crackling issues can be solved by increasing its value. Other people have pointed out to use pciconf instead, but this is just an added value specific for CT4730/EV1938. * Remove es137x specific debug sysctl/code.
Several PRs can now be closed.
Submitted by: Ariff Abdullah <skywizard@MyBSD.org.my> Submitted by: Jon Noack <noackjr@alumni.rice.edu> (implicit) Submitted by: matk (implicit) PR: 59349, 68594, 73498 Tested by: multimedia@
|
148590 |
31-Jul-2005 |
netchild |
This driver is already MPSAFE, remove busdma_lock_mutex and Giant from bus_dma_tag_create.
Submitted by: Ariff Abdullah <skywizard@MyBSD.org.my>
|
148589 |
31-Jul-2005 |
netchild |
* Add locking / MPSAFE.
Submitted by: Ariff Abdullah <skywizard@MyBSD.org.my> Tested by: netchild
|
148588 |
31-Jul-2005 |
netchild |
* als4000 can't do 48k properly (perhaps it really can't at all!). Set maxspeed to 44.1k instead. * Add locking / MPSAFE * Fix recording
Submitted by: Ariff Abdullah <skywizard@MyBSD.org.my>
|
147626 |
27-Jun-2005 |
glebius |
Implement suspend/resume operation for snd_csa(4)
PR: kern/82243 Submitted by: Serge Semenenko Approved by: re (scottl) MFC after: 1 month
|
146793 |
29-May-2005 |
tanimura |
s/-1000/BUS_PROBE_LOW_PRIORITY/
Pointed out by: nyan
|
146705 |
28-May-2005 |
tanimura |
Add 6300ESB, which should be treated as ICH4.
PR: kern/81573 Submitted by: OOTOMO Hiroyuki <ootomo@za.wakwak.com> MFC after: 1 week
|
146514 |
23-May-2005 |
yongari |
Make snd_maestro3(4) mpsafe - Let m3_pchan_trigger()/m3_rchan_trigger() acquire lock and call m3_pchan_trigger_locked()/m3_rchan_trigger_locked() respectivly. - Mark interrupt handler INTR_MPSAFE. - Add locks in sound/channel interface.
Tested by: nork
|
144996 |
13-Apr-2005 |
mdodd |
Make it clear that the statement following the conditional is a NOP.
|
143888 |
20-Mar-2005 |
murray |
Return BUS_PROBE_DEFAULT in preference to 0.
Pointed out by: Nate Lawson <nate@root.org>
|
143829 |
19-Mar-2005 |
murray |
Add device id for nForce 4 audio controller.
PR: kern/78482 Submitted by: Markus Niemistö <markus.niemisto@iki.fi> MFC after: 1 week
|
142890 |
01-Mar-2005 |
imp |
Use BUS_PROBE_DEFAULT in preference to 0 and BUS_PROBE_LOW_PRIORITY in preference to some random negative number to allow other drivers a bite at the apple.
|
141095 |
01-Feb-2005 |
imp |
BUS_SPACE_UNRESTRICTED shouldn't be used with the bus_alloc_resource interface. Instead, move to the convenience _any interface.
|
139749 |
06-Jan-2005 |
imp |
Start each of the license/copyright comments with /*-, minor shuffle of lines
|
137573 |
11-Nov-2004 |
ru |
Fix build.
Submitted by: Taku YAMAMOTO
|
137500 |
10-Nov-2004 |
julian |
Add record capability.
Submitted by: Taku Yamamoto (original author)
|
136470 |
13-Oct-2004 |
yongari |
Limit DMA address space to 1GB since the trident audio cards can't handle DMA addresses located above 1GB. The LBA(loop begin address) register which holds DMA base address is 32bits register. But the MSB 2bits are used for other purposes. This effectivly limits the DMA address space up to 1GB.
Approved by: jake (mentor) Reviewed by: truckman, matk
|
136469 |
13-Oct-2004 |
yongari |
Audio drivers failed to detect failure condition and attempted to assign DMA address to the wrong address. It can cause system lockup or other mysterious errors. Since most sound cards requires low DMA address(BUS_SPACE_MAXADDR_24BIT) sndbuf_alloc() would fail when the audio driver is loaded after long running of operations.
Approved by: jake (mentor) Reviewed by: truckman, matk
|
135867 |
28-Sep-2004 |
ps |
Add ICH6 support.
|
135543 |
21-Sep-2004 |
des |
Correct the capitalization of "nVidia".
|
135508 |
20-Sep-2004 |
sanpei |
Add support Nvidia nForce2(audio)
PR: kern/71317 Submitted by: Mezz <mezz@freebsd.org> MFC after: 1 week
|
135502 |
20-Sep-2004 |
sanpei |
Add support nForce3 250 audio
PR: kern/71726 Submitted by: FUJIMOTO Kou <fujimoto@j.dendai.ac.jp> MFC after: 1 week
|
135284 |
15-Sep-2004 |
sobomax |
Backout the code which tries to use undocumented way to determine if fm801 has sound capabilities or not. Unfortunately this code doesn't work as expected.
Submitted by: many MFC after: 3 days
|
134177 |
22-Aug-2004 |
green |
The new contigmalloc code is exposing a lot of misuses of busdma memory allocation. Notably, in this case, the driver tries to allocate several pieces of memory and then fails if the pieces allocated after the first do not come after it physically, and within a specific range (8MB I believe). Of course, this could just as easily fail for any number of reasons, but it almost always fails now that contiguous allocations start at the end of possible specified memory locations rather than the beginning.
Allocate all the possibly-needed memory up front, even though it's a waste, to get around this. The least bogus solution would be to take the physical address from the first allocation and create a new tag that specified that further allocations must follow it within that 8MB window, then use that when allocating new channels, but that's left for anyone else that really feels like doing it.
Tested by: Erwin Lansing <erwin@lansing.dk>
|
132600 |
24-Jul-2004 |
obrien |
Remove rev 1.50.
|
132236 |
16-Jul-2004 |
tanimura |
Rename the sound device drivers:
- `sound' The generic sound driver, always required.
- `snd_*' Device-dependent drivers, named after the sound module names. Configure accordingly to your hardware.
In addition, rename the `snd_pcm' module to `sound' in order to sync with the driver names.
Suggested by: cg
|
131587 |
04-Jul-2004 |
bms |
Check the return value of bus_dmamem_alloc() correctly.
Submitted by: Darron Broad (with cleanups)
|
130436 |
13-Jun-2004 |
obrien |
Add PCI identifier for Dell modified SBLive! card
Submitted by: Joseph Dunn <joseph@magnesium.net>
|
130078 |
04-Jun-2004 |
mux |
Make the emu10k1 pcm driver INTR_MPSAFE. The locking is modeled exactly as done in the cmi driver. I am quite confident this is safe since I'm runing this for more than two weeks now, on an SMP box. A few people tested this patch for me successfully as well.
|
129925 |
01-Jun-2004 |
tanimura |
Axe the old midi drivers and framework. matk has developed a new module-friendly midi subsystem to be merged soon.
|
129758 |
26-May-2004 |
matk |
Add PCI ID for via 8237.
Submitted by: Josh Elsasser <jre@vineyard.net> Approved by: tanimura (mentor) PR: kern/61730
|
128513 |
21-Apr-2004 |
green |
This driver certainly works fine turning INTR_MPSAFE back on. For those of you with other cards, please do review and test the drivers for MP-safety and disable Giant in the interrupt routines when you are sure of proper functionality.
|
128232 |
14-Apr-2004 |
green |
The newpcm headers currently #define away INTR_MPSAFE and INTR_TYPE_AV because they bogusly check for defined(INTR_MPSAFE) -- something which never was a #define. Correct the definitions.
This make INTR_TYPE_AV finally get used instead of the lower-priority INTR_TYPE_TTY, so it's quite possible some improvement will be had on sound driver performance. It would also make all the drivers marked INTR_MPSAFE actually run without Giant (which does seem to work for me), but: INTR_MPSAFE HAS BEEN REMOVED FROM EVERY SOUND DRIVER! It needs to be re-added on a case-by-case basis since there is no one who will vouch for which sound drivers, if any, willy actually operate correctly without Giant, since there hasn't been testing because of this bug disabling INTR_MPSAFE.
Found by: "Yuriy Tsibizov" <Yuriy.Tsibizov@gfk.ru>
|
127651 |
31-Mar-2004 |
matk |
By default, ich4 has NAMBAR and NABMBAR i/o spaces as read-only. Need to enable "legacy support", by poking into pci config space. (comment from the patch)
Submited by: Autrijus Tang <autrijus@autrijus.org> Approved by: tanimura (mentor)
|
127218 |
20-Mar-2004 |
marcel |
Actually program the list of recording devices in sv_mix_setrecsrc(). This change has not been tested.
This change was triggered by a gcc(1) warning on ia64 at -O2. The variable v was not used after being computed, which resulted in enough dead code elimination (DCE) to confuse the compiler and emit a bogus warning about the use of the variable i without prior definition. The variable i is the loop variable.
Submitted by: des Responsibility: marcel
|
127135 |
17-Mar-2004 |
njl |
Convert callers to the new bus_alloc_resource_any(9) API.
Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde
|
126695 |
06-Mar-2004 |
matk |
Augment /dev/sndstat with the module names, if applicable.
Approved by: tanimura (mentor)
|
124617 |
17-Jan-2004 |
phk |
As previously announced: discontinue use of makedev() call in soundcode.
This takes us a lot closer to refcounting dev_t.
This patch originally by cg@ with a few minor changes by me.
It is largely untested, but has been HEADSUP'ed twice, so presumably people have not found any issues with it.
Submitted by: cg@
|
124405 |
12-Jan-2004 |
obrien |
Specify the right location of the generated header.
|
124373 |
11-Jan-2004 |
obrien |
Add Audigy support. I started with a year-old patch by Orlando Bassotto <orlando.bassotto@ieo-research.it>, and ported it to 5.2-CURRENT along with fixing the problems working with pre-Audigy cards.
|
124358 |
11-Jan-2004 |
obrien |
Remove EMUDEBUG [un]def. This should be done in the Makefile.
|
124277 |
09-Jan-2004 |
obrien |
Sync with Creative's 8010.h rev 1.51.
|
122461 |
11-Nov-2003 |
scottl |
Fix sound LOR problems:
dsp_open: rearrange to only hold one lock at a time
dsp_close: ditto
mixer_hwvol_init: delete locking, the only consumer seems to be the ess driver and it only call it a creation time, I think the device will be stable across the sleepable malloc.
cmi interrupt routine: Release locks while caller chn_intr, either this or do what emu10k1 does which is have no locks at in the interrupt handler.
Submitted by: mat@cnd.mcgill.ca
|
121028 |
12-Oct-2003 |
des |
A couple of months' worth of back-burner hacking: restructure to better handle the minor (but significant) differences between the various Vortex chips; add (incomplete) support for playback.
|
120101 |
15-Sep-2003 |
njl |
Correctly reset ich[3-5] sound cards on resume. This fixes audio playback after suspend/resume for me.
PR: Submitted by: iwasaki Reviewed by: orion Approved by: cg Obtained from: MFC after:
|
119853 |
07-Sep-2003 |
cg |
update my email address.
|
119711 |
03-Sep-2003 |
obrien |
Recognize the sound chip on the Opteron-based nForce3 motherboards (such as the Asus SK8N).
|
119690 |
02-Sep-2003 |
jhb |
Use PCIR_BAR(x) instead of PCIR_MAPS.
Glanced over by: imp, gibbs Tested by: i386 LINT
|
119548 |
29-Aug-2003 |
orion |
Add Creative SB AudioPCI CT4730 rev A.
Submitted by: David Xu <davidxu@FreeBSD.org> PR: kern/54810
|
119533 |
28-Aug-2003 |
obrien |
Add sound support for the AMD64 8111 chip.
PR: kern/55932 Submitted by: Mark Kettenis <kettenis@chello.nl>
|
119362 |
23-Aug-2003 |
iedowse |
When calculating the block size to use for a particular sample rate, round the result up to a multiple of 4 bytes so that it will always be a multiple of the sample size. Also use the actual buffer size from sc->bufsz instead of the default DS1_BUFFSIZE.
This fixes panics and bad distortion I have seen on Yamaha DS-1 hardware, mainly when playing certain Real Audio media.
Reviewed by: orion (an earlier version of the patch)
|
119287 |
22-Aug-2003 |
imp |
Prefer new location of pci include files (which have only been in the tree for two or more years now), except in a few places where there's code to be compatible with older versions of FreeBSD.
|
118922 |
14-Aug-2003 |
cg |
disable resume code implementing panic().
this needs to be reimplemented properly.
|
118729 |
10-Aug-2003 |
orion |
Switch from legacy to native mode for ICH4 and ICH5.
Submitted by: Shin-ichi YOSHIMOTO <yosimoto@waishi.jp> Test by: Markko Merzin <markko@short.cut.ee> PR: kern/53242 MFC after: 5 days
|
117296 |
06-Jul-2003 |
cg |
* support ich5
PR: kern/53242 Submitted by: Shin-ichi Yoshimoto <yosimoto@waishi.jp> (partly) Tested by: Dominic Marks <dom@cus.org.uk> (version in PR) MFC after: 1 week
|
117272 |
06-Jul-2003 |
cg |
* add support for amd-768 audio, as used on many dual athlon boards. only tested for playback.
* modify device name strings for ich chips to better conform with their common names.
* remove superflous 'AC97 controller' from nforce device names.
MFC after: 1 week
|
117126 |
01-Jul-2003 |
scottl |
Mega busdma API commit.
Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg. Lockfunc allows a driver to provide a function for managing its locking semantics while using busdma. At the moment, this is used for the asynchronous busdma_swi and callback mechanism. Two lockfunc implementations are provided: busdma_lock_mutex() performs standard mutex operations on the mutex that is specified from lockfuncarg. dftl_lock() is a panic implementation and is defaulted to when NULL, NULL are passed to bus_dma_tag_create(). The only time that NULL, NULL should ever be used is when the driver ensures that bus_dmamap_load() will not be deferred. Drivers that do not provide their own locking can pass busdma_lock_mutex,&Giant args in order to preserve the former behaviour.
sparc64 and powerpc do not provide real busdma_swi functions, so this is largely a noop on those platforms. The busdma_swi on is64 is not properly locked yet, so warnings will be emitted on this platform when busdma callback deferrals happen.
If anyone gets panics or warnings from dflt_lock() being called, please let me know right away.
Reviewed by: tmm, gibbs
|
115618 |
01-Jun-2003 |
des |
Add (but do not connect) a half-finished driver for Aureal Vortex cards. The mixer works, pcm support is half done.
|
113748 |
20-Apr-2003 |
obrien |
more style(9) changes.
|
113747 |
20-Apr-2003 |
obrien |
more style(9) changes.
|
113746 |
20-Apr-2003 |
obrien |
A few style(9) fixes.
|
113653 |
18-Apr-2003 |
obrien |
Sync with Creative's 8010.h rev 1.39.
|
113598 |
17-Apr-2003 |
orion |
Perform warm or cold reset AC97 per the spec depending on state of the codec during initialization. This code mirrors the reset code used on the VIA82c686 and fixes a codec initialization failure (SoundMAX AD1885) reported by Matthias Schuendehuette.
|
113546 |
16-Apr-2003 |
simokawa |
Fix bogus maxsegsz parameter for bus_dma_tag_create().
MFC: 1 week
|
113545 |
16-Apr-2003 |
mdodd |
- Don't call pci_enable_io() in drivers (unless needed for resume). - Don't test memory/port status and emit an error message; the PCI bus code will do this now.
|
113056 |
04-Apr-2003 |
orion |
Fix mismatch between bus address stored for buffer descriptors and actual address of buffer descriptor. This should fix the reported calibration failures and subsequent speed problems with ich chipsets.
Minor calibration comment updates.
|
112748 |
28-Mar-2003 |
orion |
Perform warm reset if codec reports ready on attach.
Move AC97 link control power up poke so it is always performed on attach.
|
112672 |
26-Mar-2003 |
orion |
Re-work ac97 initialization to match cold reset described in AC97r.23 and be prepared to wait much longer for codec to become ready.
Credit to Hugo D. Valentim <hvalentim@gmx.net> for reporting the problem, providing useful pointers, and repeated diff testing.
|
112671 |
26-Mar-2003 |
orion |
For the VIA8233A use multi-sgd register set for primary playback channel and disable DXS3. Several users have reported DXS3 as playing at half speed on the 8233A revision of the chipset. This implicitly means no SPDIF for VIA8233A users.
|
112669 |
26-Mar-2003 |
orion |
Add defines for low power and second codec ready.
|
112438 |
20-Mar-2003 |
orion |
Distinguish between register sets that depend on ac97 caps (wr0, wr1, msgd) and those that don't (dxs0-3) when reporting format caps.
|
111898 |
05-Mar-2003 |
orion |
Attempt a hard reset if AC97 codec is not ready on attach.
Halt attach if mixer_init fails.
Prompted by: points raised by Hugo Valentim <hvalentim@gmx.net>.
|
111556 |
26-Feb-2003 |
cognet |
Unbreak emu10k1 by properly using the buffer address.
New contestant for the lamest commit of the year award: cognet
|
111276 |
23-Feb-2003 |
orion |
Fix compilation on alpha. Pointy hat to Marcel.
|
111269 |
22-Feb-2003 |
orion |
o Add back support for DXS channels.
o Make DXS3 the primary playback channel. It may be the only universally supported channel with the assorted revisions of this chipset.
o Add sysctl and handler for enabling s/pdif output from DXS3.
|
111198 |
21-Feb-2003 |
orion |
Clean up viachan_init.
|
111197 |
21-Feb-2003 |
orion |
Fix assignment of record sgd_addr and clean up via8233chan_init.
|
111183 |
20-Feb-2003 |
cognet |
Implement a "sndbuf_getbufaddr" function and use it instead of vtophys().
Reviewed by: orion
|
111119 |
19-Feb-2003 |
imp |
Back out M_* changes, per decision of the TRB.
Approved by: trb
|
110232 |
02-Feb-2003 |
alfred |
Consolidate MIN/MAX macros into one place (param.h).
Submitted by: Hiten Pandya <hiten@unixdaemons.com>
|
109863 |
26-Jan-2003 |
orion |
Disable DRA to fix problems with recording.
|
109623 |
21-Jan-2003 |
alfred |
Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
|
109182 |
13-Jan-2003 |
orion |
Add nForce2 device id.
Submitted by: "Mikko S. Hyvarinen" <morphy@morphy.iki.fi> MFC after: 5 days
|
108533 |
01-Jan-2003 |
schweikh |
Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, especially in troff files.
|
108064 |
18-Dec-2002 |
semenu |
Do not return(foo()) in void function.
Submitted by: marius@alchemy.franken.de MFC after: 3 days
|
107285 |
26-Nov-2002 |
cg |
(hopefully) fix build breakage some people are seeing
Approved by: re
|
107236 |
25-Nov-2002 |
cg |
various fixes to eliminate locking warnings
Approved by: re Reviewed by: orion
|
105308 |
17-Oct-2002 |
marcel |
Suppress the uninitialized variable warning on ia64 introduced by the previous commit by initializing i and j. These initializations will normally be eliminated by the compiler.
|
105100 |
14-Oct-2002 |
cognet |
Fix support for the ALi M5451 (rev 0.2) chip.
Reviewed by: orion, mux Approved by: mux (mentor) MFC after: 1 week
|
102924 |
04-Sep-2002 |
scottl |
Sigh. The fix to the suspend code wasn't complete, since the resume code was broken in the same way.
Submitted by: co9@xs4all.nl MFC after: 3 days
|
102889 |
03-Sep-2002 |
sobomax |
- Improve AC97 presence check and move it from fm801_attach() to fm801_probe(); - add bus capabilities into the driver, so that it is possible for a radio driver to attach to it to use shared resources of fm801 chip. The radio driver itself will be committed later.
MFC after: 1 week
|
102620 |
30-Aug-2002 |
sobomax |
Whitespace-only: don't mix tabs and spaces for doing identation.
|
102578 |
29-Aug-2002 |
scottl |
Fix a silly off my one error that caused crashes on resume in certain circumstances. The problem was only reported with -stable, but it's obviously wrong in -current also. MFC is forthcoming.
Submitted by: doconnor@dsoft.com.au
|
102390 |
25-Aug-2002 |
orion |
Add suspend and resume support.
Contributed by: Takanori Watanabe <takawata@FreeBSD.org> PR: kern/41809
|
102328 |
23-Aug-2002 |
orion |
Make sure channel buffer start is associated with channel, otherwise getptr is broken. Noise reported by Thomas Draney <tmdraney@yahoo.com> who also tested the patch.
|
102302 |
23-Aug-2002 |
orion |
s/AC97_MIX_PHONES/AC97_MIX_AUXOUT/ to match ac97r2.{2,3}.
Attempt to determine what function of AUX_OUT is: "True line level out", "Headphone out", or "4-Channel out" and frig OSS mixer label accordingly.
Addresses problem raised by Randy Bush on -multimedia of not being able to hear audio on ich2 m/b which was eventually found to be because the mixer monitor value was 0. On this h/w the label "monitor" should now be presented as the marginally more intuitive "ogain".
|
102106 |
19-Aug-2002 |
orion |
Cater for ich4 quirks.
Reported by: Jacob Rhoden Tested by: Jacob Rhoden, mp
|
102039 |
18-Aug-2002 |
orion |
Fix VRA configuration.
Reported and fixed by: Grzybowski Rafal <grzybek@inferno.mikrus.pw.edu.pl>
|
102011 |
17-Aug-2002 |
orion |
Support for VIA VT8233 audio controller.
|
102010 |
17-Aug-2002 |
orion |
Remove support for the vt8233. Specs for chipset changed mid-revision so this code was not working for the newer VIA chipsets.
|
101738 |
12-Aug-2002 |
mp |
Add PCI ID for the ICH4 AC97 controller.
|
100922 |
30-Jul-2002 |
sobomax |
Add a quick check that device actually has sound capabilities. The problem is that some cards built around fm801 chip have the same device ID, only have radio tuner onboard, but no sound capabilities. Therefore, with such card inserted and `device pcm' in kernel the user has a big problem, as the fm801 driver effectively hangs the machine when trying to initialise nonexistent ac97 codecs (it does 500 retries with 1 second interval!). It would be better if MediaForte's engeneers were smart enough to put different device ID into such cards, but it isn't an option.
MFC after: 2 weeks
|
100634 |
24-Jul-2002 |
ambrisko |
Fake a resume method for this chip via calling detach/attach. This lets ThinkPads using this chip to have sound after a suspend/resume sequence without resorting to kldunload/kldload.
MFC after: 1 week
|
99586 |
08-Jul-2002 |
robert |
Reenable the m3 interrupts in m3_pci_resume() and do not enable them in m3_pci_attach().
|
98961 |
28-Jun-2002 |
scottl |
Fix a botched flag clear operation. Rumor has it that this also fixes the funky-volume-settings-on-startup problem.
Reviewed by: the channel that shall not be named MFC after: 7 days
|
98940 |
27-Jun-2002 |
scottl |
Delay the AC97 calibration until after the system clock has been calibrated. This fixes the problem where playback and recording do not run at the correct speed. It probably also eliminates the need for the hacks/workarounds/sysctl's that were previously devised to deal with this, but I will leave that for a different time.
Reviewed by: orion
|
98764 |
24-Jun-2002 |
robert |
Enable mixer interrupts after the mixer is initialized, otherwise we might get interrupts and are unable to handle them properly, which results in a page fault.
PR: kern/39549 Submitted by: Gil Kloepfer <gil@arlut.utexas.edu>
|
96069 |
05-May-2002 |
orion |
No longer attempt to power off the ACLINK during suspend - luigi reports this causes his ich machine to hang.
|
95678 |
28-Apr-2002 |
cg |
recognise ct5880-e
Submitted by: SONODA Yoshihide <yshd@na.rim.or.jp>
|
94814 |
16-Apr-2002 |
jhb |
Cast another bus_addr_t to long long for a printf to quiet a warning on alpha.
|
94798 |
15-Apr-2002 |
jhb |
Recognize the AC97 interface to the onboard sound controller on the Nvidia nForce chipset. Playback at least seems to work fine with the ich driver out of the box.
Sponsored by: The Weather Channel Help from: cg
|
94791 |
15-Apr-2002 |
jhb |
Use bus_addr_t instead of u_int for local variables that are derived from the per-channel bus_addr_t offset. Also, cast the offset to (long long) and use %#llx instead of %#x to fix printf warnings on architectures where sizeof(bus_addr_t) != sizeof(int).
|
94767 |
15-Apr-2002 |
roberto |
Remove a spurious warning as x is always initialised before use.
es137x.c: In function `es1371_rdcd': es137x.c:598: warning: `x' might be used uninitialized in this function
PR: kern/35408 Submitted by: Thomas Quinot <thomas@cuivre.fr.eu.org>
|
94647 |
14-Apr-2002 |
jhay |
Fix the play / record rate setting so that it actually works.
The extra microphone channel capability is part of the "normal" ac97 capabilities and not an extended ac97 capability. Now recording on codecs without a seperate mic channel works.
MFC after: 1 week
|
93818 |
04-Apr-2002 |
jhb |
Change callers of mtx_init() to pass in an appropriate lock type name. In most cases NULL is passed, but in some cases such as network driver locks (which use the MTX_NETWORK_LOCK macro) and UMA zone locks, a name is used.
Tested on: i386, alpha, sparc64
|
93816 |
04-Apr-2002 |
jhb |
Add lock type arguments to callers of snd_mtxcreate().
|
91607 |
04-Mar-2002 |
orion |
Suspend and resume related patches from Toshikazu Ichinoseki <t.ichinoseki@nifty.com>.
PR's: kern/35484, kern/35230.
|
91539 |
01-Mar-2002 |
orion |
Add support for VT8233.
|
90880 |
19-Feb-2002 |
alfred |
Add play (but not record) support for the Sis 7012.
Submitted by: Mike Meyer <mwm@mired.org>
|
89887 |
27-Jan-2002 |
scottl |
Recent changes to newpcm require that the CHANNEL_SETFORMAT op return 0 for success, non-zero otherwise. The maestro and maestro3 drivers were returning the format code, which was being interpreted as a failure code. Fixed. No one seems to have noticed that the maestro driver was broken, but I'll fix it anyways.
MFC after: 2 weeks
|
89516 |
18-Jan-2002 |
orion |
Change ich_calibrate to busy wait on buffer fill level and use a more likely looking rate calculation.
Install interrupt handler before calling ich_init as the initialization occasionally generates spurious interrupts.
These changes are derived from cg's work in progress version of this driver.
|
88869 |
04-Jan-2002 |
tanimura |
- Provide toggles to show debug messages. Set new sysctl variables hw.midi.debug and hw.midi.seq.debug to 1 to enable debug log.
- Make debug messages human-frendly.
- Implement /dev/music.
- Add a timer engine required by /dev/music.
- Fix nonblocking I/O.
- Fix the numbering of midi and synth devices.
|
88773 |
01-Jan-2002 |
tanimura |
- Do not uiomove with a mutex locked.
- Move from msleep/wakeup to condvar.
- Return either zero or a positive errno value from a function. Return additional result via references.
- Unify the typedef of callback functions.
|
88361 |
21-Dec-2001 |
orion |
Save and restore state for suspend/resume.
PR: kern/28692 Obtained from: SAKIYAMA Nobuo <sakichan@sakichan.org>
|
88215 |
19-Dec-2001 |
orion |
Correct unexpected interrupt detection.
|
88209 |
19-Dec-2001 |
orion |
Nitlets.
|
88206 |
19-Dec-2001 |
orion |
Clear resume interrupts - these can occur during initialization and must be cleared to prevent machine hanging (presently aflicts -current and -stable).
Problem reported by Bruce Montague <brucem@cse.iitkgp.ernet.in>
PR: kern/29769 (probably)
|
88108 |
18-Dec-2001 |
orion |
Add calibration test to determine extent of AC97 overclocking (if any).
|
88033 |
17-Dec-2001 |
orion |
Added a sysctl control variable "ac97rate" to allow manual tuning of the link rate - some ich motherboards overclock ac97 out of the box.
Will hopefully replace this with a callibration loop in time for 4.5R freeze.
Problem reported by Luigi Rizzo and fix derived from his code (put diff in ich.c rather than ac97.c).
MFC after: 3 days
|
88032 |
17-Dec-2001 |
orion |
Addition of sysctl variable to enable spdif. By default spdif is disabled.
MFC after: 3 days
|
87393 |
05-Dec-2001 |
guido |
Fix resume for HP Omnibook 500's.
MFC after: 1 week
|
86870 |
24-Nov-2001 |
iwasaki |
Add suspend/resume support.
MFC after: 1 week
|
86795 |
22-Nov-2001 |
orion |
Fix typo introduced with last commit.
|
86708 |
21-Nov-2001 |
orion |
Correct extmode initialization.
MFC after: 3
|
86706 |
21-Nov-2001 |
orion |
Set extmode according to extcaps. Fixes codec sample rate failures that causes noisy playback with rates other than 48k (reported by Olexander Kunytsa).
MFC after: 3 days
|
86409 |
15-Nov-2001 |
asmodai |
Remove clkrun_hack for ThinkPad 570.
PR: 28031 Submitted by: Tan Koan-Sin <freedom@csie.nctu.edu.tw> MFC after: 2 weeks
|
85946 |
03-Nov-2001 |
peter |
Add Id for 82801CA (ICH3?). The ich driver seems to work fine on the laptop that had it.
|
85443 |
24-Oct-2001 |
jhb |
Change the module name from 'snd_sonicvibes' to 'snd_vibes' as that is the filename (thus the "old" module name) and the name used by snd_driver.ko.
|
85442 |
24-Oct-2001 |
jhb |
Change module name from 'snd_als' to 'snd_als4000' to match name in snd_driver.ko.
|
85441 |
24-Oct-2001 |
jhb |
Change the module name from 'via' to 'snd_via82c686' to match the KLD filename and in snd_driver.ko.
|
85440 |
24-Oct-2001 |
jhb |
Change the module name from 'snd_cmipci' to 'snd_cmi' to match the filename, module name in the loader, the dependency in snd_driver.ko, and to be consistent with other sound drivers.
|
84926 |
14-Oct-2001 |
scottl |
Turn on the hardware volume buttons that are present on most laptops with these chips. There is a new hint, hint.pcm.N.hwvol_config, that can be set to 1 or 0 to select which pins the buttons are connected to. I'm open to suggestions on where to document this. Also bump the number of playback channels up to 4.
MFC after: 3 days
|
84771 |
10-Oct-2001 |
orion |
use pcm_getbuffersize()
|
84731 |
09-Oct-2001 |
scottl |
Update to using the pcm_getbuffersize() method. Fix an off-by-one error in the saving of the dsp memory. Up the play channels to 2.
MFC after: 3 days
|
84660 |
08-Oct-2001 |
cg |
use pcm_getbuffersize() only creat a mic recording channel if the codec supports it
|
84659 |
08-Oct-2001 |
cg |
use pcm_getbuffersize() use seperate dma tags for buffers and control info
|
84658 |
08-Oct-2001 |
cg |
use pcm_getbuffersize()
|
84641 |
07-Oct-2001 |
cg |
* register the correct number of channels * include hw buffer size in sndstat info
|
83617 |
18-Sep-2001 |
cg |
don't enable the mic record channel unless the codec supports it.
allow hardware buffer size to be specified using hints.
|
83497 |
15-Sep-2001 |
tanimura |
Catch up to the last commit of KSE.
|
83214 |
08-Sep-2001 |
green |
Convert the CMedia driver to using a device mutex and INTR_MPSAFE.
|
82837 |
03-Sep-2001 |
orion |
Return updated blocksize from setblocksize function.
|
82836 |
03-Sep-2001 |
orion |
Fix return value of cs4281chan_setblocksize.
|
82835 |
03-Sep-2001 |
orion |
Fix return value of svchan_setblocksize.
Expand probing range.
|
82834 |
03-Sep-2001 |
orion |
Fix return value of setblocksize functions. Recording is interspersed with silent intervals otherwise.
|
82490 |
29-Aug-2001 |
greid |
Add support for the Acer Labs M5451 chip.
Submitted by: Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org>
|
82478 |
29-Aug-2001 |
cg |
* change buffering method a bit * swap record/mic channels * initialise all channels * align dma buffers to 8 bytes
Submitted by: Katsurajima Naoto <raven@katsurajima.seya.yokohama.jp> (mostly)
|
82379 |
27-Aug-2001 |
cg |
MFS rev 1.8.2.8: release resources on detach
Submitted by: "Christopher N . Harrell" <cnh@netvmg.com>
|
82363 |
26-Aug-2001 |
greid |
Add support for the SiS 7018
PR: 30100 Submitted by: Ada Lim <adal@cse.unsw.edu.au>
|
82183 |
23-Aug-2001 |
cg |
make the 4dwave nx chip work Submitted by: Philippe Anel <xigh@noos.fr>
|
82180 |
23-Aug-2001 |
cg |
many changes:
* add new channels to the end of the list so channels used in order of addition
* de-globalise definition of struct snddev_info and provide accessor functions where necessary.
* move the $FreeBSD$ tag in each .c file into a macro and allow the /dev/sndstat handler to display these when set to maximum verbosity to aid debugging.
* allow each device to register its own sndstat handler to reduce the amount of groping sndstat must do in foreign structs.
|
81071 |
02-Aug-2001 |
greid |
Set up the via_chinfo structures properly so we write to the correct registers later on; this fixes the VIA82C686 sound problems recently reported by a number of people.
|
80004 |
19-Jul-2001 |
scottl |
Limit the device to only one playback channel until I can figure out why a) newpcm insists on using only the highest number channel available, and b) the maestro3 driver no longer likes anything above channel 0.
|
80003 |
19-Jul-2001 |
scottl |
Fix an off-by-one error in the dma tag. This was causing the VM system to freak out occasionally.
MFC after: 1 week
|
79498 |
09-Jul-2001 |
peter |
Somehow I missed this. Use INTR_TYPE_AV (high priority) instead of INTR_TYPE_TTY (lowest priority).
|
79148 |
03-Jul-2001 |
cg |
* simplify
* add support for mic record channel
* add support for setblocksize
* make mpsafe
* make getptr accurate
* reduce buffer size from 64k to 16k for better synchronisation
|
79091 |
02-Jul-2001 |
green |
Detect the device on e.g. Dell OptiPlex GX110s.
|
79047 |
01-Jul-2001 |
cg |
intel ich/ich2 driver - this needs some work but is functional enough for the impatient.
Hardware... Provided by: ps Lost by: <censored> Found by: <censored> Not delivered by: Ashley Penney <ashp@unloved.org> Retrieved by: greid, Andrew McKay <andy@openirc.co.uk> Delivered by: Andrew McKay <andy@openirc.co.uk>
PR: kern/25507 Submitted by: Katsurajima Naoto <raven@katsurajima.seya.yokohama.jp>
|
79046 |
01-Jul-2001 |
cg |
add module version/dependancies
|
78673 |
23-Jun-2001 |
cg |
the turtle beach santacruz implements ac97 eapd in an inverted sense - inform the ac97 code of this.
|
78564 |
21-Jun-2001 |
greid |
Use the M_ZERO flag to malloc(9)
Reviewed by: cg MFC after: 1 week
|
78429 |
18-Jun-2001 |
cg |
stop csa from panicing in clkrun_hack() - we were using free'd memory
don't leak memory in clkrun_hack()
Submitted by: grog (partially)
|
78421 |
18-Jun-2001 |
tmm |
Call bus_teardown_intr when csa_attach fails after the interrupt has been set up.
PR: kern/28178 Reviewed by: cg MFC after: 2 weeks
|
78366 |
16-Jun-2001 |
peter |
Use INTR_TYPE_AV for the interrupt handlers because: 1: most drivers are sensitive to timing, and 2: the handlers are MPSAFE and need a chance to get into the kernel before some other non-mpsafe handler blocks the ithread on Giant in shared irq cases.
Reviewed by: cg (in principle)
|
78362 |
16-Jun-2001 |
cg |
use a global devclass for all drivers - i'm not entirely sure why this worked before.
mixer, dsp and sndstat are seperate devices - give them their own cdevsws instead of demuxing requests sent to a single cdevsw.
use the si_drv1/si_drv2 fields in dev_t structures for holding information specific to an open instance of mixer/dsp.
nuke /dev/{dsp,dspW,audio}[0-9]* links - this functionality is now provided using cloning.
various locking fixes.
|
78033 |
11-Jun-2001 |
cg |
identify es1371 revision a
|
78032 |
11-Jun-2001 |
cg |
get clkrun the right way around remove debug messages
|
77907 |
08-Jun-2001 |
tanimura |
Catch up to csareg.h rev 1.3.
Forgotten by: cg
|
77506 |
30-May-2001 |
cg |
fix typo
|
77505 |
30-May-2001 |
cg |
no longer used
|
77504 |
30-May-2001 |
cg |
update this driver to use new firmware and incorporate many fixes.
this works on cs4630 chips, and should implement the clkrun hack for thinkpads- this will display diagnostic messages when triggered until its correctness is established.
|
77495 |
30-May-2001 |
cg |
state the licencing terms for this file
Obtained From: Yamaha
|
77181 |
25-May-2001 |
scottl |
Fix DMA on machines with more than 128MB.
Obtained from: cg MFC after: 5 days
|
76086 |
27-Apr-2001 |
cg |
be more specific in identifying the chip type
|
75926 |
24-Apr-2001 |
cg |
get the parameters to pci_write_config the right way round. this may fix some non-functional cards/machines
|
75885 |
23-Apr-2001 |
orion |
Initial version of Avance Logic ALS4000 pcm driver.
|
75702 |
19-Apr-2001 |
orion |
Add power on to start sequence for 4.x kernels.
PR: kern/26255 Submitted by: WATANABE Kiyoshi <aab10490@pop16.odn.ne.jp>
|
75382 |
10-Apr-2001 |
greid |
Add another card to the list of Neomagic 256AV's which don't have AC97 codecs. Also, add some additional code to check for future cards without this feature - attempting to initialise them as AC97 cards will hang the machine.
PR: 26427 Reviewed by: cg
|
75301 |
08-Apr-2001 |
greid |
Add yet another chip revision of the ES1371 which requires initialisation delays
PR: 26415 Submitted by: Jose M. Alcaide <jose@we.lc.ehu.es> Reviewed by: cg
|
75290 |
07-Apr-2001 |
orion |
Quieten when re-triggering.
|
75174 |
04-Apr-2001 |
orion |
Centralize DMA buffer configuration.
Simplify initialization and remove offending DMA channel resets there. The resets trash whatever is pointed to DMA registers, but at cmi_attach() time the DMA registers have not been initialized with valid addresses.
Reviewed by: Cameron Grant <gandalf@vilnya.demon.co.uk>
|
74994 |
29-Mar-2001 |
orion |
- Added suspend/resume support.
- Added 4 speaker enable to initialization sequence.
- Removed delays between register pokes which appear to aggravate a problem this card has sampling at 44.1kHz. With any form of delay, skew relative to system clock at 44.1kHz is usually in range 0-25% (now 0-3%). No other rates exhibit this problem.
- Changed structs cmi_* to sc_*.
Approved by: Cameron Grant <gandalf@vilnya.demon.co.uk>
|
74797 |
25-Mar-2001 |
cg |
fix whitespace bogons
|
74763 |
24-Mar-2001 |
cg |
mega-commit.
this introduces a new buffering mechanism which results in dramatic simplification of the channel manager.
as several structures have changed, we take the opportunity to move their definitions into the source files where they are used, make them private and de-typedef them.
the sound drivers are updated to use snd_setup_intr instead of bus_setup_intr, and to comply with the de-typedefed structures.
the ac97, mixer and channel layers have been updated with finegrained locking, as have some drivers- not all though. the rest will follow soon.
|
74753 |
24-Mar-2001 |
cg |
when writing to one of the setup registers, a 32-bit write is required.
this apparently fixes problems initialising certain es1371/es1373/ct5880 revisions.
Confirmed working by: Richard J Kuhns <rjk@grauel.com> PR: i386/25944
|
74571 |
21-Mar-2001 |
orion |
Change type of channel speed variable from "int" to "u_int32_t" to avoid overflow when scaling playback rate. Fixes 44.1k playback from being 48k (I am deaf to this difference...).
|
74565 |
21-Mar-2001 |
orion |
Change ordering of SPDIF register pokes. SPDIF enable needs to be the last poke in sequence. Enabling SPDIF was coercing output rate to 48K, not good for 44.1K tracks.
|
74429 |
19-Mar-2001 |
orion |
pcm driver for S3 Sonicvibes chipset.
Reviewed by: Cameron Grant
|
74239 |
14-Mar-2001 |
tanimura |
- Do not touch the Giant.
Requested by: jhb
- Initialize a mutex prior to locking it.
Spotted by: dcs
|
73772 |
05-Mar-2001 |
cg |
MFS: don't ignore the result of mixer_init()
|
73770 |
05-Mar-2001 |
cg |
only mess with the power state on 5.x
|
73168 |
27-Feb-2001 |
scottl |
Don't re-init the mixer on resume. This keeps the channel volumes from being trashed when you suspend, though this may need to be revisited if we ever get suspend-to-disk implememted.
|
73072 |
26-Feb-2001 |
tanimura |
- Mutexify midi(4). The driver runs under the giant lock by default. If you ever want to run midi(4) out of the giant lock, uncomment MIDI_OUTOFGIANT in midi.h. Confirmed to work for csamidi with WITNESS and INVARIANTS.
- midi_info, midi_open and seq_info are now tailqs, allowing arbitrary numbers of devices to be configured.
- Do not send an active sensing message to reset midi modules.
- Clone /dev/sequencer*. /dev/sequencer0 and /dev/sequencer are generated upon initialization.
|
72661 |
18-Feb-2001 |
tanimura |
Encapselate midi_info, nmidi and nsynth into midi.c.
|
72535 |
16-Feb-2001 |
nyan |
Don't assume bus_space_handle_t == the start address of resource. Use rman_get_start() instead.
|
72455 |
13-Feb-2001 |
cg |
add power management support.
Submitted by: Orion Hodson <O.Hodson@cs.ucl.ac.uk>
|
72017 |
04-Feb-2001 |
cg |
add driver for CS4281 sound chips
Submitted by: Orion Hodson <O.Hodson@cs.ucl.ac.uk>
|
72016 |
04-Feb-2001 |
cg |
add driver for CMedia CMI8338/CMI8738 sound chips
Submitted by: Orion Hodson <O.Hodson@cs.ucl.ac.uk>
|
71901 |
01-Feb-2001 |
scottl |
Driver for the ESS Maestro3 and Allegro sound chips. Note that due to the amount of GPL'd firmware in the driver, it will only be built as a module.
Approved by: cg
|
71506 |
24-Jan-2001 |
cg |
don't grope around inside snd_dbuf structures as they will change in future
|
71505 |
24-Jan-2001 |
cg |
fix certain cards failing to attach
Submitted by: Russell Cattelan <cattelan@thebarn.com>
|
71504 |
24-Jan-2001 |
cg |
fix blocksizing for playback, implement blocksizing for record
|
71503 |
24-Jan-2001 |
cg |
some cosmetics, changed channel setup and revamped irq handling - ignore repeated interrupts
|
70945 |
11-Jan-2001 |
jhb |
Catch up to the name changes in the hwvol API.
|
70681 |
05-Jan-2001 |
jhb |
Call mixer_hwinit() when attaching.
|
70619 |
03-Jan-2001 |
jhb |
- When acknowledging interrupts, write the value 0xff to the interrupt status register rather than 0. Without this, a single hardware volume event triggers an interrupt storm. - Implement hardware volume control for the Maestro chips. This version only handles the case where both channels are adjusted at the same time.
Reviewed by: cg
|
70346 |
25-Dec-2000 |
cg |
move parametric defines and structure definitions from .h to .c
|
70345 |
25-Dec-2000 |
cg |
indent debugging printfs, change a couple of messages slightly
|
70343 |
25-Dec-2000 |
cg |
update to return correct blocksize- these chips have a fixed irq rate, so block size varies only with format and rate.
|
70325 |
24-Dec-2000 |
cg |
fairly substantial rewrite- seperate out play/record code, implement setblocksize, simplify resource allocation
|
70321 |
23-Dec-2000 |
cg |
implement setblocksize properly
|
70298 |
23-Dec-2000 |
cg |
kill a warning
|
70291 |
23-Dec-2000 |
cg |
update code dealing with snd_dbuf objects to do so using a functional interface
modify chn_setblocksize() to pick a default soft-blocksize appropriate to the sample rate and format in use. it will aim for a power of two size small enough to generate block sizes of at most 20ms. it will also set the hard-blocksize taking into account rate/format conversions in use.
update drivers to implement setblocksize correctly: updated, tested: sb16, emu10k1, maestro, solo updated, untested: ad1816, ess, mss, sb8, csa not updated: ds1, es137x, fm801, neomagic, t4dwave, via82c686
i lack hardware to test: ad1816, csa, fm801, neomagic others will be updated/tested in the next few days.
|
70218 |
20-Dec-2000 |
cg |
fix a debugging leftover (min speed=48khz)
|
70134 |
18-Dec-2000 |
cg |
kobjify.
this gives us several benefits, including:
* easier extensibility- new optional methods can be added to ac97/mixer/channel classes without having to fixup every driver.
* forward compatibility for drivers, provided no new mandatory methods are added.
|
68996 |
21-Nov-2000 |
julian |
Bump the buffersize from 0x1000 to 0x4000. 0x1000 gets underflows on my dell 7500 whenever I moved the mouse. (reported as "hwptr went backwards...", with jumpy sound) Sounds great now....
|
68375 |
06-Nov-2000 |
cg |
fix es1370 mixer by adding reinit function to it's mixer function list.
|
67652 |
26-Oct-2000 |
cg |
add reinit functions to mixers unstaticize chn_start() add reset/resetdone functions to channels
|
67164 |
15-Oct-2000 |
phk |
Remove unneeded #include <machine/clock.h>
|
66427 |
28-Sep-2000 |
nsayer |
Add suspend/resume hooks.
Submitted by: sean@stat.duke.edu
|
66012 |
17-Sep-2000 |
cg |
fix warnings
|
65647 |
09-Sep-2000 |
cg |
disable 16bit mono support- this will be handled by software conversion to stereo as hardware mono is very noisy
|
65644 |
09-Sep-2000 |
cg |
detach support remove un-needed setdir functions add bus_teardown_intr calls where necessary destroy our dma tags where necessary destroy ac97 before releasing resources
|
65543 |
06-Sep-2000 |
cg |
ess maestro driver - not enabled by default
Submitted by: Taku YAMAMOTO <taku@cent.saitama-u.ac.jp>
|
65490 |
05-Sep-2000 |
cg |
initial support for multiple ac97 codecs
|
65489 |
05-Sep-2000 |
cg |
add detach support
|
65374 |
02-Sep-2000 |
phk |
Avoid the modules madness I inadvertently introduced by making the cloning infrastructure standard in kern_conf. Modules are now the same with or without devfs support.
If you need to detect if devfs is present, in modules or elsewhere, check the integer variable "devfs_present".
This happily removes an ugly hack from kern/vfs_conf.c.
This forces a rename of the eventhandler and the standard clone helper function.
Include <sys/eventhandler.h> in <sys/conf.h>: it's a helper #include like <sys/queue.h>
Remove all #includes of opt_devfs.h they no longer matter.
|
65340 |
01-Sep-2000 |
cg |
change mixer api slightly change channel interface - kobj implementation coming soonish make pcm_makelinks not panic if modular add pcm_unregister()
these changes support newpcm kld unloading, but this is only implemented by ds1.c
|
65219 |
29-Aug-2000 |
cg |
remove stuff accidentally left in last commit
|
65218 |
29-Aug-2000 |
cg |
suspend/resume for ds1 driver
PR: misc/20891 Submitted by: Ira L. Cooper <ira@mit.edu>
|
65205 |
29-Aug-2000 |
cg |
add driver for forte-media fm801
PR: conf/20698 Submitted by: dimmy the wild <diwil@dataart.com>
|
65171 |
28-Aug-2000 |
dfr |
Fix disordered arguments to bus_space_barrier().
|
64881 |
20-Aug-2000 |
cg |
rework feeder sytem to allow feeders in klds
modify driver capability reporting format to list every audio format seperately- required for above and because we could not previously indicate that mono was unsupported.
there should be no functional impact.
|
64846 |
19-Aug-2000 |
cg |
don't complain about bad irqs if using a shared irq
|
64623 |
13-Aug-2000 |
nsayer |
This patch appears to solve the problems with recording resulting in bogus hwptr warnings. Further comments sought on -hackers were not forthcoming. I can only hope that calling DELAY() like this doesn't cause any heartburn.
|
64461 |
09-Aug-2000 |
cg |
change irq handling slightly
add another non-ac97 256av
|
64447 |
09-Aug-2000 |
nsayer |
A couple of cosmetic fixes, plus a biggie: When checking the DMA position, channel 1's dma position register must be quiescent. So the driver will spl, pause the DMA, delay a bit and hold as still as possible while snapping the picture.
I'm sure there HAS to be a better way to do this, but if there is, it's not documented.
So far as I can tell, this fixes recording, which means the Solo is open for business.
|
64439 |
09-Aug-2000 |
cg |
new driver: via 82c686 chipset audio
not personally tested, but i'm assured it works
Submitted by: David Jones <dej@ox.org> PR: kern/20161
|
64300 |
06-Aug-2000 |
cg |
fix the staticy sound issue
use timer instead of per-channel interrupts
do playback like the linux driver - may fix nmi-with-ecc issue
|
64163 |
02-Aug-2000 |
nsayer |
1. Increase the size of the DMA buffer.
2. Offer half duplex with both playback and record on channel 1 or full duplex with playback always on channel 2 as a compile-time option.
3. 16 bit record output is byte swapped for some dumb reason. Report the _BE AFMTs for recording.
|
64140 |
02-Aug-2000 |
nsayer |
Undo some of my own damage. With this patch, it appears that both recording and playback now work correctly.
|
64133 |
02-Aug-2000 |
nsayer |
Fix channel 1 playback the rest of the way. There are a couple of hiccups, but playback now proceeds mostly normally using both channel 1 and 2.
|
64122 |
02-Aug-2000 |
nsayer |
Get playback on channel 1 closer to working. 8 bit samples work. 16 bit samples have some sort of choppiness, the nature of which is not completely clear, but it clearly has something to do with dma buffer synchronization. But at least channel 1 makes noise now.
|
64119 |
02-Aug-2000 |
nsayer |
Fix channel 1, sort of. recording now generates IRQs and the output appears to be the correct length, but quality of output has not yet been tested. Also, full duplex audio (that is, playback on channel 1) does not yet work. Two constants and I am there!
Obtained from: major hints from ALSA
|
64083 |
01-Aug-2000 |
nsayer |
Reverse the sense of the signed/unsigned formatting bit.
This dramatically cleans up playback quality, at least with mxaudio.
|
64064 |
31-Jul-2000 |
cg |
almost-there ess solo-1 driver, committed so people can tell me why it doesn't generate irqs.
|
64015 |
30-Jul-2000 |
cg |
do the ac97 init delay for all chips and increase it to 500ms
|
62947 |
11-Jul-2000 |
tanimura |
Finally merge newmidi. (I had been busy for my own research activity until the last weekend)
Supported devices:
SB Midi Port (sbc + midi) SB OPL3 (sbc + midi) 16550 UART (midi, needs a trick in your hint) CS461x Midi Port (csa + midi)
OSS-compatible sequencer (seq)
Supported playing software:
playmidi (We definitely need more)
Notes:
/dev/midistat now reports installed midi drivers. /dev/sndstat reports only pcm drivers. We need the new name(pcmstat?).
EMU8000(SB AWE) does not sound yet but does get probed so that the OPL3 synth on an AWE card works.
TODO:
MSS/PCI bridge drivers Midi-tty interface to support general serial devices Modules
|
62483 |
03-Jul-2000 |
cg |
add module metadata. this is a hack, sound drivers will eventually present a bus to which pcm, mixer, etc will attach.
|
62412 |
02-Jul-2000 |
roberto |
This is the patch to make my soundcard, a Creative Ensoniq AudioPCI (an es1371 chip, device id 0x58801274 rev 0x02).
Submitted by: Kenneth Wayne Culver <culverk@wam.umd.edu>
|
61643 |
13-Jun-2000 |
cg |
add alpha-quality recording code and handle pci error interrupts - this may prevent the card generating an nmi on ecc systems. for now a message is printed on every pci error and it seems every time we start playng we get one
|
61476 |
10-Jun-2000 |
peter |
Unused includes: #include "pci.h", #include "pcm.h"
|
61456 |
09-Jun-2000 |
dan |
Increase delay from 10mu to 1000mu when reading play control size. This allows the YMF744 to initialize properly.
|
61347 |
06-Jun-2000 |
cg |
this driver does not support the cs4281 and probably never will, different code will be required
|
61346 |
06-Jun-2000 |
cg |
support recording
|
61146 |
01-Jun-2000 |
peter |
With this evil hack the DS1 driver works on our Intel desktop motherboards that use YMF740's. It has a strange subvendor and subdevice ID and requires a disturbingly long delay after the ac97 codec init. Cameron hasn't had this driver tested on another 740 yet, so we don't know if this is a quirk of all 740's, or if its just something about the codec that Intel used.
|
61142 |
01-Jun-2000 |
cg |
if we get bad values for playctrlsize, the firmware may not have initialised yet so retry.
|
61133 |
31-May-2000 |
cg |
add a bit more diagnostic info for the bus_dmamap_load failure case
|
61108 |
31-May-2000 |
cg |
yamaha ds1/ds1e pci sound driver - work in progress, mixer and playback only.
tested on ymf724f only.
conf/files entry is commented out, enable it manually to test this code and let me know results.
|
61031 |
28-May-2000 |
peter |
Use the correct name for a mapping register, not the old FreeBSD 2.x compatability name.
|
60958 |
26-May-2000 |
cg |
handle emulated dma reads
don't try to get sample size from snd_dbuf
|
60938 |
26-May-2000 |
jake |
Back out the previous change to the queue(3) interface. It was not discussed and should probably not happen.
Requested by: msmith and others
|
60833 |
23-May-2000 |
jake |
Change the way that the queue(3) structures are declared; don't assume that the type argument to *_HEAD and *_ENTRY is a struct.
Suggested by: phk Reviewed by: phk Approved by: mdodd
|
60732 |
20-May-2000 |
nyan |
Oops, rman_get_bushandle() should be converted to rman_get_virtual() if resources are mapped to memory.
|
60711 |
19-May-2000 |
nyan |
Supported the mss on PC-98 and Sound Blaster 98.
Submitted by: "T.Yamaoka" <taka@windows.squares.net>
|
59658 |
26-Apr-2000 |
cg |
repo-copied to sys/gnu/dev/sound/pci/emu10k1.h
|
59657 |
26-Apr-2000 |
cg |
update for new location of emu10k1.h under sys/gnu
|
59375 |
18-Apr-2000 |
cg |
try the fix from creative bugzilla for nmi problem
Obtained from: creative labs bugzilla
|
59323 |
17-Apr-2000 |
cg |
make drivers start at beginning of buffer when triggered - improves mmap.
not all tested.
not sure about aureal.c or csapcm.c
|
59023 |
05-Apr-2000 |
cg |
decrease buffer size to 4k use a seperate channel for generating irqs so we get a buffer-half-empty interrupt, prevents repeating on underflow
|
59019 |
05-Apr-2000 |
cg |
move buffer size definition to .c file for consistency, and reduce it to 4k
|
58994 |
04-Apr-2000 |
cg |
make the click on starting output go away
|
58958 |
03-Apr-2000 |
cg |
fix missing defines and prototype for emu_vdump()
|
58919 |
02-Apr-2000 |
cg |
unfinished sblive driver, playback/mixer only for now - not enabled in conf/files
i don't seem to be clearing the cache right resulting in a short initial burst of noise, despite doing the same as creative and alsa. i'm committing now so more eyes can pore over the code.
|
58905 |
01-Apr-2000 |
cg |
fail in attach if we seem to have no ac97 codec
|
58384 |
20-Mar-2000 |
cg |
update the ac97 layer: * add a callback for initialising the mixer interface * support ac97 2.1 variable rate audio feature
fix ac97-using drivers for the above
add suspend/resume support for neomagic
|
56876 |
29-Jan-2000 |
peter |
Tidy up stray or bogus #if NFOO > 0 and #include "foo.h".
|
56427 |
23-Jan-2000 |
tanimura |
The pointer of the serial FIFO in the DSP seems to make an error upon starting/stopping the DSP. Correct the pointer in addition to clearing the FIFO.
|
56249 |
18-Jan-2000 |
cg |
update ac97 layer to use device_printf when printing messages
|
56154 |
17-Jan-2000 |
peter |
Some SB128's (ES1371) have a different PCI vendor id. Vendor == 0x3274 instead of the normal 0x1274.
Tested by: des
|
56108 |
16-Jan-2000 |
cg |
oops, best play format was set to unsigned 16 bit instead of signed 16 bit stereo. remenant from testing.
|
55878 |
13-Jan-2000 |
cg |
be less verbose
|
55802 |
11-Jan-2000 |
cg |
exclude chips with subdevices specified on a list of non-ac97 chips
|
55713 |
10-Jan-2000 |
cg |
don't complain about bad intrs unless we get 1000 of them consecutively whilst we are playing or recording. since we should irq ~20 times/sec when active, this should never trigger. in theory. if it never does trigger, the check will be removed.
|
55700 |
10-Jan-2000 |
cg |
return the sample rate set instead of 0. oops. mpg123 should now work.
|
55639 |
09-Jan-2000 |
cg |
driver for neomagic 256av and 256zx
Obtained from: anonymous author, heavily derived
|
55426 |
05-Jan-2000 |
cg |
set up the pci regs properly for busmastering. this makes the card work on my smp box.
|
55321 |
03-Jan-2000 |
tanimura |
Do not start/stop DMA transfer if it is already started/stopped.
|
55320 |
03-Jan-2000 |
tanimura |
- Handle an interrupt for csa primarily in the bridge driver, then invoke the children. As the value of HISR can be read only once, pass the HISR to the children via struct csa_bridgeinfo, stored in the ivars of them. - Clear the contents of serial FIFO upon stopping the DMA for playing. This may eliminate buzz on playing. Experimental.
|
55288 |
01-Jan-2000 |
tanimura |
Correct the delay durations as in the sample sources provided by Crystal Semiconductor.
|
55209 |
29-Dec-1999 |
cg |
make es1373 chips with ac97 2.1 work on troublesome motherboards
Submitted by: Russell Cattelan <cattelan@thebarn.com>
|
55204 |
29-Dec-1999 |
cg |
- latest 2ndbuffer patch - make chn_setdir work for rec on isa cards - note: es1371 does not irq in smp
Submitted by: tanimura
|
54831 |
19-Dec-1999 |
cg |
general tidyup
|
54459 |
12-Dec-1999 |
cg |
increase buffer size, reduce number of channels allocated since we only use 1 at the moment
|
54377 |
10-Dec-1999 |
tanimura |
Make the origins clear.
Pointed out by: Tatoku Ogaito <tacha@trap.fukui-med.ac.jp>
|
54212 |
06-Dec-1999 |
peter |
Update for pnp adjustments regarding NPNP.
Also, optimize out a mess of #if's that were duplicating work already done by config(8). For example, if a file is marked as "dev/sound/pci/foo.c optional pcm pci" then it's only added if pcm *and* pci are present, so #if NPCM > 0 and #if NPCI > 0 are totally redundant. A bit more work is still needed.
Discussed with: cg (a few weeks ago)
|
54073 |
03-Dec-1999 |
mdodd |
Remove the 'ivars' arguement to device_add_child() and device_add_child_ordered(). 'ivars' may now be set using the device_set_ivars() function.
This makes it easier for us to change how arbitrary data structures are associated with a device_t. Eventually we won't be modifying device_t to add additional pointers for ivars, softc data etc.
Despite my best efforts I've probably forgotten something so let me know if this breaks anything. I've been running with this change for months and its been quite involved actually isolating all the changes from the rest of the local changes in my tree.
Reviewed by: peter, dfr
|
53573 |
22-Nov-1999 |
tanimura |
Comment out the newmidi stuff.
|
53553 |
22-Nov-1999 |
tanimura |
- Introduce the bridge drivers for Sound Blaser, GUS and Crystal Semiconductor CS461x/428x. - Add support for GUS and CS461x/428x pcm.
Bridges reviewed by: dfr, cg GUS non-PnP support submitted by: Ville-Pertti Keinonen <will@iki.fi> GUS PnP support tested by: Michiru Saito <mich@mtci.ne.jp>
|
53465 |
20-Nov-1999 |
cg |
repo-copied to make way for newmidi, this commit updates include paths
|
53413 |
19-Nov-1999 |
roger |
Rename es1370.c to es137x.c and merge in the patches to support ES1371 and ES1373 PCI Audio Sound Chips. The 1371 and 1373 can be found on newer CreativeLabs/Ensoniq sound cards such as the SoundBlaster PCI 16,64 and 128.
Submitted by: Russell Cattelan <cattelan@thebarn.com> Obtained from: Parts obtained from linux, but rewritten by Russell
|
52049 |
09-Oct-1999 |
imp |
Make interrupts shareable with RF_SHAREABLE. This is untested, but it compiles and should just work.
|
52046 |
09-Oct-1999 |
imp |
Allow interrupt sharing by allocating the interrupt RF_SHAREABLE.
This allows newpcm to grok my es1370 based card, which shared interrupts with the ethernet card.
|
50733 |
01-Sep-1999 |
peter |
$Id$ -> $FreeBSD$
|
50724 |
01-Sep-1999 |
cg |
say hello to newpcm. it is not yet enabled, requiring new pnp code from dfr to compile successfully. further details will be provided in the commit enabling newpcm.
|