sof icon indicating copy to clipboard operation
sof copied to clipboard

[BUG] SoundWire topology: need to use 24 bits

Open plbossart opened this issue 4 months ago • 4 comments

Reported initially by @bardliao

All SoundWire topologies currently use S32_LE, which means all 32-bits of data will be pushed on the wire.

The problem is that the default frame shape for SoundWire is 50x4. The column0 is reserved for commands, so in theory we can have 3 streams of 24-bits each on column 1, 2, 3 respectively.

But since the topologies use S32_LE, we can only support 2 streams: conventional arithmetic tells us there's no way to fit 64-bits of data in 50 bits.

That's a problem for integrated devices, e.g. if you want to have amp+headset at the same time on the same link. We need to switch to 24 valid bits to avoid artificial bandwidth limitations.

We certainly need to avoid the use of 32 bits for topology2 solutions. It needs to be determined if topology1 need this change or not.

plbossart avatar Mar 18 '24 19:03 plbossart