lkml.org 
[lkml]   [2021]   [Jun]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectRE: [PATCH 9/9] media: dwc: dw-hdmi-rx: Add support for CEC
Date
Hi Hans,

Thanks for your comments!

From: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Date: qua, jun 02, 2021 at 19:27:46

> On 02/06/2021 20:20, Nelson Costa wrote:
> > Hi Hans,
> >
> > Thanks for your comments and feedback!
> >
> > From: Hans Verkuil <hverkuil-cisco@xs4all.nl>
> > Date: qua, jun 02, 2021 at 13:45:45
> >
> >> On 02/06/2021 13:24, Nelson Costa wrote:
> >>> @@ -3194,10 +3428,29 @@ static int dw_hdmi_rx_probe(struct platform_device *pdev)
> >>> if (ret)
> >>> goto err_phy_exit;
> >>>
> >>> + /* CEC */
> >>> +#if IS_ENABLED(CONFIG_VIDEO_DWC_HDMI_RX_CEC)
> >>> + dw_dev->cec_adap = cec_allocate_adapter(&dw_hdmi_cec_adap_ops,
> >>> + dw_dev, dev_name(dev),
> >>> + (CEC_CAP_DEFAULTS |
> >>> + CEC_CAP_NEEDS_HPD |
> >>
> >> This cap makes no sense for a receiver.
> >>
> >
> > This cap was added in order to overcome a scenario that we have when
> > there
> > was an hot plug. The driver performs a main reset that cause the loss of
> > cec controller configuration. And in that case in order to reconfigure
>
> What do you mean with 'there was an hot plug'? Are you talking about the HPD
> signal? Or when a new source/cable is connected? Can you point to the code
> where that happens in the driver?
>

I mean, whenever a new source/cable is connected.

When it happens we receive the 5v interrupt and the state machine is
started.
At the beginning of the state machine the function
"dw_hdmi_reset(dw_dev)" is called to perform the controller reset.
Inside that function you can see the following note added explaining the
cec physical address reconfiguration needed after the reset:

/* After a main reset try to re-enable the cec adapter in order to
* reconfigure the required cec registers. For this the physical address
* is invalidated and reconfigured, and with CEC_CAP_NEEDS_HPD allowing
* to re-enable the adapter.
*/

Thanks a lot!

BR,

Nelson Costa

> Regards,
>
> Hans
>
> > the
> > cec this cap was added. Because whenever there is a reset the physical
> > address is reconfigured (invalidated and set) and with this cap the cec
> > configuration callback function (adap_enable) is called again allowing to
> > reconfigure the cec.
> >
> > Does it make sense?
> >
> > If not, what should be the best approach in order to deal with this
> > scenario?


\
 
 \ /
  Last update: 2021-06-14 19:05    [W:0.108 / U:0.208 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site