On Tue, 2016-04-05 at 14:24 -0700, Mark Brown wrote:
On Tue, Apr 05, 2016 at 10:10:48PM +0200, Takashi Iwai wrote:
OK. But now I noticed another pitfall. The topology firmware is endian-sensitive, and the code to generate is so, too. Thus it can't work for big-endian architectures.
This code is not intended to work on big-endian ones :). We will add __lexx notations on these.
The firmware side of this needs to be fixed at the ABI level I think, that's definitely an oversight - thanks for spotting it! We have platforms which can switch at boot time between big and little endian so an unfixed endinanness is not going to be usable there.
The topology ABI has been defined as little-endian. The driver needs to do conversion to machine type and use data from topology.