linux/drivers/gpu/drm/ast
Thomas Zimmermann 2f42c1a616 drm/ast: dp501: Fix initialization of SCU2C
Ast's DP501 initialization reads the register SCU2C at offset 0x1202c
and tries to set it to source data from VGA. But writes the update to
offset 0x0, with unknown results. Write the result to SCU instead.

The bug only happens in ast_init_analog(). There's similar code in
ast_init_dvo(), which works correctly.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: 83c6620bae ("drm/ast: initial DP501 support (v0.2)")
Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Jocelyn Falempe <jfalempe@redhat.com>
Cc: dri-devel@lists.freedesktop.org
Cc: <stable@vger.kernel.org> # v3.16+
Link: https://patch.msgid.link/20260327133532.79696-2-tzimmermann@suse.de
2026-03-30 10:38:11 +02:00
..
ast_2000.c drm/ast: Store CRTC memory request threshold in device quirks 2025-10-15 09:59:43 +02:00
ast_2100.c drm/ast: Store CRTC memory request threshold in device quirks 2025-10-15 09:59:43 +02:00
ast_2200.c drm/ast: Store CRTC memory request threshold in device quirks 2025-10-15 09:59:43 +02:00
ast_2300.c drm/ast: Store CRTC memory request threshold in device quirks 2025-10-15 09:59:43 +02:00
ast_2400.c drm/ast: Store CRTC memory request threshold in device quirks 2025-10-15 09:59:43 +02:00
ast_2500.c drm/ast: Store precatch settings in struct ast_device_quirks 2025-10-15 09:59:44 +02:00
ast_2600.c drm/ast: Store HSync adjustment in device quirks 2025-10-15 09:59:47 +02:00
ast_cursor.c drm/ast: Swap framebuffer writes on big-endian machines 2025-12-21 21:44:35 +01:00
ast_ddc.c drm/ast: Define struct ast_ddc in ast_ddc.c 2024-04-11 09:38:17 +02:00
ast_ddc.h drm/ast: Define struct ast_ddc in ast_ddc.c 2024-04-11 09:38:17 +02:00
ast_dp.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
ast_dp501.c drm/ast: dp501: Fix initialization of SCU2C 2026-03-30 10:38:11 +02:00
ast_drv.c drm/ast: Support device quirks 2025-10-15 09:59:41 +02:00
ast_drv.h Linux 6.18-rc6 2025-11-21 08:55:08 +10:00
ast_mm.c drm/ast: Remove vram_fb_available from struct ast_device 2025-03-12 08:38:12 +01:00
ast_mode.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
ast_post.c drm/ast: Split ast_set_def_ext_reg() by chip generation 2025-07-09 14:36:21 +02:00
ast_post.h drm/ast: Gen7: Switch default registers to gen4+ state 2025-07-09 14:36:23 +02:00
ast_reg.h drm/ast: Blank with VGACR17 sync enable, always clear VGACRB6 sync off 2025-10-15 09:55:35 +02:00
ast_sil164.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
ast_tables.h drm/ast: Move display-clock tables to per-Gen source files 2025-09-29 13:28:07 +02:00
ast_vbios.c drm/ast: Add helpers for VBIOS mode lookup 2025-02-03 14:01:12 +01:00
ast_vbios.h drm/ast: Add helpers for VBIOS mode lookup 2025-02-03 14:01:12 +01:00
ast_vga.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
Kconfig PCI: Add CONFIG_MMU dependency 2025-04-23 15:40:30 -05:00
Makefile drm/ast: Remove generic device initialization 2025-09-29 13:28:16 +02:00