[Development report #23] Audio Stack Improvements
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 05 Nov 2024 16:09:08 UTC
MFC’d mididump(1) to stable/14, with some subsequent patches squashed all into the main commit: https://cgit.freebsd.org/src/commit/?h=stable/14&id=7224e9f2d4af666550d93cf565db22b1f577f593 sound: Call DSP_REGISTERED before PCM_DETACHING https://cgit.freebsd.org/src/commit/?id=9693241188aa6882166b091d9006f9d0affeda7e sound: Use DSP_REGISTERED in dsp_clone(): https://cgit.freebsd.org/src/commit/?id=bb5e3ac1a7b71480a50fc0c813c916a3d058336c sound: Change PCMDIR_* numbering: https://cgit.freebsd.org/src/commit/?id=a4111e9dc7225618fa8d2af64d866cf0b0aebd56 sound: Untangle dsp_cdevs[] and dsp_unit2name() confusion: https://cgit.freebsd.org/src/commit/?id=802c78f5194e4524faa30ea57adbf00f28fc72c6 sound: Remove redundant refcount checks in vchan_setnew(): https://cgit.freebsd.org/src/commit/?id=43c0b593c2c3b2c07009c031a0e7e8190a45b31a sound: Retire channel refcount: https://cgit.freebsd.org/src/commit/?id=9a6cf27583ffc13bb0a7c5be0704ba0d2f3b834d sound: Retire pcm_veto_load: https://cgit.freebsd.org/src/commit/?id=98cd27c8e13418fa517a02844641f390f9389987 sound: Move sysctl and /dev/dspX creation to pcm_setstatus(): https://cgit.freebsd.org/src/commit/?id=66f3eb14e955d3917f817ff346d33d839679c2cf sound: Move sndstat_register() call to pcm_setstatus(): https://cgit.freebsd.org/src/commit/?id=181a31d8349088cbcead8dcbff8d62ee8af6c913 sound: Remove early SD_F_SIMPLEX and SD_F_AUTOVCHAN assignments: https://cgit.freebsd.org/src/commit/?id=3a7d40c692622cc614a3839491c345d945f474fe sound: Make device registration more intuitive: https://cgit.freebsd.org/src/commit/?id=516a9c0212b003e1da0c6f4476dbe4f3f431606c sound: Remove unused pcm_channel->data fields: https://cgit.freebsd.org/src/commit/?id=829951f857b73faaf28cbfcf09e861668692d8a1 Tested and reviewed Mark’s fixes to PR 282268: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282268 https://cgit.freebsd.org/src/commit/?id=b5149b265346c55994c7ebaab2a6a6fd1bd6fe5e https://cgit.freebsd.org/src/commit/?id=9b2f2fbfcbc51f77e96a41e62b1c06a8ccd4ca15 Also reviewed: https://cgit.freebsd.org/src/commit/?id=f0bc751d6fb4f7fe46fdaa1486b0ae20b04bb544 https://cgit.freebsd.org/src/commit/?id=c22be0b181e954a4cc00ed4f5c7df974f3061c3c https://reviews.freebsd.org/D47330 https://reviews.freebsd.org/D47412 https://reviews.freebsd.org/D47399 0mp@’s new patches. Bug triaging. Watched Liam Girdwood’s from Intel presentation on Sound Open Firmware: https://www.youtube.com/watch?v=vwDoEumA1Mo Once I have a better grasp on SOF, I am considering emailing him and a few other people, to provide some guidance on how to port it to FreeBSD. There is quite a lot of code and different components involved. Fixed most hot-unload panics. Currently have 3 patches written and doing extensive testing to catch more (if any) and submit the patches for review. Almost all the bugs boiled down to races, either in sound(4), or snd_dummy(4) which is my main testing driver. Worked on the chn_sleep() panic and exchanged some emails with Mark, Peter Holm, and Doug Moore. Will submit a patch ASAP. Bumped into some midi/ code and confirmed my belief that it’s a …mess, and quite antiquated. Spent some time working on my already existing plans to improve it. Lurked the forum to find and solve more bugs and problems. This work is sponsored by the FreeBSD Foundation. Christos