Go to file
Zsolt Kajtar ff968e486e fbdev: core: tileblit: Implement missing margin clearing for tileblit
[ Upstream commit 76d3ca8998 ]

I was wondering why there's garbage at the bottom of the screen when
tile blitting is used with an odd mode like 1080, 600 or 200. Sure there's
only space for half a tile but the same area is clean when the buffer
is bitmap.

Then later I found that it's supposed to be cleaned but that's not
implemented. So I took what's in bitblit and adapted it for tileblit.

This implementation was tested for both the horizontal and vertical case,
and now does the same as what's done for bitmap buffers.

If anyone is interested to reproduce the problem then I could bet that'd
be on a S3 or Ark. Just set up a mode with an odd line count and make
sure that the virtual size covers the complete tile at the bottom. E.g.
for 600 lines that's 608 virtual lines for a 16 tall tile. Then the
bottom area should be cleaned.

For the right side it's more difficult as there the drivers won't let an
odd size happen, unless the code is modified. But once it reports back a
few pixel columns short then fbcon won't use the last column. With the
patch that column is now clean.

Btw. the virtual size should be rounded up by the driver for both axes
(not only the horizontal) so that it's dividable by the tile size.
That's a driver bug but correcting it is not in scope for this patch.

Implement missing margin clearing for tileblit

Signed-off-by: Zsolt Kajtar <soci@c64.rulez.org>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-05-29 11:02:05 +02:00
arch riscv: Allow NOMMU kernels to access all of RAM 2025-05-29 11:02:05 +02:00
block block: fix race between set_blocksize and read paths 2025-05-29 11:02:01 +02:00
certs
crypto
Documentation netlink: specs: tc: all actions are indexed arrays 2025-05-22 14:29:42 +02:00
drivers fbdev: core: tileblit: Implement missing margin clearing for tileblit 2025-05-29 11:02:05 +02:00
fs NFS: Don't allow waiting for exiting tasks 2025-05-29 11:02:03 +02:00
include tracing: Mark binary printing functions with __printf() attribute 2025-05-29 11:02:04 +02:00
init
io_uring io_uring/msg: initialise msg request opcode 2025-05-29 11:02:03 +02:00
ipc
kernel tracing: Mark binary printing functions with __printf() attribute 2025-05-29 11:02:04 +02:00
lib
LICENSES
mm mm/page_alloc: fix race condition in unaccepted memory handling 2025-05-22 14:29:52 +02:00
net SUNRPC: Don't allow waiting for exiting tasks 2025-05-29 11:02:03 +02:00
rust
samples samples/bpf: Fix compilation failure for samples/bpf on LoongArch Fedora 2025-05-29 11:02:01 +02:00
scripts kconfig: merge_config: use an empty file as initfile 2025-05-29 11:02:02 +02:00
security ima: process_measurement() needlessly takes inode_lock() on MAY_READ 2025-05-29 11:02:00 +02:00
sound ALSA: usb-audio: Add sample rate quirk for Microdia JP001 USB Camera 2025-05-22 14:29:47 +02:00
tools selftests/bpf: Mitigate sockmap_ktls disconnect_after_delete failure 2025-05-29 11:02:01 +02:00
usr
virt KVM: Add member to struct kvm_gfn_range to indicate private/shared 2025-05-22 14:29:36 +02:00
.clang-format
.clippy.toml
.cocciconfig
.editorconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS MAINTAINERS: Update Alexey Makhalov's email address 2025-05-22 14:29:46 +02:00
Makefile Linux 6.12.30 2025-05-22 14:29:54 +02:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the reStructuredText markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.