Page MenuHomeFreeBSD

christos (Christos Margiolis)
User

Projects

User Details

User Since
Jul 2 2021, 4:03 PM (254 w, 4 d)

Recent Activity

Today

christos committed rG65341ec31729: snd_hda: Reassign duplicate HDMI/DP pin sequences instead of disabling (authored by guest-seuros).
snd_hda: Reassign duplicate HDMI/DP pin sequences instead of disabling
Tue, May 19, 12:27 PM
christos closed D55473: snd_hda: Reassign duplicate HDMI/DP pin sequences instead of disabling.
Tue, May 19, 12:26 PM
christos retitled D55473: snd_hda: Reassign duplicate HDMI/DP pin sequences instead of disabling from hdaa: reassign duplicate HDMI/DP pin sequences instead of disabling to snd_hda: Reassign duplicate HDMI/DP pin sequences instead of disabling.
Tue, May 19, 12:25 PM

Yesterday

christos added a comment to D55473: snd_hda: Reassign duplicate HDMI/DP pin sequences instead of disabling.

Can you land it please?

Mon, May 18, 2:00 PM
christos accepted D55473: snd_hda: Reassign duplicate HDMI/DP pin sequences instead of disabling.

I don't have the hardware to test this on, but if it works for you, LGTM. Do you have a commit bit or should I commit it?

Mon, May 18, 1:48 PM

Fri, May 15

christos committed rG9354e204f5ac: sound: Force-disable hw.snd.compat_linux_mmap by default (authored by christos).
sound: Force-disable hw.snd.compat_linux_mmap by default
Fri, May 15, 3:09 PM
christos committed rGb9c10eeb380b: sound: Improve hw.snd.compat_linux_mmap (authored by christos).
sound: Improve hw.snd.compat_linux_mmap
Fri, May 15, 3:09 PM
christos added a comment to D57009: dsp: Make witness happy.

"sound: Fix lock order reversal in dsp_poll()"

Fri, May 15, 2:18 PM
christos accepted D57009: dsp: Make witness happy.

LGTM. Please change the commit title from "dsp: Make witness happy" to "sound: Fix lock order reversal in chn_trigger()".

Fri, May 15, 2:14 PM
christos added a comment to D57009: dsp: Make witness happy.

I understand that the change here locks the channels we actually want, instead of both of them. However, the effect is the same; if priv has both channels allocated, then your code will also lock both of them, just not at the same time. But I don't understand why doing this fixes the issue. Could you elaborate further?

I know it is a little bit hard to understand as I also spend hours to read witness output. Let me explain it with more details:

  1. when calling chn_poll(rdch, e, td), we hold both the rdch and wrch locks at the same time.
  2. In chn_trigger, we are expected to have lock order "dsp dev" -> "channel". chn_trigger switch the lock order by using chn_unlock -> pcm_lock -> chn_lock.

