On Tue, Feb 1, 2022 at 3:52 PM Helge Deller <deller@xxxxxx> wrote: > > On 2/1/22 14:45, Daniel Vetter wrote: > > On Tue, Feb 1, 2022 at 12:01 PM Helge Deller <deller@xxxxxx> wrote: > >> On 2/1/22 11:36, Daniel Vetter wrote: > >>> On Tue, Feb 1, 2022 at 11:16 AM Helge Deller <deller@xxxxxx> wrote: > >>>> > >>>> On 1/31/22 22:05, Daniel Vetter wrote: > >>>>> This functionally undoes 39aead8373b3 ("fbcon: Disable accelerated > >>>>> scrolling"), but behind the FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION > >>>>> option. > >>>> > >>>> you have two trivial copy-n-paste errors in this patch which still prevent the > >>>> console acceleration. > >>> > >>> Duh :-( > >>> > >>> But before we dig into details I think the big picture would be > >>> better. I honestly don't like the #ifdef pile here that much. > >> > >> Me neither. > >> The ifdefs give a better separation, but prevents that the compiler > >> checks the various paths when building. > >> > >>> I wonder whether your approach, also with GETVX/YRES adjusted > >>> somehow, wouldn't look cleaner? > >> I think so. > >> You wouldn't even need to touch GETVX/YRES because the compiler > >> will optimize/reduce it from > >> > >> #define GETVYRES(s,i) ({ \ > >> (s == SCROLL_REDRAW || s == SCROLL_MOVE) ? \ > >> (i)->var.yres : (i)->var.yres_virtual; }) > >> > >> to just become: > >> > >> #define GETVYRES(s,i) ((i)->var.yres) > > > > Yeah, but you need to roll out your helper to all the callsites. But > > since you #ifdef out info->scrollmode we should catch them all I > > guess. > > Right. That was the only reason why I ifdef'ed it out. > Technically we don't need that ifdef. > > >>> Like I said in the cover letter I got mostly distracted with fbcon > >>> locking last week, not really with this one here at all, so maybe > >>> going with your 4 (or 2 if we squash them like I did here) patches is > >>> neater? > >> > >> The benefit of my patch series was, that it could be easily backported first, > >> and then cleaned up afterwards. Even a small additional backport patch to disable > >> the fbcon acceleration for DRM in the old releases would be easy. > >> But I'm not insisting on backporting the patches, if we find good way forward. > >> > >> So, either with the 4 (or 2) patches would be OK for me (or even your approach). > > > > The idea behind the squash was that it's then impossible to backport > > without the Kconfig, > > Yes, my proposal was to simply revert the 2 patches and immediatly send > the Kconfig patch to disable it again. > > > and so we'll only enable this code when people > > intentionally want it. Maybe I'm too paranoid? > > I think you are too paranoid :-) > If all patches incl. the Kconfig patch are backported then people shouldn't > do it wrong. > > > Anyway, you feel like finishing off your approach? Or should I send > > out v2 of this with the issues fixed you spotted? Like I said either > > is fine with me. > > Ok, then let me try to finish my approach until tomorrow, and then you > check if you can and want to add your locking and other patches on top of it. > In the end I leave the decision which approach to take to you. > Ok? Sounds good, and yeah rough idea is that the maintainers + revert + Kconfig should go in for rc3 or rc4 if we hit another bump, and the locking stuff then in for -next (since it needs a backmerge and is defo tricky stuff). Cheers, Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch