Hi, * Daniel Stone <daniel@xxxxxxxxxxxxx> [180420 10:21]: > Hi Tomi, > > On 20 April 2018 at 08:09, Tomi Valkeinen <tomi.valkeinen@xxxxxx> wrote: > > It's actually not quite clear to me how manual update displays work with > > DRM... > > > > As far as I see, we have essentially two cases: 1) single buffering, > > where the userspace must set an area in the fb dirty, which then > > triggers the update, 2) multi buffering, which doesn't need fb dirty, > > but just a page flip which triggers the update. > > > > In the 2) case (which I think is the optimal case which all the modern > > apps should use), there's no need for delayed work or any work, and the > > code flow should be very similar to the auto-update model. > > Correct. There's been talk (and I think patches?) of adding a > per-plane dirty property, so userspace can as an optimisation inform > the kernel of the area changed between frames. But short of that, a > pageflip needs to trigger a full-plane update, with no dirtyfb > required. For per-plane dirty property patches, which ones do you refer to? Then for xorg, there's my second attempt on fixing the command mode rotation at [0]. Not sure if that's enough for a fix? It seems not very efficient to me and I don't really know where the the per crtc dirty flag should be stored.. I can easily test patches though with a command mode LCD and normal HDMI setup on droid 4. Regards, Tony [0] https://lists.x.org/archives/xorg-devel/2018-February/055890.html -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html