linux-stable/drivers
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
..
accel accel/ivpu: Fix fw log printing 2025-05-22 14:29:53 +02:00
accessibility
acpi ACPI: PNP: Add Intel OC Watchdog IDs to non-PNP device list 2025-05-29 11:02:04 +02:00
amba
android
ata
atm
auxdisplay
base
bcma
block
bluetooth Bluetooth: btnxpuart: Fix kernel panic during FW release 2025-05-22 14:29:53 +02:00
bus
cache
cdrom
cdx
char tpm: Convert warn to dbg in tpm2_start_auth_session() 2025-05-29 11:02:04 +02:00
clk
clocksource
comedi
connector
counter
cpufreq cpufreq: Add SM8650 to cpufreq-dt-platdev blocklist 2025-05-29 11:01:57 +02:00
cpuidle
crypto
cxl
dax
dca
devfreq
dio
dma dmaengine: idxd: Refactor remove call with idxd_cleanup() helper 2025-05-22 14:29:52 +02:00
dma-buf
dpll
edac
eisa
extcon
firewire
firmware
fpga
fsi
gnss
gpio
gpu drm/amdgpu: Allow P2P access through XGMI 2025-05-29 11:02:01 +02:00
greybus
hid
hsi
hte
hv
hwmon
hwspinlock
hwtracing intel_th: avoid using deprecated page->mapping, index fields 2025-05-29 11:01:58 +02:00
i2c i2c: designware: Fix an error handling path in i2c_dw_pci_probe() 2025-05-29 11:01:56 +02:00
i3c
idle
iio iio: light: opt3001: fix deadlock due to concurrent flag access 2025-05-22 14:29:53 +02:00
infiniband
input
interconnect
iommu iommufd: Extend IOMMU_GET_HW_INFO to report PASID capability 2025-05-29 11:02:04 +02:00
ipack
irqchip
isdn
leds
macintosh
mailbox mailbox: use error ret code of of_parse_phandle_with_args() 2025-05-29 11:02:04 +02:00
mcb
md
media
memory
memstick
message
mfd
misc mei: vsc: Use struct vsc_tp_packet as vsc-tp tx_buf and rx_buf type 2025-05-29 11:01:58 +02:00
mmc
most
mtd
mux
net net: enetc: refactor bulk flipping of RX buffers to separate function 2025-05-29 11:01:59 +02:00
nfc
ntb
nubus
nvdimm
nvme
nvmem nvmem: qfprom: switch to 4-byte aligned reads 2025-05-29 11:01:58 +02:00
of
opp
parisc
parport
pci iommufd: Extend IOMMU_GET_HW_INFO to report PASID capability 2025-05-29 11:02:04 +02:00
pcmcia
peci
perf
phy phy: renesas: rcar-gen3-usb2: Assert PLL reset on PHY power off 2025-05-29 11:01:57 +02:00
pinctrl
platform
pmdomain
pnp
power
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc
s390 s390/vfio-ap: Fix no AP queue sharing allowed message written to kernel log 2025-05-29 11:02:02 +02:00
sbus
scsi scsi: mpi3mr: Add level check to control event logging 2025-05-29 11:01:59 +02:00
sh
siox
slimbus
soc
soundwire
spi
spmi
ssb
staging
target scsi: target: iscsi: Fix timeout on deleted connection 2025-05-29 11:01:58 +02:00
tc
tee
thermal
thunderbolt
tty
ufs scsi: ufs: Introduce quirk to extend PA_HIBERN8TIME for UFS devices 2025-05-29 11:01:58 +02:00
uio
usb usb: typec: ucsi: displayport: Fix deadlock 2025-05-22 14:29:53 +02:00
vdpa
vfio
vhost vhost-scsi: protect vq->log_used with vq->mutex 2025-05-29 11:01:59 +02:00
video fbdev: core: tileblit: Implement missing margin clearing for tileblit 2025-05-29 11:02:05 +02:00
virt
virtio virtio_ring: Fix data race by tagging event_triggered as racy for KCSAN 2025-05-29 11:01:58 +02:00
w1
watchdog
xen
zorro
Kconfig
Makefile