On Wednesday, 2 February 2022 13:41:21 CET Paul Cercueil wrote: > Le mer., févr. 2 2022 at 13:33:15 +0100, H. Nikolaus Schaller> <hns@xxxxxxxxxxxxx> a écrit : > >> Am 02.02.2022 um 13:28 schrieb Paul Cercueil <paul@xxxxxxxxxxxxxxx>: > >> > >> Note that there are other things not working with your current > >> > >> implementation, for instance you cannot set the X/Y start position > >> of the f1 plane, which means it's only really usable for fullscreen > >> desktop/windows. > > > > Is setting x/y possible for the other SoC? > > Yes. They support different x/y positions, sizes, and pixel format for > both f0, f1 and IPU planes. One thing worth noting about the JZ4780 is that a lot of the registers that might otherwise be used for the above purposes appear to be read-only, at least for the different fields concerned. For example, those affecting ingenic_drm_plane_config: Control Register (LCDCTRL) - specifically the BPP0 field OSD Control Register (LCDOSDCTRL) Foreground 0 XY Position Register (LCDXYP0) Foreground 1 XY Position Register (LCDXYP1) Foreground 0 Size Register (LCDSIZE0) Foreground 1 Size Register (LCDSIZE1) These require changes to the extended descriptor members instead, and I am fairly sure I mentioned the implications for pixel depth configuration previously. So, as far as I can tell, we would need to update the descriptors, not the registers, to support the operations mentioned above. As for the f0 plane "not working", I am not aware of any limitation around using only f0 (assuming it corresponds to what the manual calls fg0) or only f1 (again, assuming fg1 in the manual) or both. My assumption was that for this particular driver, f0 was reserved for some kind of overlay and that f1 was to be used for the normal non-overlay display for products where the OSD peripheral is provided.