On Mon, Oct 03, 2016 at 11:03:50PM +0800, mengdong.lin@linux.intel.com wrote:
Pump the version number to 5.
So, we just had a user on IRC complaining that the last round of incompatible changes in v4.7 broke their laptop audio - they had a laptop that shipped with Linux and suddenly the topology file didn't work. I think that's an indication that at this point we have an ABI we need to maintain compatibility with rather than just break things. That doesn't explicitly affect this patch but does mean that the parsing code ought to cope which is likely to have some impact here.
Topology kernel driver will check size of ABI objects to detect version mismatch between user space and kernel.
The ABI wasn't explicitly reved which suggests that it's this that triggered the issue for the user.
+/* BE DAI flags */ +#define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_RATES (1 << 0) +#define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_CHANNELS (1 << 1) +#define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_SAMPLEBITS (1 << 2)
These don't seem specific to back ends, people can use topologies for DSPs on off-SoC devices which might also want to use these.
- __le32 be_dai_elems; /* number of BE DAI elements */
- __le32 reserved[20]; /* reserved for new ABI element types */
Thinking about the above I'm wondering if it doesn't make more sense to call these physical links rather than back ends - that term is going to be clearer to people who don't use DPCM.