However, when chn_trigger(rdch) (called by chn_poll(rdch) try to switch the lock order. Witness detects another lock order reverse (wrch) that is unrelated to the call stack.
It is because wrch is also a channel lock and also called by chn_trigger previous - that is, it requires lock order "dsp dev" -> channel lock but we called pcm_lock without unlock wrch channel (the channel is wrch but we are handling chn_trigger(rdch)).

It can be stably reproduced on my laptop by using the following sequence:

  1. Start pipewire
  2. Start pipewire-pulse
  3. Start pavucontrol
Fri, May 15, 1:55 PM
christos added a comment to D57009: dsp: Make witness happy.

I understand that the change here locks the channels we actually want, instead of both of them. However, the effect is the same; if priv has both channels allocated, then your code will also lock both of them, just not at the same time. But I don't understand why doing this fixes the issue. Could you elaborate further?

Fri, May 15, 1:29 PM
christos added a comment to D57009: dsp: Make witness happy.

I suppose you are referring to a seemingly "harmless" LOR coming from chn_trigger(). I've been aware of this for a while already. That being said, I don't see how this change fixes it. You are essentially doing the exact same thing.

Fri, May 15, 1:26 PM
christos added inline comments to D55473: snd_hda: Reassign duplicate HDMI/DP pin sequences instead of disabling.
Fri, May 15, 1:06 PM
christos added a comment to D57009: dsp: Make witness happy.

Also in the commit message it should be "sound", not "dsp".

Fri, May 15, 10:35 AM
christos added a comment to D57009: dsp: Make witness happy.

Please explain in a commit message what this change does. What does WITNESS complain about? Why are you changing the order of dsp_lock_chans()? And why did you remove the dsp_lock_chans() call in dsp_poll()?

Fri, May 15, 10:35 AM

Thu, May 14

christos accepted D56987: kinst/arm64: Fix return values from kinst_invop().
Thu, May 14, 3:56 PM
christos added inline comments to D56987: kinst/arm64: Fix return values from kinst_invop().
Thu, May 14, 2:47 PM
christos accepted D56988: kinst/arm64: Handle an additional PC-relative instruction.

Are there any updates we should do in D40874?

Thu, May 14, 2:34 PM
christos added inline comments to D56987: kinst/arm64: Fix return values from kinst_invop().
Thu, May 14, 2:25 PM

Thu, May 7

christos committed rG5aedbafd7a81: sound: Retire unused snddev_info->bufsz (authored by christos).
sound: Retire unused snddev_info->bufsz
Thu, May 7, 9:19 AM
christos committed rGed919bf54acf: snd_uaudio: Support Roland UA-33 (authored by christos).
snd_uaudio: Support Roland UA-33
Thu, May 7, 9:19 AM

Mon, May 4

christos committed rG1b149c2a9735: mixer(8): Deprecate some unintuitive control values (authored by christos).
mixer(8): Deprecate some unintuitive control values
Mon, May 4, 12:11 PM
christos committed R11:ad4b54498a37: sysutils/mixer: Retire port (authored by christos).
sysutils/mixer: Retire port
Mon, May 4, 12:08 PM

Thu, Apr 30

christos committed rG5e9f2a6aefab: sound: Retire unused snddev_info->bufsz (authored by christos).
sound: Retire unused snddev_info->bufsz
Thu, Apr 30, 6:47 PM
christos committed rG549e74061987: snd_uaudio: Support Roland UA-33 (authored by christos).
snd_uaudio: Support Roland UA-33
Thu, Apr 30, 3:19 PM
christos committed rG7793adfe72d3: sound: Do not check for NULL before deleting ac97_info->methods (authored by christos).
sound: Do not check for NULL before deleting ac97_info->methods
Thu, Apr 30, 3:00 PM

Mon, Apr 27

christos committed rG54922e4ec890: mixer(8) tests: Remove tests for deprecated control values (authored by christos).
mixer(8) tests: Remove tests for deprecated control values
Mon, Apr 27, 11:01 PM
christos committed rGa28bb575c89c: mixer(8): Deprecate some unintuitive control values (authored by christos).
mixer(8): Deprecate some unintuitive control values
Mon, Apr 27, 4:25 PM

Sun, Apr 26

christos committed rG6e3085491ea3: service(8): Replace indentation in usage() (authored by christos).
service(8): Replace indentation in usage()
Sun, Apr 26, 4:43 PM

Sat, Apr 25

christos committed rGcd1c4fb43ed1: sound: Remove some forward declarations from sound.h and uaudio.h (authored by christos).
sound: Remove some forward declarations from sound.h and uaudio.h
Sat, Apr 25, 9:52 PM
christos committed rGf9d4517b53bf: mixer(3): Rename _mixer_readvol() to mixer_readvol() (authored by christos).
mixer(3): Rename _mixer_readvol() to mixer_readvol()
Sat, Apr 25, 9:52 PM

Fri, Apr 24

christos committed rG202d9ba2817b: virtual_oss.8: Remove CPU performance example (authored by christos).
virtual_oss.8: Remove CPU performance example
Fri, Apr 24, 2:13 PM

Thu, Apr 23

christos committed rGaba2523261c1: sound: Do not check for NULL before deleting ac97_info->methods (authored by christos).
sound: Do not check for NULL before deleting ac97_info->methods
Thu, Apr 23, 1:01 PM
christos committed R11:ca80980da8b2: audio/freebsd-13-mixer: Retire port (authored by christos).
audio/freebsd-13-mixer: Retire port
Thu, Apr 23, 12:57 PM
christos committed rGc93b81369b8a: rc.conf.5: Document virtual_oss(8) (authored by christos).
rc.conf.5: Document virtual_oss(8)
Thu, Apr 23, 8:41 AM
christos committed rGf89909e462e8: virtual_oss: Introduce virtual_oss_default_control_device rc variable (authored by christos).
virtual_oss: Introduce virtual_oss_default_control_device rc variable
Thu, Apr 23, 8:41 AM

Tue, Apr 21

christos committed rGc1df496f940a: sound examples: Add mmap example (authored by meka_tilda.center).
sound examples: Add mmap example
Tue, Apr 21, 9:38 AM

Mon, Apr 20

christos added a comment to D56504: sound: add hw.snd.default.*.

Note that this won't have any effect after a device driver has initialized. snd_mixerdefaults is only used in mixer_init(), so any change with these sysctls will require a driver re-load for the new defaults to take effect. I suppose this is not really an issue if these defaults are set and "forgotten" in a config file, though.

Mon, Apr 20, 11:25 AM
christos added a comment to D53910: website: complete refresh of beastie theme.

Many translations (e.g., German, Danish, Polish from a quick look) are actually in English.

Mon, Apr 20, 10:24 AM

Apr 19 2026

christos committed rG554f5aa52626: service(8): Replace indentation in usage() (authored by christos).
service(8): Replace indentation in usage()
Apr 19 2026, 10:43 AM

Apr 18 2026

christos committed rGc39237a4fd2b: mixer(3): Rename _mixer_readvol() to mixer_readvol() (authored by christos).
mixer(3): Rename _mixer_readvol() to mixer_readvol()
Apr 18 2026, 11:51 AM
christos committed rGec077230fd94: Revert "sound: Remove some forward declarations from sound.h and uaudio.h" (authored by christos).
Revert "sound: Remove some forward declarations from sound.h and uaudio.h"
Apr 18 2026, 11:31 AM
christos added a reverting change for rG602249f033d1: sound: Remove some forward declarations from sound.h and uaudio.h: rGec077230fd94: Revert "sound: Remove some forward declarations from sound.h and uaudio.h".
Apr 18 2026, 11:31 AM
christos committed rG602249f033d1: sound: Remove some forward declarations from sound.h and uaudio.h (authored by christos).
sound: Remove some forward declarations from sound.h and uaudio.h
Apr 18 2026, 10:51 AM

Apr 17 2026

christos committed rG788d71e73f1b: virtual_oss.8: Remove CPU performance example (authored by christos).
virtual_oss.8: Remove CPU performance example
Apr 17 2026, 8:49 PM

Apr 16 2026

christos committed rGa3094f522fec: rc.conf.5: Document virtual_oss(8) (authored by christos).
rc.conf.5: Document virtual_oss(8)
Apr 16 2026, 2:52 PM
christos committed rG70e27ecba518: virtual_oss: Introduce virtual_oss_default_control_device rc variable (authored by christos).
virtual_oss: Introduce virtual_oss_default_control_device rc variable
Apr 16 2026, 2:51 PM
christos closed D56225: rc.conf.5: Document virtual_oss(8).
Apr 16 2026, 2:51 PM
christos closed D55670: virtual_oss: Introduce virtual_oss_default_control_device rc variable.
Apr 16 2026, 2:51 PM

Apr 15 2026

christos added a comment to D49002: snd_hda(4): Add quirks for Lenovo ThinkBooks and ASUS TUFs.

Bump.

Apr 15 2026, 5:22 PM
christos added a comment to D52325: fwget: rewrite in lua, attempt #1.
In D52325#1291455, @bz wrote:

The patch does not apply cleanly on main:

Yes, it's 7 months old and didn't get much attention.
As said in email, I should rewrite some things and then really push to get it in.

Apr 15 2026, 5:06 PM
christos added a comment to D52325: fwget: rewrite in lua, attempt #1.

The patch does not apply cleanly on main:

$ git arc patch D52325
Checking patch usr.sbin/fwget/usb/usb_wireless_ralink...
Checking patch usr.sbin/fwget/usb/usb_wireles_header...
Checking patch usr.sbin/fwget/usb/usb_ralink...
Checking patch usr.sbin/fwget/usb/usb_bluetooth_realtek...
Checking patch usr.sbin/fwget/usb/usb_bluetooth_qca...
Checking patch usr.sbin/fwget/usb/usb_bluetooth_intel...
Checking patch usr.sbin/fwget/usb/usb_bluetooth_header...
Checking patch usr.sbin/fwget/usb/usb_bluetooth_brcm...
Checking patch usr.sbin/fwget/usb/usb...
Checking patch usr.sbin/fwget/usb/Makefile...
Checking patch usr.sbin/fwget/pci/pci_wireless_realtek...
Checking patch usr.sbin/fwget/pci/pci_wireless_qca...
Checking patch usr.sbin/fwget/pci/pci_wireless_mediatek...
Checking patch usr.sbin/fwget/pci/pci_wireless_intel...
Checking patch usr.sbin/fwget/pci/pci_wireless_header...
Checking patch usr.sbin/fwget/pci/pci_video_intel...
Checking patch usr.sbin/fwget/pci/pci_video_header...
Checking patch usr.sbin/fwget/pci/pci_video_amd...
error: while searching for:
#-
# SPDX-License-Identifier: BSD-2-Clause
#
# Copyright 2023 Beckhoff Automation GmbH & Co. KG
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted providing that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
Apr 15 2026, 4:55 PM
christos updated the diff for D56225: rc.conf.5: Document virtual_oss(8).

Fix.

Apr 15 2026, 3:13 PM
christos updated the diff for D56225: rc.conf.5: Document virtual_oss(8).

Address Mark's comments.

Apr 15 2026, 3:12 PM
christos added a comment to D54360: sound examples: Add MIDI kqueue example.

Given it works with umidi, should we close this? I think not as it works for me.

Apr 15 2026, 1:22 PM
christos added a comment to D54359: sound: Add kqueue support to MIDI.

Unification first, as this code is mostly "copy" of the umidi code. I think after unification one place will have the kqueue support and that will probably be copied over from umidi. That being said, do you want me to close this one?

Apr 15 2026, 1:12 PM
christos added a comment to D54359: sound: Add kqueue support to MIDI.

So, is it smart to work on this before umidi/midi unification? I can work on that, I just think it would be better if unification happened first.

Apr 15 2026, 1:10 PM
christos added a comment to D54360: sound examples: Add MIDI kqueue example.

I understood that you need to unify umidi and midi, that's why I left this review as is. Please tell me if I got it wrong.

Apr 15 2026, 1:07 PM
christos added a comment to D54359: sound: Add kqueue support to MIDI.

Let me know if you want me to take this over. No problem for me. :-)

Apr 15 2026, 1:00 PM
christos added a comment to D54360: sound examples: Add MIDI kqueue example.
Apr 15 2026, 12:59 PM

Apr 14 2026

christos added inline comments to D56225: rc.conf.5: Document virtual_oss(8).
Apr 14 2026, 11:00 AM
christos committed rG3524d4ebbe1f: sound examples: Add mmap example (authored by meka_tilda.center).
sound examples: Add mmap example
Apr 14 2026, 11:00 AM
christos closed D53749: sound examples: Add mmap example.
Apr 14 2026, 10:59 AM
christos accepted D53749: sound examples: Add mmap example.
Apr 14 2026, 10:55 AM
christos committed rGf56d0868bac3: sound: Make chn_reset() control flow clearer (authored by christos).
sound: Make chn_reset() control flow clearer
Apr 14 2026, 10:32 AM
christos committed rG7bccc0df4bb0: sound: De-macro array definitions in chn_calclatency() (authored by christos).
sound: De-macro array definitions in chn_calclatency()
Apr 14 2026, 10:32 AM
christos committed rG6e5c351e785d: sound: Simplify parts of chn_notify() (authored by christos).
sound: Simplify parts of chn_notify()
Apr 14 2026, 10:32 AM
christos committed rG573fd4252cc0: sound: Retire unused CHN_N_* defines (authored by christos).
sound: Retire unused CHN_N_* defines
Apr 14 2026, 10:32 AM
christos committed rG8b87f38f1531: sound: Mark some snd_fmt* functions as static (authored by christos).
sound: Mark some snd_fmt* functions as static
Apr 14 2026, 10:32 AM

