On Fri, 25 Oct 2024, Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> wrote: > On Wed, Oct 02, 2024 at 09:21:58PM +0300, Ville Syrjala wrote: >> From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> >> >> An attempt to hide the drm_plane/crtc legacy state better. >> >> This also highlights the fact that a lot of supposedly >> atomic drivers are poking around in the legacy crtc state, >> which is rather questionable. For planes we did force the >> legacy state to NULL already to force drivers to behave. >> But even then it seems capable of confusing people with >> its high profile location directly under drm_plane. >> >> This might end up as some kind of conflict >> galore, but the alternative would involve trying >> to wean the atomic drivers off one by one, >> which would probably take forever. At least with >> this the issue becomes visible and shouldn't be >> forgotten as easily. > > Ping, anyone have thoughts on this? I'd like to get something > like this in at some point to make the legacy state (ab)users > easily visible... On the approach, Acked-by: Jani Nikula <jani.nikula@xxxxxxxxx> with or without converting legacy into a pointer, up to you. > >> >> The cc list was getting way out of hand, so I had >> to trim it a bit. Hopefully I didn't chop off too >> many names... >> >> Cc: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx> >> Cc: Alain Volmat <alain.volmat@xxxxxxxxxxx> >> Cc: Alex Deucher <alexander.deucher@xxxxxxx> >> Cc: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> >> Cc: amd-gfx@xxxxxxxxxxxxxxxxxxxxx >> Cc: Andy Yan <andy.yan@xxxxxxxxxxxxxx> >> Cc: "Christian König" <christian.koenig@xxxxxxx> >> Cc: Danilo Krummrich <dakr@xxxxxxxxxx> >> Cc: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> >> Cc: freedreno@xxxxxxxxxxxxxxxxxxxxx >> Cc: Hans de Goede <hdegoede@xxxxxxxxxx> >> Cc: "Heiko Stübner" <heiko@xxxxxxxxx> >> Cc: Inki Dae <inki.dae@xxxxxxxxxxx> >> Cc: Jyri Sarha <jyri.sarha@xxxxxx> >> Cc: Karol Herbst <kherbst@xxxxxxxxxx> >> Cc: linux-amlogic@xxxxxxxxxxxxxxxxxxx >> Cc: linux-arm-msm@xxxxxxxxxxxxxxx >> Cc: linux-arm-msm@xxxxxxxxxxxxxxxx >> Cc: linux-mediatek@xxxxxxxxxxxxxxxxxxx >> Cc: linux-renesas-soc@xxxxxxxxxxxxxxx >> Cc: Liviu Dudau <liviu.dudau@xxxxxxx> >> Cc: Lyude Paul <lyude@xxxxxxxxxx> >> Cc: "Maíra Canal" <mairacanal@xxxxxxxxxx> >> Cc: Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx> >> Cc: nouveau@xxxxxxxxxxxxxxxxxxxxx >> Cc: nouveau@xxxxxxxxxxxxxxxxxxxxxx >> Cc: Patrik Jakobsson <patrik.r.jakobsson@xxxxxxxxx> >> Cc: Rob Clark <robdclark@xxxxxxxxx> >> Cc: Russell King <linux@xxxxxxxxxxxxxxx> >> Cc: Sandy Huang <hjc@xxxxxxxxxxxxxx> >> Cc: Sean Paul <sean@xxxxxxxxxx> >> Cc: spice-devel@xxxxxxxxxxxxxxxxxxxxx >> Cc: virtualization@xxxxxxxxxxxxxxx >> Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx >> Cc: Xinhui Pan <Xinhui.Pan@xxxxxxx> >> Cc: Zack Rusin <zack.rusin@xxxxxxxxxxxx> >> >> Ville Syrjälä (2): >> drm: Move plane->{fb,old_fb,crtc} to legacy sub-structure >> drm: Move crtc->{x,y,mode,enabled} to legacy sub-structure >> >> .../gpu/drm/amd/amdgpu/amdgpu_connectors.c | 7 +- >> drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 20 ++--- >> drivers/gpu/drm/amd/amdgpu/amdgpu_pll.c | 2 +- >> drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c | 2 +- >> drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 35 ++++---- >> drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 35 ++++---- >> drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 37 ++++----- >> drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 35 ++++---- >> .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 14 ++-- >> .../amd/display/amdgpu_dm/amdgpu_dm_crtc.c | 2 +- >> drivers/gpu/drm/amd/pm/amdgpu_dpm_internal.c | 4 +- >> drivers/gpu/drm/arm/hdlcd_drv.c | 2 +- >> drivers/gpu/drm/arm/malidp_hw.c | 2 +- >> drivers/gpu/drm/armada/armada_crtc.c | 12 ++- >> drivers/gpu/drm/ast/ast_dp.c | 8 +- >> drivers/gpu/drm/drm_atomic.c | 6 +- >> drivers/gpu/drm/drm_atomic_helper.c | 8 +- >> drivers/gpu/drm/drm_client_modeset.c | 10 +-- >> drivers/gpu/drm/drm_crtc.c | 31 +++---- >> drivers/gpu/drm/drm_crtc_helper.c | 80 ++++++++++--------- >> drivers/gpu/drm/drm_fb_helper.c | 12 +-- >> drivers/gpu/drm/drm_framebuffer.c | 4 +- >> drivers/gpu/drm/drm_plane.c | 69 ++++++++-------- >> drivers/gpu/drm/drm_plane_helper.c | 6 +- >> drivers/gpu/drm/drm_vblank.c | 2 +- >> drivers/gpu/drm/exynos/exynos5433_drm_decon.c | 4 +- >> drivers/gpu/drm/gma500/cdv_intel_display.c | 2 +- >> drivers/gpu/drm/gma500/cdv_intel_dp.c | 6 +- >> drivers/gpu/drm/gma500/cdv_intel_hdmi.c | 3 +- >> drivers/gpu/drm/gma500/cdv_intel_lvds.c | 6 +- >> drivers/gpu/drm/gma500/gma_display.c | 22 ++--- >> drivers/gpu/drm/gma500/oaktrail_crtc.c | 2 +- >> drivers/gpu/drm/gma500/psb_intel_display.c | 2 +- >> drivers/gpu/drm/gma500/psb_intel_lvds.c | 6 +- >> drivers/gpu/drm/gma500/psb_intel_sdvo.c | 8 +- >> drivers/gpu/drm/i2c/ch7006_drv.c | 7 +- >> drivers/gpu/drm/i2c/sil164_drv.c | 2 +- >> .../drm/i915/display/intel_modeset_setup.c | 4 +- >> drivers/gpu/drm/imx/lcdc/imx-lcdc.c | 31 ++++--- >> drivers/gpu/drm/mediatek/mtk_crtc.c | 6 +- >> drivers/gpu/drm/meson/meson_overlay.c | 2 +- >> drivers/gpu/drm/meson/meson_plane.c | 8 +- >> drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c | 18 +++-- >> drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 6 +- >> drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 16 ++-- >> drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c | 4 +- >> drivers/gpu/drm/nouveau/dispnv04/crtc.c | 25 +++--- >> drivers/gpu/drm/nouveau/dispnv04/cursor.c | 2 +- >> drivers/gpu/drm/nouveau/dispnv04/dfp.c | 2 +- >> drivers/gpu/drm/nouveau/dispnv04/disp.c | 4 +- >> .../gpu/drm/nouveau/dispnv04/tvmodesnv17.c | 4 +- >> drivers/gpu/drm/nouveau/dispnv04/tvnv17.c | 7 +- >> drivers/gpu/drm/nouveau/nouveau_connector.c | 6 +- >> drivers/gpu/drm/qxl/qxl_display.c | 6 +- >> drivers/gpu/drm/radeon/atombios_crtc.c | 28 +++---- >> drivers/gpu/drm/radeon/cik.c | 12 +-- >> drivers/gpu/drm/radeon/evergreen.c | 16 ++-- >> drivers/gpu/drm/radeon/r100.c | 16 ++-- >> drivers/gpu/drm/radeon/r600_cs.c | 2 +- >> drivers/gpu/drm/radeon/r600_dpm.c | 4 +- >> drivers/gpu/drm/radeon/radeon_connectors.c | 7 +- >> drivers/gpu/drm/radeon/radeon_cursor.c | 29 +++---- >> drivers/gpu/drm/radeon/radeon_device.c | 2 +- >> drivers/gpu/drm/radeon/radeon_display.c | 26 +++--- >> drivers/gpu/drm/radeon/radeon_drv.c | 2 +- >> drivers/gpu/drm/radeon/radeon_legacy_crtc.c | 16 ++-- >> .../gpu/drm/radeon/radeon_legacy_encoders.c | 2 +- >> drivers/gpu/drm/radeon/radeon_pm.c | 2 +- >> drivers/gpu/drm/radeon/rs600.c | 10 +-- >> drivers/gpu/drm/radeon/rs690.c | 22 ++--- >> drivers/gpu/drm/radeon/rs780_dpm.c | 6 +- >> drivers/gpu/drm/radeon/rv515.c | 30 +++---- >> drivers/gpu/drm/radeon/rv770.c | 2 +- >> drivers/gpu/drm/radeon/si.c | 14 ++-- >> .../gpu/drm/renesas/rcar-du/rcar_du_crtc.c | 2 +- >> .../gpu/drm/renesas/shmobile/shmob_drm_crtc.c | 2 +- >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 6 +- >> drivers/gpu/drm/sti/sti_crtc.c | 4 +- >> drivers/gpu/drm/sti/sti_cursor.c | 2 +- >> drivers/gpu/drm/sti/sti_gdp.c | 2 +- >> drivers/gpu/drm/sti/sti_hqvdp.c | 2 +- >> drivers/gpu/drm/sti/sti_tvout.c | 6 +- >> drivers/gpu/drm/sti/sti_vid.c | 2 +- >> drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 10 +-- >> drivers/gpu/drm/tiny/arcpgu.c | 2 +- >> drivers/gpu/drm/vboxvideo/vbox_mode.c | 2 +- >> drivers/gpu/drm/vc4/vc4_dpi.c | 2 +- >> drivers/gpu/drm/vc4/vc4_plane.c | 4 +- >> drivers/gpu/drm/virtio/virtgpu_display.c | 4 +- >> drivers/gpu/drm/vkms/vkms_composer.c | 4 +- >> drivers/gpu/drm/vkms/vkms_crtc.c | 2 +- >> drivers/gpu/drm/vkms/vkms_writeback.c | 4 +- >> drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 8 +- >> drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c | 18 +++-- >> drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 9 ++- >> drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 4 +- >> drivers/gpu/drm/vmwgfx/vmwgfx_vkms.c | 2 +- >> drivers/gpu/drm/xen/xen_drm_front_kms.c | 2 +- >> include/drm/drm_crtc.h | 75 ++++++++--------- >> include/drm/drm_plane.h | 52 ++++++------ >> 100 files changed, 599 insertions(+), 547 deletions(-) >> >> -- >> 2.45.2 -- Jani Nikula, Intel