On 3/25/19 5:21 PM, Tony Lindgren wrote:
- Hans Verkuil hverkuil@xs4all.nl [190325 16:12]:
On 3/25/19 4:55 PM, Laurent Pinchart wrote:
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.
Userspace can always disable CEC. The hdmi_cec_adap_enable() callback in hdmi4_cec.c is called whenever the CEC adapter is enabled or disabled.
OK
I'm not actually sure why hdmi4_cec_init() would block anything since it just registers the CEC device. It does not enable it until userspace explicitly enables it with e.g. 'cec-ctl --playback'.
hdmi4_cec_init() does configure a CEC clock, but that can be moved to hdmi_cec_adap_enable() if necessary.
Hey I'm pretty sure that's the right fix then :)
Note that I am not sure what is meant with 'SoC core retention idle', so perhaps I just misunderstand the problem.
If certain SoC clocks are busy, the SoC will not enter deeper idle states. The hardware has autoidle type features on omaps.
Can you make a patch? It is very easy to test:
To configure the CEC adapter: cec-ctl --playback To unconfigure the CEC adapter: cec-ctl --clear
As long as the CEC adapter is unconfigured you should be able to enter the deeper idle states. But not if it is configured.
And if you are moving code anyway, can you fix the typo in the comment? devider -> divider
That hurts my eyes...
Regards,
Hans