All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: LKML <linux-kernel@vger.kernel.org>
Cc: DRI Development <dri-devel@lists.freedesktop.org>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	Linux Fbdev development list <linux-fbdev@vger.kernel.org>,
	Daniel Thompson <daniel.thompson@linaro.org>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	Daniel Vetter <daniel.vetter@ffwll.ch>
Subject: Re: [PATCH 00/33] fbcon notifier begone v3!
Date: Thu, 6 Jun 2019 09:38:36 +0200	[thread overview]
Message-ID: <CAKMK7uHneUFYPiRr10X9xfWTkGtaoQBB=niDMGkAgJ-fgo5=mA@mail.gmail.com> (raw)
In-Reply-To: <20190528090304.9388-1-daniel.vetter@ffwll.ch>

Hi Bart,

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.

> - Hash out actual merge plan.

I'd like to stuff this into drm.git somehow, I guess topic branch works
too.

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

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?

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

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel@ffwll.ch>
To: LKML <linux-kernel@vger.kernel.org>
Cc: DRI Development <dri-devel@lists.freedesktop.org>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	Linux Fbdev development list <linux-fbdev@vger.kernel.org>,
	Daniel Thompson <daniel.thompson@linaro.org>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	Daniel Vetter <daniel.vetter@ffwll.ch>
Subject: Re: [PATCH 00/33] fbcon notifier begone v3!
Date: Thu, 06 Jun 2019 07:38:36 +0000	[thread overview]
Message-ID: <CAKMK7uHneUFYPiRr10X9xfWTkGtaoQBB=niDMGkAgJ-fgo5=mA@mail.gmail.com> (raw)
In-Reply-To: <20190528090304.9388-1-daniel.vetter@ffwll.ch>

Hi Bart,

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.

> - Hash out actual merge plan.

I'd like to stuff this into drm.git somehow, I guess topic branch works
too.

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

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?

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

  parent reply	other threads:[~2019-06-06  7:38 UTC|newest]

Thread overview: 115+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-28  9:02 [PATCH 00/33] fbcon notifier begone v3! Daniel Vetter
2019-05-28  9:02 ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 01/33] dummycon: Sprinkle locking checks Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 02/33] fbdev: locking check for fb_set_suspend Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 03/33] vt: might_sleep() annotation for do_blank_screen Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 04/33] vt: More locking checks Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 05/33] fbdev/sa1100fb: Remove dead code Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 06/33] fbdev/cyber2000: Remove struct display Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 07/33] fbdev/aty128fb: Remove dead code Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 08/33] fbcon: s/struct display/struct fbcon_display/ Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 09/33] fbcon: Remove fbcon_has_exited Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 10/33] fbcon: call fbcon_fb_(un)registered directly Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 11/33] fbdev/sh_mobile: remove sh_mobile_lcdc_display_notify Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 12/33] fbdev/omap: sysfs files can't disappear before the device is gone Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 13/33] fbdev: " Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 14/33] staging/olpc: lock_fb_info can't fail Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 15/33] fbdev/atyfb: " Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 16/33] fbdev: lock_fb_info cannot fail Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 17/33] fbcon: call fbcon_fb_bind directly Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 18/33] fbdev: make unregister/unlink functions not fail Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 19/33] fbdev: unify unlink_framebuffer paths Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 20/33] fbdev/sh_mob: Remove fb notifier callback Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 21/33] fbdev: directly call fbcon_suspended/resumed Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 22/33] fbcon: Call fbcon_mode_deleted/new_modelist directly Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 23/33] fbdev: Call fbcon_get_requirement directly Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 24/33] Revert "backlight/fbcon: Add FB_EVENT_CONBLANK" Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-06-11 14:09   ` Daniel Thompson
2019-06-11 14:09     ` Daniel Thompson
2019-06-11 14:09     ` Daniel Thompson
2019-06-11 15:39     ` Daniel Vetter
2019-06-11 15:39       ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 25/33] fbmem: pull fbcon_fb_blanked out of fb_blank Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 26/33] fbdev: remove FBINFO_MISC_USEREVENT around fb_blank Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 27/33] fb: Flatten control flow in fb_set_var Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-28  9:02 ` [PATCH 28/33] fbcon: replace FB_EVENT_MODE_CHANGE/_ALL with direct calls Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-06-11 14:11   ` Daniel Thompson
2019-06-11 14:11     ` Daniel Thompson
2019-06-11 14:11     ` Daniel Thompson
2019-05-28  9:03 ` [PATCH 29/33] vgaswitcheroo: call fbcon_remap_all directly Daniel Vetter
2019-05-28  9:03   ` Daniel Vetter
2019-05-28  9:03 ` [PATCH 30/33] fbcon: Call con2fb_map functions directly Daniel Vetter
2019-05-28  9:03   ` Daniel Vetter
2019-05-28  9:03 ` [PATCH 31/33] fbcon: Document what I learned about fbcon locking Daniel Vetter
2019-05-28  9:03   ` Daniel Vetter
2019-05-28  9:03 ` [PATCH 32/33] staging/olpc_dcon: Add drm conversion to TODO Daniel Vetter
2019-05-28  9:03   ` Daniel Vetter
2019-05-28  9:03 ` [PATCH 33/33] backlight: simplify lcd notifier Daniel Vetter
2019-05-28  9:03   ` Daniel Vetter
2019-06-11 14:11   ` Daniel Thompson
2019-06-11 14:11     ` Daniel Thompson
2019-06-11 14:11     ` Daniel Thompson
2019-05-28 12:22 ` ✗ Fi.CI.CHECKPATCH: warning for fbcon notifier begone v3! Patchwork
2019-05-28 12:36 ` ✗ Fi.CI.SPARSE: " Patchwork
2019-05-28 12:41 ` ✓ Fi.CI.BAT: success " Patchwork
2019-05-28 18:11 ` ✓ Fi.CI.IGT: " Patchwork
2019-06-06  7:38 ` Daniel Vetter [this message]
2019-06-06  7:38   ` [PATCH 00/33] " Daniel Vetter
2019-06-07 10:07   ` Bartlomiej Zolnierkiewicz
2019-06-07 10:07     ` Bartlomiej Zolnierkiewicz
2019-06-07 14:43     ` Daniel Vetter
2019-06-07 14:43       ` Daniel Vetter
2019-06-07 14:43       ` Daniel Vetter
2019-06-11 14:16     ` Daniel Thompson
2019-06-11 14:16       ` Daniel Thompson
2019-06-11 14:16       ` Daniel Thompson
2019-06-11 15:50       ` Daniel Vetter
2019-06-11 15:50         ` Daniel Vetter
2019-06-11 15:50         ` Daniel Vetter
2019-06-12  6:09       ` Lee Jones
2019-06-12  6:09         ` Lee Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKMK7uHneUFYPiRr10X9xfWTkGtaoQBB=niDMGkAgJ-fgo5=mA@mail.gmail.com' \
    --to=daniel@ffwll.ch \
    --cc=b.zolnierkie@samsung.com \
    --cc=daniel.thompson@linaro.org \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.