Re: [PATCH 00/33] fbcon notifier begone v3!
From: Daniel Thompson
Date: Tue Jun 11 2019 - 10:21:10 EST
On Fri, Jun 07, 2019 at 12:07:55PM +0200, Bartlomiej Zolnierkiewicz wrote:
> On 6/6/19 9:38 AM, Daniel Vetter wrote:
> > Hi Bart,
> Hi Daniel,
> > On Tue, May 28, 2019 at 11:02:31AM +0200, Daniel Vetter wrote:
> >> Hi all,
> >> I think we're slowly getting there. Previous cover letters with more
> >> context:
> >> https://lists.freedesktop.org/archives/dri-devel/2019-May/218362.html
> >> tldr; I have a multi-year plan to improve fbcon locking, because the
> >> current thing is a bit a mess.
> >> Cover letter of this version, where I detail a bit more the details
> >> fixed in this one here:
> >> https://lists.freedesktop.org/archives/dri-devel/2019-May/218984.html
> >> Note that the locking plan in this one is already outdated, I overlooked a
> >> few fun issues around any printk() going back to console_lock.
> >> I think remaining bits:
> >> - Ack from Daniel Thompson for the backlight bits, he wanted to check the
> >> big picture.
> > I think Daniel is still on vacation until next week or so.
Thanks for spotting that. As it happens the e-mail asking for extra detail
was just about the last thing I sent before going on holiday (exactly to
try and avoid round trips this wee ;-) ).
> >> - Hash out actual merge plan.
> > I'd like to stuff this into drm.git somehow, I guess topic branch works
> > too.
> I would like to have topic branch for this patchset.
>From a backlight perspective its Lee Jones who hoovers up the patches
and worries about hiding merge conflicts from Linus.
I'll let him follow up if needed but I suspect he'd like an immutable
branch to work from also.
> > Long term I think we need to reconsider how we handle fbdev, at least the
> > core/fbcon pieces. Since a few years all the work in that area has been
> > motivated by drm, and pushed by drm contributors. Having that maintained
> > in a separate tree that doesn't regularly integrate imo doesn't make much
> > sense, and we ended up merging almost everything through some drm tree.
> > That one time we didn't (for some panel rotation stuff) it resulted in
> > some good suprises.
> > I think best solution is if we put the core and fbcon bits into drm-misc,
> > as group maintained infrastructure piece. All the other gfx infra pieces
> > are maintained in there already too. You'd obviously get commit rights.
> > I think that would include
> > - drivers/video/fbdev
> > - drivers/video/*c
> > - drivers/video/console
> Sounds fine to me.
> > I don't really care about what happens with the actual fbdev drivers
> > (aside from the drm one in drm_fb_helper.c, but that's already maintained
> > as part of drm). I guess we could also put those into drm-misc, or as a
> > separate tree, depending what you want.
> > Thoughts?
> I would like to handle fbdev changes for v5.3 merge window using fbdev
> tree but after that everything (including changes to fbdev drivers) can go
> through drm-misc tree.
> Best regards,
> Bartlomiej Zolnierkiewicz
> Samsung R&D Institute Poland
> Samsung Electronics
> > Cheers, Daniel
> >> I'm also cc'ing the entire pile to a lot more people on request.
> >> Thanks, Daniel
> >> Daniel Vetter (33):
> >> dummycon: Sprinkle locking checks
> >> fbdev: locking check for fb_set_suspend
> >> vt: might_sleep() annotation for do_blank_screen
> >> vt: More locking checks
> >> fbdev/sa1100fb: Remove dead code
> >> fbdev/cyber2000: Remove struct display
> >> fbdev/aty128fb: Remove dead code
> >> fbcon: s/struct display/struct fbcon_display/
> >> fbcon: Remove fbcon_has_exited
> >> fbcon: call fbcon_fb_(un)registered directly
> >> fbdev/sh_mobile: remove sh_mobile_lcdc_display_notify
> >> fbdev/omap: sysfs files can't disappear before the device is gone
> >> fbdev: sysfs files can't disappear before the device is gone
> >> staging/olpc: lock_fb_info can't fail
> >> fbdev/atyfb: lock_fb_info can't fail
> >> fbdev: lock_fb_info cannot fail
> >> fbcon: call fbcon_fb_bind directly
> >> fbdev: make unregister/unlink functions not fail
> >> fbdev: unify unlink_framebuffer paths
> >> fbdev/sh_mob: Remove fb notifier callback
> >> fbdev: directly call fbcon_suspended/resumed
> >> fbcon: Call fbcon_mode_deleted/new_modelist directly
> >> fbdev: Call fbcon_get_requirement directly
> >> Revert "backlight/fbcon: Add FB_EVENT_CONBLANK"
> >> fbmem: pull fbcon_fb_blanked out of fb_blank
> >> fbdev: remove FBINFO_MISC_USEREVENT around fb_blank
> >> fb: Flatten control flow in fb_set_var
> >> fbcon: replace FB_EVENT_MODE_CHANGE/_ALL with direct calls
> >> vgaswitcheroo: call fbcon_remap_all directly
> >> fbcon: Call con2fb_map functions directly
> >> fbcon: Document what I learned about fbcon locking
> >> staging/olpc_dcon: Add drm conversion to TODO
> >> backlight: simplify lcd notifier
> >> arch/arm/mach-pxa/am200epd.c | 13 +-
> >> drivers/gpu/vga/vga_switcheroo.c | 11 +-
> >> drivers/media/pci/ivtv/ivtvfb.c | 6 +-
> >> drivers/staging/fbtft/fbtft-core.c | 4 +-
> >> drivers/staging/olpc_dcon/TODO | 7 +
> >> drivers/staging/olpc_dcon/olpc_dcon.c | 6 +-
> >> drivers/tty/vt/vt.c | 18 +
> >> drivers/video/backlight/backlight.c | 2 +-
> >> drivers/video/backlight/lcd.c | 12 -
> >> drivers/video/console/dummycon.c | 6 +
> >> drivers/video/fbdev/aty/aty128fb.c | 64 ---
> >> drivers/video/fbdev/aty/atyfb_base.c | 3 +-
> >> drivers/video/fbdev/core/fbcmap.c | 6 +-
> >> drivers/video/fbdev/core/fbcon.c | 313 ++++++--------
> >> drivers/video/fbdev/core/fbcon.h | 6 +-
> >> drivers/video/fbdev/core/fbmem.c | 399 +++++++-----------
> >> drivers/video/fbdev/core/fbsysfs.c | 20 +-
> >> drivers/video/fbdev/cyber2000fb.c | 1 -
> >> drivers/video/fbdev/neofb.c | 9 +-
> >> .../video/fbdev/omap2/omapfb/omapfb-sysfs.c | 21 +-
> >> drivers/video/fbdev/sa1100fb.c | 25 --
> >> drivers/video/fbdev/savage/savagefb_driver.c | 9 +-
> >> drivers/video/fbdev/sh_mobile_lcdcfb.c | 132 +-----
> >> drivers/video/fbdev/sh_mobile_lcdcfb.h | 5 -
> >> include/linux/console_struct.h | 5 +-
> >> include/linux/fb.h | 45 +-
> >> include/linux/fbcon.h | 30 ++
> >> 27 files changed, 396 insertions(+), 782 deletions(-)
> >> --
> >> 2.20.1
> > --
> > Daniel Vetter
> > Software Engineer, Intel Corporation
> > http://blog.ffwll.ch