#
2e334adf |
| 18-Apr-2007 |
Ariff Abdullah <ariff@FreeBSD.org> |
sndbuf_alloc() now accept dmaflags argument which will be forwarded to internal bus_dmammem_alloc() for greater flexibility on setting up DMA / page attributes.
|
#
703c934a |
| 21-Mar-2007 |
Ariff Abdullah <ariff@FreeBSD.org> |
Memory leak killing spree, mostly bus_dma(9) related.
|
#
4582b3a1 |
| 15-Mar-2007 |
Ariff Abdullah <ariff@FreeBSD.org> |
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, i
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.
show more ...
|
#
0b989078 |
| 23-Feb-2007 |
Alexander Leidinger <netchild@FreeBSD.org> |
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
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
show more ...
|
Revision tags: release/6.2.0_cvs, release/6.2.0 |
|
#
dc9e52cf |
| 17-Dec-2006 |
Ariff Abdullah <ariff@FreeBSD.org> |
Add support for Nvidia Nforce MCP04 AC97 controller.
PR: kern/106829 Submitted by: Frédéric Petit <fredantispam@free.fr>
|
#
fbf953b5 |
| 01-Dec-2006 |
Ariff Abdullah <ariff@FreeBSD.org> |
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
|
#
a580b31a |
| 26-Nov-2006 |
Ariff Abdullah <ariff@FreeBSD.org> |
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
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.
show more ...
|
#
03923cd3 |
| 15-Aug-2006 |
Pyun YongHyeon <yongari@FreeBSD.org> |
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: ari
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
show more ...
|
#
851a904a |
| 18-Jun-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
- 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
- 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.
show more ...
|
Revision tags: release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0 |
|
#
14055d2a |
| 01-May-2006 |
Ariff Abdullah <ariff@FreeBSD.org> |
Add inverted amplifier sense quirks for Sony VAIO VGN B1VP/B1XP.
Reported by: Stan Behrens <s.behrens at kon.de>
|
#
facebb04 |
| 03-Apr-2006 |
Ariff Abdullah <ariff@FreeBSD.org> |
Add device ID for nForce 410 MCP audio controller.
PR: kern/95257 Submitted by: cenix <cenixxx at gmail dot com> MFC after: 3 days
|
#
6d52c3bf |
| 22-Mar-2006 |
Ariff Abdullah <ariff@FreeBSD.org> |
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 cau
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
show more ...
|
#
ead3cc43 |
| 07-Mar-2006 |
Ariff Abdullah <ariff@FreeBSD.org> |
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/
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
show more ...
|
#
428feeb3 |
| 05-Mar-2006 |
Ariff Abdullah <ariff@FreeBSD.org> |
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
|
#
34733eb5 |
| 12-Feb-2006 |
Ariff Abdullah <ariff@FreeBSD.org> |
Fix possible DMA leak and locking violation especially during suspend <-> resume and module load <-> unload.
PR: kern/92764 MFC after: 3 days
|
#
f432c562 |
| 15-Jan-2006 |
Ariff Abdullah <ariff@FreeBSD.org> |
Add another inverted EAPD quirk for Gateway 7326GZ.
Tested by: Jeff Cross <jeff.cross at averageadmins.com> MFC after: 3 days
|
#
c02b454d |
| 10-Jan-2006 |
Ariff Abdullah <ariff@FreeBSD.org> |
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
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
show more ...
|
#
be0fee94 |
| 09-Jan-2006 |
Ariff Abdullah <ariff@FreeBSD.org> |
Turn on inverted external amplifier sense flags for ICH4/82801DB.
PR: kern/66422, kern/75687, kern/84471 MFC after: 2 days
|
#
d0ddbe88 |
| 21-Nov-2005 |
Pyun YongHyeon <yongari@FreeBSD.org> |
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 g
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
show more ...
|
#
6a728ce5 |
| 14-Nov-2005 |
Ariff Abdullah <ariff@FreeBSD.org> |
- 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. Submi
- 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)
show more ...
|
Revision tags: release/6.0.0_cvs, release/6.0.0 |
|
#
dcbde453 |
| 05-Oct-2005 |
Alexander Leidinger <netchild@FreeBSD.org> |
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" a
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
show more ...
|
#
7b7c2c20 |
| 30-May-2005 |
Seigo Tanimura <tanimura@FreeBSD.org> |
s/-1000/BUS_PROBE_LOW_PRIORITY/
Pointed out by: nyan
|
#
db051dad |
| 28-May-2005 |
Seigo Tanimura <tanimura@FreeBSD.org> |
Add 6300ESB, which should be treated as ICH4.
PR: kern/81573 Submitted by: OOTOMO Hiroyuki <ootomo@za.wakwak.com> MFC after: 1 week
|
Revision tags: release/5.4.0_cvs, release/5.4.0 |
|
#
ddc5ac8b |
| 20-Mar-2005 |
Murray Stokely <murray@FreeBSD.org> |
Return BUS_PROBE_DEFAULT in preference to 0.
Pointed out by: Nate Lawson <nate@root.org>
|
#
a52010a0 |
| 19-Mar-2005 |
Murray Stokely <murray@FreeBSD.org> |
Add device id for nForce 4 audio controller.
PR: kern/78482 Submitted by: Markus Niemistö <markus.niemisto@iki.fi> MFC after: 1 week
|