[alsa-devel] [PATCH 0/2] Graph fixes for using multiple endpoints per port

Peter Ujfalusi peter.ujfalusi at ti.com
Wed Dec 12 14:05:16 CET 2018



On 12/12/2018 2.19, Tony Lindgren wrote:
> * Kuninori Morimoto <kuninori.morimoto.gx at renesas.com> [181211 23:16]:
>>
>> Hi Tony
>>
>>> The issue I have with that it does not then follow the binding doc :)
>>>
>>> See this part in Documentation/devicetree/bindings/graph.txt:
>>>
>>>  "If a single port is connected to more than one remote device, an
>>>  'endpoint' child node must be provided for each link."
>>>
>>> Isn't the I2C TDM case the same as "single port connecected to
>>> more than one remote device" rather than multiple ports?
>>>
>>> To me it seems we're currently only handling the multiple ports
>>> case, and not multiple endpoints for a port. Other than fixing
>>> that, things should work just as earlier with my two patches.
>>> That is unless I accidentally broke something.
>>>
>>> So just trying to correct the binding usage. Or am I missing
>>> something?
>>
>> I'm not 100% sure your "I2C TDM case", but you can check
>> multi-endpoint sample on "Example: Multi DAI with DPCM" below.
>> "pcm3168a" is using multi-endpoint.
>> Does this help you ?
>>
>> 	https://patchwork.kernel.org/patch/10712877/
> 
> Hmm, so do you have multiple separate ports at the "&sound" node
> hardware? If so then yeah multiple ports make sense.
> 
> But if you only a single physical (I2S?) port at the
> "&sound" node hardware, then IMO you should only have one
> port and multiple endpoints there according to the graph.txt
> binding doc.
> 
> In my McBSP case there is only a single physical I2S port
> that can be TDM split into timeslots.

So what is missing from the McBSP driver is to configure the TDM. We
never had a hardware which would require it so it is _not_ implemented.

imho the 'only' thing is to implement the set_tdm_slot callback for the
McBSP DAI. In DT you would have single card with two dai_link section
and each section would set different tdm slots to use for the codecs
listening on different slots.

There is one issue for sure with this setup: the two PCM can not be used
at the same time. But we have one DMA channel so if you would open both
the PCM stream need to be set up in a way to match with the HW or create
a asound.conf file to do some mapping.

> 
> Regards,
> 
> Tony
> 

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki


More information about the Alsa-devel mailing list