On Wed, Apr 01, 2015 at 11:49:27AM +0300, Jyri Sarha wrote: > Add support for an external compontised DRM encoder. The external > encoder can be connected to tilcdc trough device tree graph binding. > The binding document for tilcdc has been updated. The current > implementation supports only tda998x encoder. > > To be able to filter out the unsupported video modes the tilcdc driver > needs to hijack the external connectors helper functions. The tilcdc > installes new helper functions that are otherwise identical to > orignals, but the mode_valid() call-back check the mode first localy, > before calling the original call-back. The tilcdc dirver restores the > original helper functions before it is unbound from the external > device.
This is where the DRM model is weak - we don't really have a way to say "this is the set of CRTCs which /can/ be associated with this connector, can any of the CRTCs accept this mode?" and eliminate modes which fail that check. This problem seems to be one which recurrs, so I wonder if it's something which ought to be solved properly. It's made slightly more difficult because we don't really know which connectors could be associated with which CRTCs - that information is stored at the encoder level (with the encoders possible_crtcs), and I'm not sure we have a way for generic DRM code to know which encoders could be associated with which connectors. -- FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up according to speedtest.net.