CEC blocks idle on omap4

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Mar 25 15:55:32 UTC 2019


Hi Hans,

On Mon, Mar 25, 2019 at 04:51:57PM +0100, Hans Verkuil wrote:
> On 3/25/19 4:32 PM, Tony Lindgren wrote:
> > Hi Hans,
> > 
> > Looks like CONFIG_OMAP4_DSS_HDMI_CEC=y blocks SoC core retention
> > idle on omap4 if selected.
> > 
> > Should we maybe move hdmi4_cec_init() to hdmi_display_enable()
> > and hdmi4_cec_uninit() to hdmi_display_disable()?
> > 
> > Or add some enable/disable calls in addtion to the init and
> > uninit calls that can be called from hdmi_display_enable()
> > and hdmi_display_disable()?
> 
> For proper HDMI CEC behavior the CEC adapter has to remain active
> even if the HPD of the display is low. Some displays pull down the
> HPD when in standby, but CEC can still be used to wake them up.
> 
> And we see this more often as regulations for the maximum power
> consumption of displays are getting more and more strict.
> 
> So disabling CEC when the display is disabled is not an option.
> 
> Disabling CEC if the source is no longer transmitting isn't a good
> idea either since the display will typically still send periodic
> CEC commands to the source that it expects to reply to.

What's the periodicity of those commands ? Can the system be put to
sleep and get woken up when there's CEC activity ?

> The reality is that HDMI CEC and HDMI video are really independent of
> one another. So I wonder if it isn't better to explain the downsides
> of enabling CEC for the omap4 in the CONFIG_OMAP4_DSS_HDMI_CEC
> description. And perhaps disable it by default?

This should be controllable by userspace. From a product point of view,
it should be possible to put the system in a deep sleep state where CEC
isn't available, or in a low sleep state where CEC works as expected.

-- 
Regards,

Laurent Pinchart


More information about the dri-devel mailing list