On Wed, Apr 12, 2017 at 12:58:16PM +0000, Olivier MOYSAN wrote:
On 04/12/2017 01:32 PM, Mark Brown wrote:
It is totally normal to just not use one direction in a given system, we don't normally need to do anything special to handle things. I'm a bit confused as to what's different here and needs configuring?
The IP does not provide an audio channel configured either as rx or tx. I agree, that in such case, the cpu driver does not generally need to worry about direction and there is nothing special required to handle it.
No, that's not what I'm saying - such hardware would be extremely unusual.
Here the IP provides 2 channels, 1 tx and 1 rx, which may be active or not. The driver has to know which channel is used, and if both channels have to be managed. The affected registers depend on selected channel.
This sounds like essentially every audio controller out there. The overwhelming majority of controllers do exactly as you describe and have both directions in the same IP, this really doesn't seem at all unusual. Off the top of my head I can only think of one SoC family which combines multiple IPs to do bidirectional audio (though I didn't check).
It really feels like there is something different here and I'm just missing it.
Moreover specific processing has to be performed if both channels are used.
Given that this case has to be supported anyway I'd be more inclined to ask the question the other way around TBH.