On 14/02/18 17:39, Laurent Pinchart wrote:
I have to admit I didn't go through every line of the patches, but overall I think this looks good. The only problem is the support for DSS6, which I mentioned in the other mail.
We don't have DSS6 support in mainline, but it's a critical thing for TI to support. If it helps, we can upstream the current DSS6 driver (which is not very big), so that these can be reworked with DSS6 included. Or we can delay upstreaming DSS6, but we must get the out-of-mainline DSS6 driver working on top of these (which, afaics, is not possible at the moment).
Following up our discussion in reply to another e-mail in this thread, would switching to struct device pointers for DSS and DISPC objects in the public API help ? Is there anything else preventing DSS6 from working on top of this
I think using struct device pointers should be enough to get DSS6 working, but we need to try it out. And, as you pointed out, the structs are opaque to omapdrm, so if we're sure they don't leak to omapdrm and don't mix up between dss2-5 and dss6 drivers, we could even use the same struct. But I think that's rather messy, so if we do that it should be just a temporary measure.
series ? I would personally prefer getting the cleanups and reworks (including the switch to DRM bridge and DRM panel) upstream before addressing DSS6 in mainline, as the problem is already complex enough.
I agree, but then, I've been pushing the upstreaming of DSS6 driver forward for a very long time already. And, it does create these kind of issue, making it very laborious to carry in TI's tree. So, I'm fine with waiting still a bit longer, but if the bridge/panel work gets delayed, I'd rather push DSS6.
I made a quick branch on top of drm-next which contains the DSS6:
git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux.git 4.17/omapdrm-dss6-test
The first three patches have already been posted for review, and the last three and not that relevant here.
It's essentially a simplified version of the old DSS, with slightly different registers.
Tomi