Re: [PATCH 1/2] media: tegra-cec: Support Tegra186 and Tegra194

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Thierry,

On 12/10/18 5:00 PM, Thierry Reding wrote:
> From: Thierry Reding <treding@xxxxxxxxxx>
> 
> 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.

HDMI inputs CAN share the CEC line, but never outputs. There should have been two
CEC blocks, one for each HDMI output.

It should not be possible to use the same CEC block for both HDMI outputs on the 186.
Ideally it should be a required dts property that determines this. I'm not sure where
that should happen. One option might be to use the cec_notifier_get_conn() function
so you can register the CEC adapter for a specific connector only. For older tegra
versions the connector name would be NULL (i.e. don't care), for the 186 (and perhaps 194)
it would be a required property that tells the CEC driver which connector it is associated
with.

Just a suggestion, there might be other ways to implement this as well.

So before I can merge this I need to know first how you plan to handle this HW bug.

Regards,

	Hans

> 
> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
> ---
>  drivers/media/platform/tegra-cec/tegra_cec.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/media/platform/tegra-cec/tegra_cec.c b/drivers/media/platform/tegra-cec/tegra_cec.c
> index aba488cd0e64..8a1e10d008d0 100644
> --- a/drivers/media/platform/tegra-cec/tegra_cec.c
> +++ b/drivers/media/platform/tegra-cec/tegra_cec.c
> @@ -472,6 +472,8 @@ static const struct of_device_id tegra_cec_of_match[] = {
>  	{ .compatible = "nvidia,tegra114-cec", },
>  	{ .compatible = "nvidia,tegra124-cec", },
>  	{ .compatible = "nvidia,tegra210-cec", },
> +	{ .compatible = "nvidia,tegra186-cec", },
> +	{ .compatible = "nvidia,tegra194-cec", },
>  	{},
>  };
>  
> 




[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux