On Tue, Apr 11, 2017 at 08:00:11AM +0300, Laurent Pinchart wrote: [...] > The point I don't agree with is that timings have to be specified in C code. > As pointed in in a comment to > https://sietch-tagr.blogspot.fi/2016/04/display-panels-are-not-special.html, > there's a huge number of display panels on the > marked, and the Linux kernel supports only a very tiny fraction of them. I > still haven't seen the scalability issue of a C mode DB being addressed, and > that's a major blocker for me. How about we tackle that problem when it becomes real? drm/panel has existed for about 3.5 years now and we support not even 100 different panels. > The other comment about EMC and EMI (Electro- > Magnetic Compatibility and Electro-Magnetic Interference) is also valid in my > opinion, and is why we had to specify clock frequencies in DT for cameras as > they need to be fine-tuned for each particular system. The same applies to > panels, where timings for the same panel integrated in different systems may > need to differ. We already have a mechanism to do this. Initially panel descriptors used to contain a single mode, but it wasn't very long until we encountered a situation where the same panel was used on different devices with slight differences in capabilities, which cause the original mode not to work. The solution that Philipp Zabel came up with is fairly elegant. Instead of specifying a single mode, matching essentially the integration on one board, panel descriptors can now contain display timing ranges. This allows each display controller driver to tailor a mode that fits its needs. Thierry