lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 12 Dec 2018 15:05:16 +0200
From:   Peter Ujfalusi <peter.ujfalusi@...com>
To:     Tony Lindgren <tony@...mide.com>,
        Kuninori Morimoto <kuninori.morimoto.gx@...esas.com>
CC:     Mark Brown <broonie@...nel.org>,
        Liam Girdwood <lgirdwood@...il.com>,
        Jaroslav Kysela <perex@...ex.cz>,
        Takashi Iwai <tiwai@...e.com>,
        "alsa-devel@...a-project.org" <alsa-devel@...a-project.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "linux-omap@...r.kernel.org" <linux-omap@...r.kernel.org>,
        Sebastian Reichel <sre@...nel.org>,
        Jarkko Nikula <jarkko.nikula@...mer.com>
Subject: Re: [PATCH 0/2] Graph fixes for using multiple endpoints per port



On 12/12/2018 2.19, Tony Lindgren wrote:
> * Kuninori Morimoto <kuninori.morimoto.gx@...esas.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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