> > The current internal API for TDM is very poor, I don't think we want > > to expose that 1 to 1 to the devicetree. Since this means we'd have > > to support that forever. The first thing is that the semantics of > > snd_soc_dai_set_tdm_slot() are very unclear. E.g. some drivers use a > > zero bit for a active slot, some drivers use a 1 bit for a active > > Yes, and if we do end up using masks we need to nail down what's going > on in the DT. >
Yes, certainly. > > slot. The second thing is that we are not able to specify which > > channel should be mapped to which slot. You can merely specify > > from/to which slots the CODEC should read/write and then it is up to > > the driver to guess which channel should go to which slot. In my > > opinion a binding that allows to specify a explicit mapping of which > > channel goes to which slot would be much better. > > It'd certainly be good to be able to do that, though having a default > would make life easier. > @Lars, @Mark, Yes, then will that means that we can just end up parsing masks from DT and the masks will be generated by the driver specified dai->driver->ops->of_xlate_tdm_slot_mask(slots, &tx_mask, &rx_mask) callback or one default snd_soc_of_xlate_tdm_slot_mask(slots, &tx_mask, &rx_mask), and the 'slots' is the number of the slot parsed from the DT node ? Or other better ways ? Thanks, -- Best Regards, Xiubo > > Also those are four different settings. In my opinion they should > > not be expressed in one property, but rather in four. E.g. > > specifying a tx_mask for a rx only device does not make much sense. > > That makes sense. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/