Apr 12 2026

christos closed D56292: Status/2026Q1/audio.adoc: Add report.
Apr 12 2026, 4:41 PM
christos committed R9:eae9a0a13893: Status/2026Q1/audio.adoc: Add report (authored by christos).
Status/2026Q1/audio.adoc: Add report
Apr 12 2026, 4:41 PM

Apr 7 2026

christos committed rG8007a78bfe1f: sound: Make chn_reset() control flow clearer (authored by christos).
sound: Make chn_reset() control flow clearer
Apr 7 2026, 3:45 PM
christos committed rG66a82f5fa471: sound: De-macro array definitions in chn_calclatency() (authored by christos).
sound: De-macro array definitions in chn_calclatency()
Apr 7 2026, 3:45 PM
christos closed D56264: sound: Make chn_reset() control flow clearer.
Apr 7 2026, 3:45 PM
christos committed rG8b18fc456bb1: sound: Simplify parts of chn_notify() (authored by christos).
sound: Simplify parts of chn_notify()
Apr 7 2026, 3:45 PM
christos closed D56263: sound: De-macro array definitions in chn_calclatency().
Apr 7 2026, 3:45 PM
christos closed D56240: sound: Simplify parts of chn_notify().
Apr 7 2026, 3:45 PM
christos committed rG2d84c8a3d3d6: sound: Retire unused CHN_N_* defines (authored by christos).
sound: Retire unused CHN_N_* defines
Apr 7 2026, 3:45 PM
christos committed rGf369d4148b93: sound: Mark some snd_fmt* functions as static (authored by christos).
sound: Mark some snd_fmt* functions as static
Apr 7 2026, 3:45 PM
christos closed D56238: sound: Mark some snd_fmt* functions as static.
Apr 7 2026, 3:45 PM
christos closed D56239: sound: Retire unused CHN_N_* defines.
Apr 7 2026, 3:45 PM
christos retitled D56240: sound: Simplify parts of chn_notify() from sound: Simplify nrun increment in chn_notify() to sound: Simplify parts of chn_notify().
Apr 7 2026, 3:43 PM
christos requested review of D56292: Status/2026Q1/audio.adoc: Add report.
Apr 7 2026, 2:34 PM

