On Mon, Mar 10, 2025 at 07:30:07PM +1000, James Calligeros wrote:
> On Sat, Mar 8, 2025 at 6:51 AM Rob Herring <robh@xxxxxxxxxx> wrote:
> > How would it work when you need a mask? "dai-tdm-slot-tx-mask" is
> > enough?
>
> The existing TX/RX slot masks are used to control which slots the codec
> is operating on, AIUI. I don't know if it makes sense to alter how codecs
> deal with this. Could we combine the suggested dai-tdm-slot-tx-idle
> with an optional dai-tdm-slot-tx-idle-mask property? From the machine
> driver's perspective, the API would then be similar to the existing
> set_tdm_slot ops. The current downstream macaudio machine driver builds
> its links by allowing multiple codecs and CPUs to be linked to a DAI,
> like so:
Wouldn't the NOT of dai-tdm-slot-tx-mask be the idle mask?
Don't think about the Linux APIs here. The DT is separate. So think in
terms of what you need to describe the TDM timing/waveform.
>
> dai-link@0 {
> cpu {
> sound-dai = <&cpu0>, <&cpu1>;
> };
> codec {
> sound-dai = <&speaker0>,
> ...,
> <&speaker6>;
> };
> };
>
> In this case, the codec-specific mask property was added so that a mask
> could be applied to a specific codec rather than the whole dai, however
> from upstream drivers tt looks like the way this should be handled is to
> have "dai-tdm-slot-tx-idle-mask-n" properties at the dai level, then have
> the machine driver set the mask for the appropriate codec during setup. So
> for macaudio, assuming speaker5 requires this zerofill mask, we would
> have something like this:
I'm now confused why you need n masks and what does n represent?
Rob
[Index of Archives]
[Pulseaudio]
[Linux Audio Users]
[ALSA Devel]
[Fedora Desktop]
[Fedora SELinux]
[Big List of Linux Books]
[Yosemite News]
[KDE Users]