umber-kernel/drivers/video/fbdev
René Rebe c61afb99c8 fbdev: ffb: fix corrupted video output on Sun FFB1
[ Upstream commit b28da0d092461ac239ff034a8ac3129320177ba3 ]

Fix Sun FFB1 corrupted video out ([1] and [2]) by disabling overlay and
initializing window mode to a known state. The issue never appeared on
my FFB2+/vertical nor Elite3D/M6. It could also depend on the PROM
version.

/SUNW,ffb@1e,0: FFB at 000001fc00000000, type 11, DAC pnum[236c] rev[10] manuf_rev[4]
X (II) /dev/fb0: Detected FFB1, Z-buffer, Single-buffered.
X (II) /dev/fb0: BT9068 (PAC1) ramdac detected (with normal cursor control)
X (II) /dev/fb0: Detected Creator/Creator3D

[1] https://www.instagram.com/p/DUTcSmSjSem/
[2] https://chaos.social/@ReneRebe/116023241660154102

Signed-off-by: René Rebe <rene@exactco.de>
Cc: stable@kernel.org
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2026-03-04 07:21:31 -05:00
..
aty fbdev: atyfb: Check if pll_ops->init_pll failed 2025-10-28 22:59:19 +01:00
core fbcon: check return value of con2fb_acquire_newinfo() 2026-03-04 07:21:31 -05:00
geode x86/msr: Add explicit includes of <asm/msr.h> 2025-05-02 10:23:47 +02:00
i810
kyro fbdev: kyro: Use devm_ioremap_wc() for screen mem 2025-07-27 19:56:51 +02:00
matrox fbdev/matroxfb: Include <linux/export.h> 2025-06-16 09:07:08 +02:00
mb862xx fbdev: mb862xxfb: Use int type to store negative error codes 2025-09-30 23:21:34 +02:00
mmp video: fbdev: mmp: switch to use spi_alloc_host() 2024-09-30 01:12:06 +02:00
nvidia fbdev: Use string choices helpers 2025-09-30 23:21:34 +02:00
omap fbdev/omap: Include <linux/export.h> 2025-06-16 09:07:12 +02:00
omap2 fbdev/omap2: Do not include <linux/export.h> 2025-06-16 09:07:47 +02:00
riva fbdev: rivafb: fix divide error in nv3_arb() 2026-02-19 16:31:35 +01:00
savage
sis fbdev/sisfb: Unexport symbols 2025-06-16 09:08:06 +02:00
via treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
68328fb.c
Kconfig fbdev fixes & enhancements for 6.18-rc1: 2025-10-10 09:36:23 -07:00
Makefile fbdev: da8xx: remove the driver 2024-10-15 10:08:23 +02:00
acornfb.c
acornfb.h
amifb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
arcfb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
arkfb.c fbdev: arkfb: Cast ics5342_init() allocation type 2025-05-31 10:24:02 +02:00
asiliantfb.c
atafb.c
atafb.h
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atmel_lcdfb.c Backmerge v6.12-rc6 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into drm-next 2024-11-04 14:25:33 +10:00
au1100fb.c fbdev: au1100fb: Move a variable assignment behind a null pointer check 2025-03-26 22:39:20 +01:00
au1100fb.h
au1200fb.c fbdev: au1200fb: Fix a memory leak in au1200fb_drv_probe() 2026-02-26 14:59:28 -08:00
au1200fb.h
broadsheetfb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
bt431.h
bt455.h
bw2.c fbdev: Constify struct sbus_mmap_map 2024-10-15 10:07:32 +02:00
c2p.h
c2p_core.h
c2p_iplan2.c fbdev/c2p: Include <linux/export.h> 2025-06-16 09:06:58 +02:00
c2p_planar.c fbdev/c2p: Include <linux/export.h> 2025-06-16 09:06:58 +02:00
carminefb.c fbdev: carminefb: Fix spelling mistake of CARMINE_TOTAL_DIPLAY_MEM 2025-05-31 10:24:01 +02:00
carminefb.h fbdev: carminefb: Fix spelling mistake of CARMINE_TOTAL_DIPLAY_MEM 2025-05-31 10:24:01 +02:00
carminefb_regs.h
cg3.c fbdev: Constify struct sbus_mmap_map 2024-10-15 10:07:32 +02:00
cg6.c fbdev: Constify struct sbus_mmap_map 2024-10-15 10:07:32 +02:00
cg14.c fbdev: Constify struct sbus_mmap_map 2024-10-15 10:07:32 +02:00
chipsfb.c fbdev: chipsfb: Use backlight power constants 2024-09-30 16:35:28 +02:00
cirrusfb.c
clps711x-fb.c - Improved handling of LCD power states and interactions with the fbdev subsystem. 2024-11-22 16:29:57 -08:00
cobalt_lcdfb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
controlfb.c
controlfb.h
cyber2000fb.c fbdev/cyber2000fb: Unexport symbols 2025-06-16 09:07:03 +02:00
cyber2000fb.h fbdev/cyber2000fb: Unexport symbols 2025-06-16 09:07:03 +02:00
dnfb.c
edid.h
efifb.c fbdev: efifb: Change the return value type to void 2025-01-09 00:29:42 +01:00
ep93xx-fb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
ffb.c fbdev: ffb: fix corrupted video output on Sun FFB1 2026-03-04 07:21:31 -05:00
fm2fb.c
fsl-diu-fb.c fbdev: fsl-diu-fb: add missing device_remove_file() 2025-03-26 22:39:21 +01:00
g364fb.c
gbefb.c fbdev: gbefb: fix to use physical address instead of dma address 2026-01-08 10:17:03 +01:00
goldfishfb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
grvga.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
gxt4500.c
hecubafb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
hgafb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
hitfb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
hpfb.c
hyperv_fb.c fbdev/hyperv_fb: deprecate this in favor of Hyper-V DRM driver 2025-10-02 21:15:29 +00:00
i740_reg.h
i740fb.c
imsttfb.c fbdev: imsttfb: convert comma to semicolon 2024-09-02 13:54:26 +02:00
imxfb.c fbdev: imxfb: Check fb_add_videomode to prevent null-ptr-deref 2025-07-27 19:56:51 +02:00
leo.c fbdev: Constify struct sbus_mmap_map 2024-10-15 10:07:32 +02:00
macfb.c
macmodes.c fbdev: Include <linux/export.h> 2025-06-16 09:06:19 +02:00
macmodes.h
maxinefb.c
metronomefb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
n411.c
neofb.c
ocfb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
offb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
p9100.c fbdev: Constify struct sbus_mmap_map 2024-10-15 10:07:32 +02:00
platinumfb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
platinumfb.h
pm2fb.c
pm3fb.c
pmag-aa-fb.c
pmag-ba-fb.c
pmagb-b-fb.c
ps3fb.c
pvr2fb.c fbdev: pvr2fb: Fix leftover reference to ONCHIP_NR_DMA_CHANNELS 2025-10-28 22:59:19 +01:00
pxa3xx-gcu.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
pxa3xx-gcu.h
pxa3xx-regs.h
pxa168fb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
pxa168fb.h
pxafb.c fbdev: pxafb: Fix multiple clamped values in pxafb_adjust_timing 2026-01-08 10:17:03 +01:00
pxafb.h
q40fb.c
s1d13xxxfb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
s3c-fb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
s3fb.c fbdev: s3fb: Revert mclk stop in suspend 2025-09-30 23:21:34 +02:00
sa1100fb.c
sa1100fb.h
sbuslib.c fbdev: Include <linux/export.h> 2025-06-16 09:06:19 +02:00
sbuslib.h fbdev: Constify struct sbus_mmap_map 2024-10-15 10:07:32 +02:00
sh7760fb.c fbdev: sh7760fb: Fix a possible memory leak in sh7760fb_alloc_mem() 2024-11-14 15:26:27 +01:00
sh_mobile_lcdcfb.c fbdev: lcdcfb: Register sysfs groups through driver core 2025-03-26 22:39:20 +01:00
sh_mobile_lcdcfb.h
simplefb.c fbdev: simplefb: Fix use after free in simplefb_detach_genpds() 2025-09-30 23:21:34 +02:00
skeletonfb.c
sm501fb.c fbdev: sm501fb: Add some geometry checks. 2025-03-26 22:39:21 +01:00
sm712.h
sm712fb.c
smscufx.c fbdev: smscufx: properly copy ioctl memory to kernelspace 2026-02-19 16:31:35 +01:00
ssd1307fb.c fbdev: ssd1307fb: fix potential page leak in ssd1307fb_probe() 2025-12-18 14:03:32 +01:00
sstfb.c fbdev: sstfb: Make CONFIG_FB_DEVICE optional 2024-10-15 10:07:31 +02:00
stifb.c
sunxvr500.c
sunxvr1000.c
sunxvr2500.c
tcx.c fbdev: tcx.c fix mem_map to correct smem_start offset 2026-01-08 10:17:03 +01:00
tdfxfb.c
tgafb.c
tridentfb.c
udlfb.c sysfs: treewide: switch back to bin_attribute::read()/write() 2025-06-17 10:44:13 +02:00
uvesafb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
valkyriefb.c fbdev: valkyriefb: Fix reference count leak in valkyriefb_init 2025-10-28 22:59:19 +01:00
valkyriefb.h
vesafb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
vfb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
vga16fb.c fbdev: vga16fb: fix orig_video_isVGA confusion 2025-01-19 22:33:52 +01:00
vt8500lcdfb.c fbdev: vt8500lcdfb: fix missing dma_free_coherent() 2026-03-04 07:21:31 -05:00
vt8500lcdfb.h
vt8623fb.c
wm8505fb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00
wm8505fb_regs.h
wmt_ge_rops.c fbdev: Include <linux/export.h> 2025-06-16 09:06:19 +02:00
wmt_ge_rops.h
xen-fbfront.c fbdev: xenfb: Use vmalloc_array to simplify code 2025-09-30 23:21:34 +02:00
xilinxfb.c fbdev: Switch back to struct platform_driver::remove() 2024-10-08 21:47:18 +02:00