From patchwork Wed Oct 2 18:21:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?VmlsbGUgU3lyasOkbMOk?= X-Patchwork-Id: 13820201 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CA74FCF319E for ; Wed, 2 Oct 2024 18:22:33 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.808988.1221086 (Exim 4.92) (envelope-from ) id 1sw3zO-0000C3-MJ; Wed, 02 Oct 2024 18:22:18 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 808988.1221086; Wed, 02 Oct 2024 18:22:18 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sw3zO-0000Bw-IR; Wed, 02 Oct 2024 18:22:18 +0000 Received: by outflank-mailman (input) for mailman id 808988; Wed, 02 Oct 2024 18:22:17 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sw3zN-0000Bj-CN for xen-devel@lists.xenproject.org; Wed, 02 Oct 2024 18:22:17 +0000 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 3e9d9323-80eb-11ef-a0ba-8be0dac302b0; Wed, 02 Oct 2024 20:22:14 +0200 (CEST) Received: from fmviesa008.fm.intel.com ([10.60.135.148]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Oct 2024 11:22:11 -0700 Received: from stinkpipe.fi.intel.com (HELO stinkbox) ([10.237.72.74]) by fmviesa008.fm.intel.com with SMTP; 02 Oct 2024 11:22:01 -0700 Received: by stinkbox (sSMTP sendmail emulation); Wed, 02 Oct 2024 21:22:00 +0300 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 3e9d9323-80eb-11ef-a0ba-8be0dac302b0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1727893335; x=1759429335; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=t01JDmHT3zLNfz8gKoJAfjyhjpNElz/ODXlRagJHKXg=; b=W7WnAqapHX1ZKggy0y3gTqJjjRS1I7UJaSy6LQ8iodS5bTNDg7GBJ1Cq rjuL07lJ+8WFxtFaavkJJtgeJPGipkac4P8H4zFItdK3gR53V1RdYCffJ lUdVkZrmCsz9K9bjemI5folkSGighiQbHYotHMwXbFDlCmN/B51tz5zKT YweTN27010zu1PjNhyc3LnPWbtGlFBjwbl2WotVr37lDyYAka7dADHstY fy3rmChLs5uNP41VFkmaQpocEGVTnjT0KANJYFoV9f7g5umjkw0v953c4 cO2gPBDFAIKU4IA9rsGAZOgmn9VQoPcF1H4rF3mw3l1vkU+duzVim/T+t Q==; X-CSE-ConnectionGUID: Ka9pW3qwRKGCUfu8WLwnBQ== X-CSE-MsgGUID: tX4KPOKsSVyVN6n/iI+vLg== X-IronPort-AV: E=McAfee;i="6700,10204,11213"; a="26957552" X-IronPort-AV: E=Sophos;i="6.11,172,1725346800"; d="scan'208";a="26957552" X-CSE-ConnectionGUID: RuSvj+gXSm+hT8AukyUnKw== X-CSE-MsgGUID: k8M7o8nlSyG/VQl44AXurg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,172,1725346800"; d="scan'208";a="74202322" From: Ville Syrjala To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org, Abhinav Kumar , Alain Volmat , Alex Deucher , Alexey Brodkin , amd-gfx@lists.freedesktop.org, Andy Yan , =?utf-8?q?Christian_K=C3=B6nig?= , Danilo Krummrich , Dmitry Baryshkov , freedreno@lists.freedesktop.org, Hans de Goede , =?utf-8?q?Heiko_St=C3=BCbner?= , Inki Dae , Jyri Sarha , Karol Herbst , linux-amlogic@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-msm@vger.kernel.orga, linux-mediatek@lists.infradead.org, linux-renesas-soc@vger.kernel.org, Liviu Dudau , Lyude Paul , =?utf-8?q?Ma=C3=ADra_Canal?= , Marijn Suijten , nouveau@lists.freedesktop.org, nouveau@lists.freedesktop.orga, Patrik Jakobsson , Rob Clark , Russell King , Sandy Huang , Sean Paul , spice-devel@lists.freedesktop.org, virtualization@lists.linux.dev, xen-devel@lists.xenproject.org, Xinhui Pan , Zack Rusin Subject: [PATCH 0/2] drm: Treewide plane/crtc legacy state sweeping Date: Wed, 2 Oct 2024 21:21:58 +0300 Message-ID: <20241002182200.15363-1-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.45.2 MIME-Version: 1.0 From: Ville Syrjälä 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. 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 Cc: Alain Volmat Cc: Alex Deucher Cc: Alexey Brodkin Cc: amd-gfx@lists.freedesktop.org Cc: Andy Yan Cc: "Christian König" Cc: Danilo Krummrich Cc: Dmitry Baryshkov Cc: freedreno@lists.freedesktop.org Cc: Hans de Goede Cc: "Heiko Stübner" Cc: Inki Dae Cc: Jyri Sarha Cc: Karol Herbst Cc: linux-amlogic@lists.infradead.org Cc: linux-arm-msm@vger.kernel.org Cc: linux-arm-msm@vger.kernel.orga Cc: linux-mediatek@lists.infradead.org Cc: linux-renesas-soc@vger.kernel.org Cc: Liviu Dudau Cc: Lyude Paul Cc: "Maíra Canal" Cc: Marijn Suijten Cc: nouveau@lists.freedesktop.org Cc: nouveau@lists.freedesktop.orga Cc: Patrik Jakobsson Cc: Rob Clark Cc: Russell King Cc: Sandy Huang Cc: Sean Paul Cc: spice-devel@lists.freedesktop.org Cc: virtualization@lists.linux.dev Cc: xen-devel@lists.xenproject.org Cc: Xinhui Pan Cc: Zack Rusin 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(-)