linux/drivers/gpu/drm/radeon
Ville Syrjälä 3b6e7d4064 drm/radeon: Fix encoder->possible_clones
Include the encoder itself in its possible_clones bitmask.
In the past nothing validated that drivers were populating
possible_clones correctly, but that changed in commit
74d2aacbe8 ("drm: Validate encoder->possible_clones").
Looks like radeon never got the memo and is still not
following the rules 100% correctly.

This results in some warnings during driver initialization:
Bogus possible_clones: [ENCODER:46:TV-46] possible_clones=0x4 (full encoder mask=0x7)
WARNING: CPU: 0 PID: 170 at drivers/gpu/drm/drm_mode_config.c:615 drm_mode_config_validate+0x113/0x39c
...

Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: amd-gfx@lists.freedesktop.org
Fixes: 74d2aacbe8 ("drm: Validate encoder->possible_clones")
Reported-by: Erhard Furtner <erhard_f@mailbox.org>
Closes: https://lore.kernel.org/dri-devel/20241009000321.418e4294@yea/
Tested-by: Erhard Furtner <erhard_f@mailbox.org>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2024-10-15 11:25:01 -04: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 drm/radeon: check PS, WS index 2024-01-15 18:35:37 -05:00
atom.h drm/radeon: check PS, WS index 2024-01-15 18:35:37 -05:00
atombios.h
atombios_crtc.c drm/radeon: check PS, WS index 2024-01-15 18:35:37 -05:00
atombios_dp.c drm/radeon: add late_register for connector 2024-10-07 14:09:41 -04: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
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: Clean up errors in ci_dpm.c 2024-01-18 15:39:42 -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.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
cik.h
cik_blit_shaders.h
cik_reg.h
cik_sdma.c
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
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.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
evergreen.h
evergreen_blit_shaders.h
evergreen_cs.c amd-drm-next-6.12-2024-08-26: 2024-08-27 14:33:12 +02: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
evergreend.h
Kconfig Revert "drm: Switch DRM_DISPLAY_HELPER to depends on" 2024-05-02 17:58:23 +02:00
kv_dpm.c drm/radeon: Clean up errors in trinity_dpm.c 2024-01-18 15:38:42 -05: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.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
ni.h
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
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.c drm/radeon/r100: Handle unknown family in r100_cp_init_microcode() 2024-08-13 10:27:15 -04:00
r100_track.h
r100d.h
r200.c
r300.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
r300_reg.h gpu/drm/radeon: Clean up errors in evergreen.c 2024-01-18 15:39:50 -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.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
r600.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: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
r600_reg.h
r600d.h
radeon.h drm/radeon: change drm_dev_alloc to devm_drm_dev_alloc 2024-07-23 17:31:59 -04:00
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
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: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04: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
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/radeon: add late_register for connector 2024-10-07 14:09:41 -04:00
radeon_cs.c
radeon_cursor.c
radeon_device.c drm/radeon: change drm_dev_alloc to devm_drm_dev_alloc 2024-07-23 17:31:59 -04:00
radeon_device.h
radeon_display.c drm/radeon: convert bios_hardcoded_edid to drm_edid 2024-07-27 17:35:10 -04:00
radeon_dp_auxch.c
radeon_drv.c drm/radeon: change drm_dev_alloc to devm_drm_dev_alloc 2024-07-23 17:31:59 -04:00
radeon_drv.h
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: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
radeon_fence.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
radeon_gart.c
radeon_gem.c drm/radeon: always set GEM function pointer 2024-10-08 09:46:31 -04: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: convert bios_hardcoded_edid to drm_edid 2024-07-27 17:35:10 -04:00
radeon_object.c drm/radeon: always set GEM function pointer 2024-10-08 09:46:31 -04:00
radeon_object.h
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.h
radeon_trace_points.c
radeon_ttm.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
radeon_ttm.h
radeon_ucode.c
radeon_ucode.h
radeon_uvd.c drm/ttm: replace busy placement with flags v6 2024-01-25 09:59:44 +01:00
radeon_vce.c
radeon_vm.c gpu/drm/radeon: fix two memleaks in radeon_vm_init 2023-12-14 15:28:53 -05:00
rs100d.h
rs400.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04: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.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
rv770.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
rv770d.h
si.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
si.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
sid.h
sislands_smc.h
smu7.h drm/radeon/kms: Clean up errors in smu7.h 2024-01-18 15:40:08 -05:00
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
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.h
vce_v1_0.c
vce_v2_0.c