On Fri, 2012-07-27 at 19:21 -0500, Ricardo Neri wrote: > Hello, > > DSS code wrongly assumes that VENC is always available as source for the external > sync signal for the display controller DIGIT channel. One cannot blindly > rely only on the value of DSS_CONTROL register as certain processors may not > have VENC (e.g., OMAP5). > > These patches add logic to correctly set/get the sync signal based on the > available displays in the DIGIT channel. > > For the HDMI driver, handle the error in the selection of the source. Is there an actual problem seen that this resolves? If so, It'd be nice to have a brief description of the problem. Does the bit 15 in DSS_CONTROL still exist on OMAP5? What does it return on OMAP5? I think it's clear that dss_get_hdmi_venc_clk_source() needs to return a correct value so that DSS operates correctly. But I'm not sure we need the extra code in dss_select_hdmi_venc_clk_source(). dss_select_hdmi_venc_clk_source() should be called by venc or hdmi, and there should be any possibility of using it in the wrong way. For extra sanity checking there could be a BUG_ON() check in the dss_select_hdmi_venc_clk_source() to point out if there's a bad bug in venc or hdmi. I'd like to keep the lowest level dss-internal functions as simple as possible, and written in the manner that they presume they are called correctly. Otherwise we'll end up with lots of new code, checking for errors that can never happen in practice. Tomi
Attachment:
signature.asc
Description: This is a digitally signed message part