linux/drivers/gpu
Ard Biesheuvel d4cea3ccd4 drm/amd/display: Fix unsafe uses of kernel mode FPU
commit ddbfac1528 upstream.

The point of isolating code that uses kernel mode FPU in separate
compilation units is to ensure that even implicit uses of, e.g., SIMD
registers for spilling occur only in a context where this is permitted,
i.e., from inside a kernel_fpu_begin/end block.

This is important on arm64, which uses -mgeneral-regs-only to build all
kernel code, with the exception of such compilation units where FP or
SIMD registers are expected to be used. Given that the compiler may
invent uses of FP/SIMD anywhere in such a unit, none of its code may be
accessible from outside a kernel_fpu_begin/end block.

This means that all callers into such compilation units must use the
DC_FP start/end macros, which must not occur there themselves. For
robustness, all functions with external linkage that reside there should
call dc_assert_fp_enabled() to assert that the FPU context was set up
correctly.

Fix this for the DCN35, DCN351 and DCN36 implementations.

Cc: Austin Zheng <austin.zheng@amd.com>
Cc: Jun Lei <jun.lei@amd.com>
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Leo Li <sunpeng.li@amd.com>
Cc: Rodrigo Siqueira <siqueira@igalia.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: amd-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-10-19 16:37:23 +02:00
..
drm drm/amd/display: Fix unsafe uses of kernel mode FPU 2025-10-19 16:37:23 +02:00
host1x gpu: host1x: Use for_each_available_child_of_node_scoped() 2025-05-07 18:09:30 +02:00
ipu-v3 gpu: ipu-v3: Switch to irq_find_mapping() 2025-05-16 21:06:12 +02:00
nova-core gpu: nova-core: depend on CONFIG_64BIT 2025-09-01 11:06:37 +02:00
trace gpu/trace: make TRACE_GPU_MEM configurable 2025-07-08 09:34:47 -07:00
vga vga_switcheroo: Use pci_is_display() 2025-07-17 15:30:13 -05:00
Makefile gpu: nova-core: add initial driver stub 2025-03-09 19:24:27 +01:00