linux/Documentation
Daniel Vetter 39aead8373 fbcon: Disable accelerated scrolling
So ever since syzbot discovered fbcon, we have solid proof that it's
full of bugs. And often the solution is to just delete code and remove
features, e.g.  50145474f6 ("fbcon: remove soft scrollback code").

Now the problem is that most modern-ish drivers really only treat
fbcon as an dumb kernel console until userspace takes over, and Oops
printer for some emergencies. Looking at drm drivers and the basic
vesa/efi fbdev drivers shows that only 3 drivers support any kind of
acceleration:

- nouveau, seems to be enabled by default
- omapdrm, when a DMM remapper exists using remapper rewriting for
  y/xpanning
- gma500, but that is getting deleted now for the GTT remapper trick,
  and the accelerated copyarea never set the FBINFO_HWACCEL_COPYAREA
  flag, so unused (and could be deleted already I think).

No other driver supportes accelerated fbcon. And fbcon is the only
user of this accel code (it's not exposed as uapi through ioctls),
which means we could garbage collect fairly enormous amounts of code
if we kill this.

Plus because syzbot only runs on virtual hardware, and none of the
drivers for that have acceleration, we'd remove a huge gap in testing.
And there's no other even remotely comprehensive testing aside from
syzbot.

This patch here just disables the acceleration code by always
redrawing when scrolling. The plan is that once this has been merged
for well over a year in released kernels, we can start to go around
and delete a lot of code.

v2:
- Drop a few more unused local variables, somehow I missed the
compiler warnings (Sam)
- Fix typo in comment (Jiri)
- add a todo entry for the cleanup (Thomas)

v3: Remove more unused variables (0day)

Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Jiri Slaby <jirislaby@kernel.org>
Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: nouveau@lists.freedesktop.org
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Jiri Slaby <jirislaby@kernel.org>
Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Cc: Peilin Ye <yepeilin.cs@gmail.com>
Cc: George Kennedy <george.kennedy@oracle.com>
Cc: Nathan Chancellor <natechancellor@gmail.com>
Cc: Peter Rosin <peda@axentia.se>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201029132229.4068359-1-daniel.vetter@ffwll.ch
2020-11-17 11:00:29 +01:00
..
ABI docs: ABI: sysfs-class-net: fix a typo 2020-11-02 13:45:37 +01:00
PCI Documentation: better locations for sysfs-pci, sysfs-tagging 2020-10-09 09:33:23 -06:00
RCU Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu 2020-10-09 08:21:56 +02:00
accounting
admin-guide Power management fixes for 5.10-rc3. 2020-11-05 11:04:29 -08:00
arm documentation: arm: sunxi: add Allwinner H6 documents 2020-10-28 11:19:24 -06:00
arm64 arm64: Add workaround for Arm Cortex-A77 erratum 1508412 2020-10-29 12:56:01 +00:00
block block-5.10-2020-10-24 2020-10-24 12:46:42 -07:00
bpf bpf: Migrate from patchwork.ozlabs.org to patchwork.kernel.org. 2020-10-11 22:05:47 +02:00
cdrom
core-api dma-mapping: document dma_{alloc,free}_pages 2020-10-23 12:07:46 +02:00
cpu-freq
crypto crypto: af_alg - add extra parameters for DRBG interface 2020-09-25 17:48:52 +10:00
dev-tools linux-kselftest-kunit-fixes-5.10-rc3 2020-11-05 11:52:17 -08:00
devicetree dt-bindings: panel-simple-dsi: add samsung panels for OnePlus 6/T 2020-11-14 20:52:26 +01:00
doc-guide docs: kerneldoc.py: add support for kerneldoc -nosymbol 2020-10-15 07:49:38 +02:00
driver-api drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
fault-injection A handful of late-arriving documentation fixes. 2020-10-23 17:13:53 -07:00
fb drm fixes (round two) for 5.10-rc1 2020-10-23 13:56:34 -07:00
features s390 updates for the 5.10 merge window 2020-10-16 12:36:38 -07:00
filesystems This pull contains a series of warning fixes from Mauro; once applied, the 2020-11-03 13:14:14 -08:00
firmware-guide docs: add some new files to their respective index.rst files 2020-09-10 10:48:20 -06:00
firmware_class
fpga
gpu fbcon: Disable accelerated scrolling 2020-11-17 11:00:29 +01:00
hid
hwmon docs: hwmon: mp2975.rst: address some html build warnings 2020-10-28 11:26:10 -06:00
i2c Documentation: i2c: add testunit docs to index 2020-10-05 22:57:45 +02:00
ia64
ide
iio Documentation: iio: fix a typo 2020-09-09 11:41:20 -06:00
infiniband
input
isdn
kbuild kbuild: doc: describe proper script invocation 2020-10-13 18:38:26 -07:00
kernel-hacking
leds docs: leds: index.rst: add a missing file 2020-11-02 13:45:37 +01:00
litmus-tests
livepatch
locking docs: lockdep-design: fix some warning issues 2020-10-28 11:41:15 -06:00
m68k
maintainer Documentation/maintainer: rehome sign-off process 2020-09-03 15:39:24 -06:00
mhi
mips dt: Remove booting-without-of.rst 2020-10-13 13:33:16 -05:00
misc-devices Documentation: remove mic/index from misc-devices/index.rst 2020-11-04 11:38:32 +01:00
netlabel
networking Networking fixes for 5.10-rc3, including fixes from wireless, can, 2020-11-06 11:50:28 -08:00
nios2
nvdimm
openrisc
parisc
pcmcia
power PCI/PM: Rename pci_dev.d3_delay to d3hot_delay 2020-09-29 14:21:50 -05:00
powerpc docs updates for v5.10-rc1 2020-10-16 15:02:21 -07:00
process A handful of late-arriving documentation fixes. 2020-10-23 17:13:53 -07:00
riscv
s390
scheduler docs: scheduler: fix the directory name on two files 2020-09-10 10:45:45 -06:00
scsi SPDX patches for 5.10-rc1 2020-10-14 16:19:42 -07:00
security Documentation: remove current_security() reference 2020-09-09 11:33:59 -06:00
sh dt: Remove booting-without-of.rst 2020-10-13 13:33:16 -05:00
sound docs: writing-an-alsa-driver.rst: fix some bad c:func: markups 2020-10-15 07:49:43 +02:00
sparc
sphinx A small number of fixes, plus a build tweak to respect the desire for 2020-11-03 09:57:30 -08:00
sphinx-static
spi
staging
target
timers
trace docs updates for v5.10-rc1 2020-10-16 15:02:21 -07:00
translations A handful of late-arriving documentation fixes. 2020-10-23 17:13:53 -07:00
usb
userspace-api docs: userspace-api: add iommu.rst to the index file 2020-10-28 11:26:10 -06:00
virt x86/kvm: Reserve KVM_FEATURE_MSI_EXT_DEST_ID 2020-10-28 13:52:05 -04:00
vm A handful of late-arriving documentation fixes. 2020-10-23 17:13:53 -07:00
w1 docs: w1: w1_therm: Fix broken xref, mistakes, clarify text 2020-10-08 09:47:15 +02:00
watchdog
x86 A handful of late-arriving documentation fixes. 2020-10-23 17:13:53 -07:00
xtensa
.gitignore
COPYING-logo
Changes
CodingStyle
Kconfig docs: Kconfig/Makefile: add a check for broken ABI files 2020-10-30 13:08:07 +01:00
Makefile A small number of fixes, plus a build tweak to respect the desire for 2020-11-03 09:57:30 -08:00
SubmittingPatches
asm-annotations.rst
atomic_bitops.txt
atomic_t.txt
conf.py This pull contains a series of warning fixes from Mauro; once applied, the 2020-11-03 13:14:14 -08:00
docutils.conf
dontdiff
index.rst
logo.gif
memory-barriers.txt
watch_queue.rst docs: watch_queue: fix some warnings 2020-09-10 10:48:56 -06:00