Page MenuHomeFreeBSD

sound: Remove macro magic from pcm/feeder_matrix.c
ClosedPublic

Authored by christos on Dec 11 2024, 4:49 PM.
Tags
None
Referenced Files
F115290388: D48035.id147823.diff
Tue, Apr 22, 7:26 AM
Unknown Object (File)
Sat, Apr 19, 9:21 AM
Unknown Object (File)
Fri, Apr 18, 4:18 AM
Unknown Object (File)
Mon, Apr 14, 10:44 AM
Unknown Object (File)
Mar 21 2025, 8:57 PM
Unknown Object (File)
Mar 21 2025, 3:59 AM
Unknown Object (File)
Mar 10 2025, 11:14 PM
Unknown Object (File)
Feb 26 2025, 11:06 PM
Subscribers

Details

Summary

Turn the FEEDMATRIX_DECLARE macro into a single inline function
(feed_matrix_apply()). There is no reason to have this as a macro, it
only complicated the code. An advantage of this patch is that, because
we no longer call the functions created by the macro through function
pointers (apply field of feed_matrix_info), we can call
feed_matrix_apply() directly in feed_matrix_feed().

Sponsored by: The FreeBSD Foundation
MFC after: 1 week

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 61568
Build 58452: arc lint + arc unit

Event Timeline

Same as D48032, you may want to call your function with literal format parameters, for performance reasons.

sys/dev/sound/pcm/feeder_matrix.c
448

Why can't this entire switch statement just be feed_matrix_apply(info, src, dst, j, info->fmt);?

sys/dev/sound/pcm/feeder_matrix.c
448

There is related discussion in D48032

Mark fmt argument as const.

Clamp accum, not v, as in the original code.

This revision was not accepted when it landed; it landed in state Needs Review.Mar 10 2025, 8:22 PM
This revision was automatically updated to reflect the committed changes.