[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220131210552.482606-1-daniel.vetter@ffwll.ch>
Date: Mon, 31 Jan 2022 22:05:31 +0100
From: Daniel Vetter <daniel.vetter@...ll.ch>
To: DRI Development <dri-devel@...ts.freedesktop.org>
Cc: Intel Graphics Development <intel-gfx@...ts.freedesktop.org>,
linux-fbdev@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>,
Daniel Vetter <daniel.vetter@...ll.ch>
Subject: [PATCH 00/21] some fbcon patches, mostly locking
Hi all,
This took way longer than I hoped, but well I got lost in head-scratching
locking problems. Anyway ended up typing a pile of fbcon patches. Rough
overview:
- MAINTAINER entry for fbdev core in drm-misc, with the usual group
maintainering
- The reverts, but with a compile time option. I looked into combining
this with the RFC from Helge, but it looked like worse than either
approach, so I've kept mine. I think merging either is fine, no personal
stake here on the bikeshed color.
- The real distraction, aka a bunch of cleanups and mostly locking work
for fbcon. I managed to ditch at least one locking FIXME from fbcon.c.
The bad news that I spent a bunch more time pondering about the bigger
locking issues in fbcon.c, and I think as-is they're unfixable. We need
the threaded printk support to land first, so that we're not adding
lock_fb_info() to all printk() contexts. Because that just cannot work.
That also means we'll likely have another fbcon regression to face, in the
form of worse oops printing ability. And that one I don't think we can fix
with clever application of #ifdef, because changing locking rules at
compile time in fundamental ways is just not a very good idea.
Anyway, testing, review, feedback and all that very much welcome, as
usual.
Cheers, Daniel
Daniel Vetter (21):
MAINTAINERS: Add entry for fbdev core
fbcon: Resurrect fbcon accelerated scrolling code
fbcon: Restore fbcon scrolling acceleration
fbcon: delete a few unneeded forward decl
fbcon: Introduce wrapper for console->fb_info lookup
fbcon: delete delayed loading code
fbdev/sysfs: Fix locking
fbcon: Use delayed work for cursor
fbcon: Replace FBCON_FLAGS_INIT with a boolean
fb: Delete fb_info->queue
fbcon: Extract fbcon_open/release helpers
fbcon: Ditch error handling for con2fb_release_oldinfo
fbcon: move more common code into fb_open()
fbcon: use lock_fb_info in fbcon_open/release
fbcon: Consistently protect deferred_takeover with console_lock()
fbcon: Move console_lock for register/unlink/unregister
fbcon: Move more code into fbcon_release
fbcon: untangle fbcon_exit
fbcon: Maintain a private array of fb_info
Revert "fbdev: Prevent probing generic drivers if a FB is already
registered"
fbdev: Make registered_fb[] private to fbmem.c
Documentation/gpu/todo.rst | 13 +-
MAINTAINERS | 6 +
drivers/video/console/Kconfig | 11 +
drivers/video/fbdev/core/bitblit.c | 16 +
drivers/video/fbdev/core/fbcon.c | 1072 +++++++++++++++++------
drivers/video/fbdev/core/fbcon.h | 67 +-
drivers/video/fbdev/core/fbcon_ccw.c | 28 +-
drivers/video/fbdev/core/fbcon_cw.c | 28 +-
drivers/video/fbdev/core/fbcon_rotate.h | 21 +
drivers/video/fbdev/core/fbcon_ud.c | 37 +-
drivers/video/fbdev/core/fbmem.c | 35 +-
drivers/video/fbdev/core/fbsysfs.c | 2 +
drivers/video/fbdev/core/tileblit.c | 16 +
drivers/video/fbdev/efifb.c | 11 -
drivers/video/fbdev/simplefb.c | 11 -
drivers/video/fbdev/skeletonfb.c | 12 +-
include/linux/fb.h | 10 +-
17 files changed, 1017 insertions(+), 379 deletions(-)
--
2.33.0
Powered by blists - more mailing lists