On 12/11/18 10:38 AM, Thierry Reding wrote:
> On Tue, Dec 11, 2018 at 10:19:48AM +0100, Hans Verkuil wrote:
>> On 12/10/18 9:59 PM, Thierry Reding wrote:
>>> On Mon, Dec 10, 2018 at 06:07:10PM +0100, Hans Verkuil wrote:
>>>> Hi Thierry,
>>>>
>>>> On 12/10/18 5:00 PM, Thierry Reding wrote:
>>>>> From: Thierry Reding <tred...@nvidia.com>
>>>>>
>>>>> The CEC controller found on Tegra186 and Tegra194 is the same as on
>>>>> earlier generations.
>>>>
>>>> Well... at least for the Tegra186 there is a problem that needs to be
>>>> addressed first.
>>>> No idea if this was solved for the Tegra194, it might be present there as
>>>> well.
>>>>
>>>> The Tegra186 hardware connected the CEC lines of both HDMI outputs
>>>> together. This is
>>>> a HW bug, and it means that only one of the two HDMI outputs can use the
>>>> CEC block.
>>>
>>> I don't know where you got that information from, but I can't find any
>>> indication of that in the documentation. My understanding is that there
>>> is a single CEC block that is completely independent and it is merely a
>>> decision of the board designer where to connect it. I'm not aware of any
>>> boards that expose more than a single CEC.
>>
>> Sorry, my memory was not completely correct.
>>
>> The problem is that the 186 can be configured with two HDMI outputs, but it
>> has
>> only one CEC block. So CEC can be used for only one of the two. I checked
>> the TRM
>> for the Tegra194 and that has up to four HDMI outputs, but still only one CEC
>> block.
>>
>> And yes, it is the responsibility for the board designer to hook up the CEC
>> pin
>> to only one of the outputs, but the TRM never explicitly mentions this and
>> given
>> the general lack of knowledge about CEC it wouldn't surprise me at all if
>> there
>> will be wrong board designs.
>>
>> But be that as it may, the core problem remains: you cannot allow multiple
>> HDMI outputs to be connected to the same CEC device.
>>
>> However, I now realize that your patches will actually work fine since each
>> HDMI connector tries to get a cec notifier for its own HDMI device, but the
>> tegra-cec driver will only register a notifier for the HDMI device pointed
>> to by the hdmi-phandle property. So only one of the HDMI devices will
>> actually
>> get a working CEC.
>>
>> Although if board designers mess this up and connect multiple CEC lines to
>> the same CEC pin, this would still break, but there is nothing that can be
>> done about that. I still believe the TRM should have made this clear since
>> it is not obvious. Even better would be to have the same number of CEC blocks
>> as there are configurable HDMI outputs. Typically, if you support CEC on one
>> HDMI output, you want to support it for all. And today that's not possible
>> without adding external CEC devices (as we - Cisco - do).
>
> I wasn't aware that anyone was using a Tegra with support for multiple
> HDMI outputs. Do you have a contact that you can forward this kind of
> request to? It certainly sounds like something that would be useful to
> add in future chips if there's a customer need.
>
> I can also forward this internally, but I expect it to have more weight
> coming directly from Cisco. =)
>
>> Apologies for the confusion, I should never send emails after 5pm :-)
>
> No worries.
>
> Thierry
>