Apr 6 2026

christos committed rG5c36d1b5c99a: snd_uaudio: Retire sndcard_func usage (authored by christos).
snd_uaudio: Retire sndcard_func usage
Apr 6 2026, 9:19 AM

Apr 5 2026

christos requested review of D56264: sound: Make chn_reset() control flow clearer.
Apr 5 2026, 8:30 PM
christos requested review of D56263: sound: De-macro array definitions in chn_calclatency().
Apr 5 2026, 8:11 PM
christos added inline comments to D53749: sound examples: Add mmap example.
Apr 5 2026, 7:23 PM

Apr 3 2026

christos retitled D56240: sound: Simplify parts of chn_notify() from sound: Simplify nrun incremenent in chn_notify() to sound: Simplify nrun increment in chn_notify().
Apr 3 2026, 3:46 PM
christos requested review of D56240: sound: Simplify parts of chn_notify().
Apr 3 2026, 3:45 PM
christos requested review of D56239: sound: Retire unused CHN_N_* defines.
Apr 3 2026, 3:27 PM
christos requested review of D56238: sound: Mark some snd_fmt* functions as static.
Apr 3 2026, 3:27 PM
christos added inline comments to D56225: rc.conf.5: Document virtual_oss(8).
Apr 3 2026, 2:15 PM

Apr 2 2026

christos updated the diff for D56225: rc.conf.5: Document virtual_oss(8).

Clarify virtual_oss_default_control_device further.

Apr 2 2026, 5:54 PM
christos added a reviewer for D56225: rc.conf.5: Document virtual_oss(8): meka_tilda.center.
Apr 2 2026, 5:10 PM
christos requested review of D56225: rc.conf.5: Document virtual_oss(8).
Apr 2 2026, 5:09 PM

Mar 31 2026

christos accepted D56164: libsamplerate: Only build when virtual_oss is built.
Mar 31 2026, 12:32 PM
christos committed rG9990340f6c9d: sound: Remove dead code in pcm/ac97.c (authored by christos).
sound: Remove dead code in pcm/ac97.c
Mar 31 2026, 9:56 AM
christos committed rG3d85a2a7a8a9: sound: Remove unimplemented chn_reinit() definition (authored by christos).
sound: Remove unimplemented chn_reinit() definition
Mar 31 2026, 9:56 AM
christos committed rGd89987b786a8: sound: Address some XXX comments regarding AC'97 IDs (authored by christos).
sound: Address some XXX comments regarding AC'97 IDs
Mar 31 2026, 9:56 AM
christos committed rGdfcbb9c9da8a: sound: Retire unused emu10k1-mkalsa.sh (authored by christos).
sound: Retire unused emu10k1-mkalsa.sh
Mar 31 2026, 9:56 AM