linux/drivers/gpu/drm/radeon
Imre Deak c0a8e4443d drm/radeon: Pass along the format info from .fb_create() to drm_helper_mode_fill_fb_struct()
Plumb the format info from .fb_create() all the way to
drm_helper_mode_fill_fb_struct() to avoid the redundant
lookup.

For the fbdev case a manual drm_get_format_info() lookup
is needed.

The patch is based on the driver parts of the patchset at Link:
below, which missed converting the radeon driver.

Due to the absence of this change in the patchset at Link:, after the
Fixed: commit below, radeon_framebuffer_init() ->
drm_helper_mode_fill_fb_struct() set drm_framebuffer::format incorrectly
to NULL, which lead to the !fb->format WARN() in drm_framebuffer_init()
and causing framebuffer creation to fail. This patch fixes both of these
issues.

v2: Amend the commit log mentioning the functional issues the patch
    fixes. (Tomi)

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: amd-gfx@lists.freedesktop.org
Cc: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Fixes: 41ab92d35c ("drm: Make passing of format info to drm_helper_mode_fill_fb_struct() mandatory")
Link: https://lore.kernel.org/all/20250701090722.13645-1-ville.syrjala@linux.intel.com
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://lore.kernel.org/r/20250805175752.690504-4-imre.deak@intel.com
2025-08-06 15:26:16 +03:00
..
reg_srcs
.gitignore
atom-bits.h drm/radeon: Clean up errors in ni_dpm.c 2024-01-18 15:39:02 -05:00
atom-names.h
atom-types.h
atom.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
atom.h drm/radeon: check PS, WS index 2024-01-15 18:35:37 -05:00
atombios_crtc.c drm/radeon: check PS, WS index 2024-01-15 18:35:37 -05:00
atombios_dp.c drm/display: dp: change drm_dp_dpcd_read_link_status() return value 2025-03-25 16:20:38 +02:00
atombios_encoders.c amd-drm-next-6.12-2024-08-26: 2024-08-27 14:33:12 +02:00
atombios_i2c.c drm/radeon: check PS, WS index 2024-01-15 18:35:37 -05:00
atombios.h drm/radeon: fixing typo in macro name 2025-05-22 12:02:01 -04:00
avivod.h
btc_dpm.c drm/radeon/btc_dpm: Clean up errors in btc_dpm.c 2024-01-18 15:39:11 -05:00
btc_dpm.h
btcd.h
cayman_blit_shaders.h
ci_dpm.c drm/radeon/ci_dpm: Remove needless NULL checks of dpm tables 2025-02-12 21:02:56 -05:00
ci_dpm.h drm/radeon: Clean up errors in ci_dpm.h 2024-01-18 15:40:19 -05:00
ci_smc.c
cik_blit_shaders.h
cik_reg.h
cik_sdma.c
cik.c drm/radeon/cik: Clean up doorbells 2025-05-16 13:37:21 -04:00
cik.h
cikd.h
clearstate_cayman.h drm/radeon: Clean up errors in clearstate_cayman.h 2024-01-18 15:40:15 -05:00
clearstate_ci.h drm/radeon: Clean up errors in clearstate_ci.h 2024-01-18 15:40:13 -05:00
clearstate_defs.h
clearstate_evergreen.h drm/radeon: Fix warning using plain integer as NULL 2023-11-17 09:29:54 -05:00
clearstate_si.h
cypress_dpm.c
cypress_dpm.h
dce3_1_afmt.c drm/radeon: include drm/drm_edid.h only where needed 2023-12-13 15:28:31 -05:00
dce6_afmt.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
dce6_afmt.h
evergreen_blit_shaders.h
evergreen_cs.c drm/radeon/evergreen_cs: lower evergreen_surface_check_linear_aligned restriction 2025-06-24 10:03:11 -04:00
evergreen_dma.c
evergreen_hdmi.c drm/radeon: convert to using is_hdmi and has_audio from display info 2024-05-23 14:37:24 +03:00
evergreen_hdmi.h
evergreen_reg.h drm/radeon: Clean up errors in evergreen_reg.h 2024-01-18 15:39:55 -05:00
evergreen_smc.h drm/radeon/dpm: Clean up errors in evergreen_smc.h 2024-01-18 15:40:17 -05:00
evergreen.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
evergreen.h
evergreend.h
Kconfig PCI: Add CONFIG_MMU dependency 2025-04-23 15:40:30 -05:00
kv_dpm.c drm/radeon: fixing typo in macro name 2025-05-22 12:02:01 -04:00
kv_dpm.h
kv_smc.c drm/radeon: Clean up errors in kv_smc.c 2024-01-18 15:39:53 -05:00
Makefile
mkregtable.c
ni_dma.c
ni_dpm.c drm/radeon/ni_dpm: remove redundant NULL check 2024-01-22 16:56:28 -05:00
ni_dpm.h drm/radeon/ni_dpm: Clean up errors in ni_dpm.c 2024-01-18 15:38:59 -05:00
ni_reg.h
ni.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
ni.h
nid.h
nislands_smc.h drm/radeon/ni_dpm: Clean up errors in nislands_smc.h 2024-01-18 15:40:36 -05:00
ObjectID.h
ppsmc.h
pptable.h drm/radeon: Remove __counted_by from StateArray.states[] 2024-06-05 10:58:19 -04:00
r100_track.h
r100.c drm/radeon/r100: Handle unknown family in r100_cp_init_microcode() 2024-08-13 10:27:15 -04:00
r100d.h
r200.c
r300_reg.h gpu/drm/radeon: Clean up errors in evergreen.c 2024-01-18 15:39:50 -05:00
r300.c drm/radeon: Fix rs400_gpu_init for ATI mobility radeon Xpress 200M 2025-03-05 10:43:01 -05:00
r300d.h
r420.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
r420d.h
r500_reg.h
r520.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
r520d.h
r600_cs.c drm/radeon/r600_cs: Fix possible int overflow in r600_packet3_check() 2024-10-01 17:41:09 -04:00
r600_dma.c
r600_dpm.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
r600_dpm.h drm/radeon: Clean up errors in r600_dpm.h 2024-01-18 15:38:52 -05:00
r600_hdmi.c drm/radeon/radeon_audio: Remove unused r600_hdmi_audio_workaround 2025-04-22 08:51:45 -04:00
r600_reg.h
r600.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
r600.h
r600d.h
radeon_acpi.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
radeon_acpi.h
radeon_agp.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
radeon_asic.c drm/radeon: Clean up errors in radeon_asic.c 2024-01-18 15:39:16 -05:00
radeon_asic.h drm/radeon/radeon_audio: Remove unused r600_hdmi_audio_workaround 2025-04-22 08:51:45 -04:00
radeon_atombios.c drm/radeon: convert bios_hardcoded_edid to drm_edid 2024-07-27 17:35:10 -04:00
radeon_atombios.h
radeon_atpx_handler.c drm/radeon: Clean up errors in radeon_atpx_handler.c 2024-01-18 15:38:46 -05:00
radeon_audio.c drm/radeon: use eld_mutex to protect access to connector->eld 2024-12-16 18:02:08 +02:00
radeon_audio.h drm/radeon: Clean up errors in radeon_audio.h 2024-01-18 15:39:27 -05:00
radeon_benchmark.c
radeon_bios.c drm/radeon: Use pci_get_base_class() to reduce duplicated code 2023-09-28 16:54:54 -05:00
radeon_clocks.c
radeon_combios.c drm/radeon: convert bios_hardcoded_edid to drm_edid 2024-07-27 17:35:10 -04:00
radeon_connectors.c drm/connector: make mode_valid take a const struct drm_display_mode 2025-01-07 12:45:19 +02:00
radeon_cs.c drm/radeon: fix the warning for radeon_cs_parser_fini 2025-04-21 10:57:19 -04:00
radeon_cursor.c
radeon_device.c drm/radeon: Do not hold console lock during resume 2025-07-15 14:07:53 -04:00
radeon_device.h
radeon_display.c drm/radeon: Pass along the format info from .fb_create() to drm_helper_mode_fill_fb_struct() 2025-08-06 15:26:16 +03:00
radeon_dp_auxch.c
radeon_drv.c drm/radeon: bump version to 2.51.0 2025-06-30 12:08:00 -04:00
radeon_drv.h drm: remove driver date from struct drm_driver and all drivers 2024-12-05 12:35:42 +02:00
radeon_encoders.c drm/radeon: Fix encoder->possible_clones 2024-10-15 11:25:01 -04:00
radeon_family.h
radeon_fbdev.c drm/radeon: Pass along the format info from .fb_create() to drm_helper_mode_fill_fb_struct() 2025-08-06 15:26:16 +03:00
radeon_fence.c drm/radeon: Remove unused radeon_fence_wait_any 2025-04-22 08:51:45 -04:00
radeon_gart.c
radeon_gem.c drm/radeon: switch over to drm_exec v2 2024-11-20 13:59:34 +01:00
radeon_i2c.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
radeon_ib.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
radeon_irq_kms.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
radeon_kms.c drm/radeon: change drm_dev_alloc to devm_drm_dev_alloc 2024-07-23 17:31:59 -04:00
radeon_kms.h
radeon_legacy_crtc.c
radeon_legacy_encoders.c drm/radeon: Use backlight power constants 2024-08-16 09:27:52 +02:00
radeon_legacy_encoders.h
radeon_legacy_tv.c
radeon_mn.c
radeon_mode.h drm/radeon: Pass along the format info from .fb_create() to drm_helper_mode_fill_fb_struct() 2025-08-06 15:26:16 +03:00
radeon_object.c drm/radeon: switch over to drm_exec v2 2024-11-20 13:59:34 +01:00
radeon_object.h drm/radeon: switch over to drm_exec v2 2024-11-20 13:59:34 +01:00
radeon_pm.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
radeon_pm.h
radeon_prime.c drm/gem: Acquire reservation lock in drm_gem_{pin/unpin}() 2024-03-11 13:33:50 +01:00
radeon_prime.h
radeon_reg.h
radeon_ring.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
radeon_sa.c
radeon_semaphore.c
radeon_sync.c
radeon_test.c
radeon_trace_points.c
radeon_trace.h
radeon_ttm.c drm/radeon: Use ttm_bo_move_null() in radeon_bo_move() 2024-11-20 09:36:55 -05:00
radeon_ttm.h
radeon_ucode.c
radeon_ucode.h
radeon_uvd.c drm/radeon/uvd: Replace nested max() with single max3() 2025-03-19 15:51:40 -04:00
radeon_vce.c drm/radeon: fix uninitialized size issue in radeon_vce_cs_parse() 2025-03-13 23:07:07 -04:00
radeon_vm.c drm/radeon: switch over to drm_exec v2 2024-11-20 13:59:34 +01:00
radeon.h drm/radeon: Remove unused radeon_fence_wait_any 2025-04-22 08:51:45 -04:00
rs100d.h
rs400.c drm/radeon: Fix rs400_gpu_init for ATI mobility radeon Xpress 200M 2025-03-05 10:43:01 -05:00
rs400d.h
rs600.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
rs600d.h
rs690.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
rs690d.h
rs780_dpm.c
rs780_dpm.h
rs780d.h
rv6xx_dpm.c
rv6xx_dpm.h drm/radeon/kms: Clean up errors in rv6xx_dpm.h 2024-01-18 15:39:14 -05:00
rv6xxd.h
rv200d.h
rv250d.h
rv350d.h
rv515.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
rv515d.h
rv730_dpm.c
rv730d.h
rv740_dpm.c
rv740d.h
rv770_dma.c
rv770_dpm.c drm/radeon/rv770: Clean up errors in rv770_dpm.c 2024-01-18 15:39:07 -05:00
rv770_dpm.h
rv770_smc.c
rv770_smc.h drm/radeon: Clean up errors in rv770_smc.h 2024-01-18 15:39:45 -05:00
rv770.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
rv770.h
rv770d.h
si_blit_shaders.h
si_dma.c
si_dpm.c drm/radeon: Clean up errors in si_dpm.c 2024-01-18 15:38:38 -05:00
si_dpm.h drm/radeon: Clean up errors in si_dpm.h 2024-01-18 15:39:35 -05:00
si_reg.h
si_smc.c
si.c drm/radeon: fix spelling typos 2025-03-05 10:37:18 -05:00
si.h
sid.h drm/radeon: fix MAX_POWER_SHIFT value 2025-04-07 15:18:32 -04:00
sislands_smc.h
smu7_discrete.h drm/radeon: Clean up errors in smu7_discrete.h 2024-01-18 15:39:04 -05:00
smu7_fusion.h drm/radeon/kms: Clean up errors in smu7_fusion.h 2024-01-18 15:40:06 -05:00
smu7.h drm/radeon/kms: Clean up errors in smu7.h 2024-01-18 15:40:08 -05:00
sumo_dpm.c drm/radeon: fix UBSAN warning in kv_dpm.c 2024-06-19 12:48:10 -04:00
sumo_dpm.h
sumo_smc.c
sumod.h
trinity_dpm.c drm/radeon/trinity_dpm: Clean up errors in trinity_dpm.c 2024-01-18 15:38:39 -05:00
trinity_dpm.h drm/radeon/dpm: Clean up errors in trinity_dpm.h 2024-01-18 15:39:09 -05:00
trinity_smc.c
trinityd.h
uvd_v1_0.c drm/radeon: Clean up errors in uvd_v1_0.c 2024-01-18 15:39:18 -05:00
uvd_v2_2.c
uvd_v3_1.c
uvd_v4_2.c
vce_v1_0.c
vce_v2_0.c
vce.h