From: Thomas Zimmermann <tzimmermann@suse.de>
To: Maxime Ripard <mripard@kernel.org>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org, hamohammed.sa@gmail.com,
louis.chauvet@bootlin.com, melissa.srw@gmail.com,
alexander.deucher@amd.com, amd-gfx@lists.freedesktop.org,
christian.koenig@amd.com, alison.wang@nxp.com, stefan@agner.ch,
John Stultz <jstultz@google.com>,
sumit.semwal@linaro.org, xinliang.liu@linaro.org,
yongqin.liu@linaro.org, Frank.Li@nxp.com,
Sascha Hauer <s.hauer@pengutronix.de>,
festevam@gmail.com, imx@lists.linux.dev, kernel@pengutronix.de,
victor.liu@nxp.com, anitha.chrisanthus@intel.com,
paulk@sys-base.io, chenhuacai@kernel.org, jeffbai@aosc.io,
lvjianmin@loongson.cn, wuqianhai@loongson.cn, xry111@xry111.site,
zhengxingda@iscas.ac.cn, marex@denx.de, airlied@redhat.com,
kraxel@redhat.com, spice-devel@lists.freedesktop.org,
virtualization@lists.linux.dev, andy.yan@rock-chips.com,
heiko@sntech.de, hjc@rock-chips.com,
linux-rockchip@lists.infradead.org,
Baolin Wang <baolin.wang@linux.alibaba.com>,
orsonzhai@gmail.com, zhang.lyra@gmail.com,
alain.volmat@foss.st.com, rgallaispou@gmail.com,
alexandre.torgue@foss.st.com, mcoquelin.stm32@gmail.com,
philippe.cornu@foss.st.com, raphael.gallais-pou@foss.st.com,
yannick.fertre@foss.st.com, jyri.sarha@iki.fi,
tomi.valkeinen@ideasonboard.com, hansg@kernel.org,
dmitry.osipenko@collabora.com, gurchetansingh@chromium.org,
olvaffe@gmail.com, michal.simek@amd.com, harry.wentland@amd.com,
siqueira@igalia.com, sunpeng.li@amd.com, linux@armlinux.org.uk,
Dharma Balasubiramani <dharma.b@microchip.com>,
Ludovic Desroches <ludovic.desroches@microchip.com>,
Manikandan Muralidharan <manikandan.m@microchip.com>,
alexandre.belloni@bootlin.com, claudiu.beznea@tuxon.dev,
nicolas.ferre@microchip.com, alim.akhtar@samsung.com,
inki.dae@samsung.com, krzk@kernel.org, kyungmin.park@samsung.com,
linux-samsung-soc@vger.kernel.org, sw0312.kim@samsung.com,
p.zabel@pengutronix.de, angelogioacchino.delregno@collabora.com,
chunkuang.hu@kernel.org, matthias.bgg@gmail.com,
Lyude Paul <lyude@redhat.com>,
dakr@kernel.org, nouveau@lists.freedesktop.org,
geert+renesas@glider.be, kieran.bingham+renesas@ideasonboard.com,
laurent.pinchart+renesas@ideasonboard.com,
linux-renesas-soc@vger.kernel.org, magnus.damm@gmail.com,
tomi.valkeinen+renesas@ideasonboard.com,
Biju Das <biju.das.jz@bp.renesas.com>,
linux-sunxi@lists.linux.dev, samuel@sholland.org,
wens@kernel.org, Zack Rusin <zack.rusin@broadcom.com>,
bcm-kernel-feedback-list@broadcom.com
Subject: Re: [PATCH v4 00/41] drm/plane: Convert all drivers to atomic_create_state and remove reset
Date: Thu, 10 Sep 2026 09:03:14 +0200 [thread overview]
Message-ID: <a85f3b74-5172-4e2a-ad0e-6bddddbe1e33@suse.de> (raw)
In-Reply-To: <20260908-drm-no-more-plane-reset-v4-0-a31b3fcfc989@kernel.org>
Hi Maxime,
nice series. I looked through all the patches. For those patches where
I did not respond specifically, you can add
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Best regards
Thomas
Am 08.09.26 um 16:46 schrieb Maxime Ripard:
> This is a follow-up to the bridge reset removal series, and part of a
> larger effort to remove the reset hook from all KMS objects.
>
> The plane reset hook is overloaded: it is called both at probe time
> to create the initial software state and during suspend/resume to
> reset hardware and software state. These two roles have different
> requirements, and the reset hook is not fallible, making error
> handling difficult for the initial state allocation path.
>
> While reset has the semantics to reset both the software and hardware
> state, the vast majority of implementations and all the helpers only
> reset the software state, making them equivalent to
> atomic_create_state in practice. The atomic_create_state hook makes
> this explicit: it only allocates and initializes a pristine state
> without any side effect, and returns the state pointer or an ERR_PTR
> on failure.
>
> This series first adds the necessary infrastructure in the simple-kms
> and GEM atomic helpers, then converts all 51 plane drivers tree-wide
> from the reset hook to atomic_create_state. The conversions were done
> using a combination of Coccinelle semantic patches and manual
> adjustments. Once all drivers are converted, the old helpers and the
> reset hook itself are removed from struct drm_plane_funcs.
>
> Signed-off-by: Maxime Ripard <mripard@kernel.org>
> ---
> Changes in v4:
> - Fix a NULL pointer dereference with vkms
> - Rebase on drm-misc-next-2026-09-03
> - Link to v3: https://lore.kernel.org/r/20260831-drm-no-more-plane-reset-v3-0-1877c7aa57b3@kernel.org
>
> Changes in v3:
> - Drop leftover state destruction in sun4i
> - Rebase on current drm-misc-next
> - Link to v2: https://lore.kernel.org/r/20260814-drm-no-more-plane-reset-v2-0-82d2963dd134@kernel.org
>
> Changes in v2:
> - Rebase on latest drm-misc-next tag
> - Fix sashiko reviews
> - Fix atmel-hlcdc breakage
> - Link to v1: https://lore.kernel.org/r/20260709-drm-no-more-plane-reset-v1-0-302d986fe5f0@kernel.org
>
> ---
> Maxime Ripard (41):
> drm/simple-kms: Remove unused reset_plane hook
> drm/vkms: Move frame_info into vkms_plane_state
> drm/vkms: Convert to atomic_create_state
> drm/gem-atomic-helper: Remove __drm_gem_reset_shadow_plane()
> drm/amdgpu: Convert to atomic_create_state
> drm/fsl-dcu: Convert to atomic_create_state
> drm/hisilicon/kirin: Convert to atomic_create_state
> drm/imx/dc: Convert to atomic_create_state
> drm/kmb: Convert to atomic_create_state
> drm/logicvc: Convert to atomic_create_state
> drm/loongson: Convert to atomic_create_state
> drm/lcdif: Convert to atomic_create_state
> drm/mxsfb: Convert to atomic_create_state
> drm/qxl: Convert to atomic_create_state
> drm/rockchip: Convert to atomic_create_state
> drm/sprd: Convert to atomic_create_state
> drm/sti: Convert to atomic_create_state
> drm/stm: Convert to atomic_create_state
> drm/tests: kunit: Convert to atomic_create_state
> drm/tilcdc: Convert to atomic_create_state
> drm/vboxvideo: Convert to atomic_create_state
> drm/verisilicon: Convert to atomic_create_state
> drm/virtio: Convert to atomic_create_state
> drm/xlnx: Convert to atomic_create_state
> drm/atomic-state-helper: Remove drm_atomic_helper_plane_reset()
> drm/amdgpu_dm: Convert to atomic_create_state
> drm/armada: Convert to atomic_create_state
> drm/atmel-hlcdc: Drop spurious csc_init call from reset
> drm/atmel-hlcdc: Convert to atomic_create_state
> drm/exynos: Convert to atomic_create_state
> drm/imx/ipuv3: Convert to atomic_create_state
> drm/mediatek: Convert to atomic_create_state
> drm/nouveau: Convert to atomic_create_state
> drm/omap: Convert to atomic_create_state
> drm/rcar-du: Convert to atomic_create_state
> drm/rz-du: Convert to atomic_create_state
> drm/shmobile: Convert to atomic_create_state
> drm/sun4i: layer: Convert to atomic_create_state
> drm/vmwgfx: Convert to atomic_create_state
> drm/atomic-state-helper: Remove __drm_atomic_helper_plane_reset()
> drm/plane: Remove reset
>
> drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c | 2 +-
> .../drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c | 28 ++++++++-----
> .../drm/amd/display/amdgpu_dm/amdgpu_dm_plane.h | 2 +-
> .../display/amdgpu_dm/tests/amdgpu_dm_plane_test.c | 30 +++++---------
> drivers/gpu/drm/armada/armada_overlay.c | 39 ++++++++----------
> drivers/gpu/drm/armada/armada_plane.c | 15 +++----
> drivers/gpu/drm/armada/armada_plane.h | 2 +-
> drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 33 +++++++--------
> drivers/gpu/drm/drm_atomic_state_helper.c | 41 ------------------
> drivers/gpu/drm/drm_gem_atomic_helper.c | 20 ---------
> drivers/gpu/drm/drm_mode_config.c | 4 +-
> drivers/gpu/drm/exynos/exynos_drm_plane.c | 22 ++++------
> drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c | 2 +-
> drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 2 +-
> drivers/gpu/drm/imx/dc/dc-plane.c | 2 +-
> drivers/gpu/drm/imx/ipuv3/ipuv3-plane.c | 19 ++++-----
> drivers/gpu/drm/kmb/kmb_plane.c | 2 +-
> drivers/gpu/drm/logicvc/logicvc_layer.c | 2 +-
> drivers/gpu/drm/loongson/lsdc_plane.c | 2 +-
> drivers/gpu/drm/mediatek/mtk_plane.c | 22 ++++------
> drivers/gpu/drm/mxsfb/lcdif_kms.c | 2 +-
> drivers/gpu/drm/mxsfb/mxsfb_kms.c | 2 +-
> drivers/gpu/drm/nouveau/dispnv50/wndw.c | 15 ++++---
> drivers/gpu/drm/omapdrm/omap_plane.c | 13 +++---
> drivers/gpu/drm/qxl/qxl_display.c | 4 +-
> drivers/gpu/drm/renesas/rcar-du/rcar_du_plane.c | 15 +++----
> drivers/gpu/drm/renesas/rcar-du/rcar_du_vsp.c | 15 +++----
> drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c | 15 +++----
> drivers/gpu/drm/renesas/shmobile/shmob_drm_plane.c | 15 +++----
> drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 2 +-
> drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 2 +-
> drivers/gpu/drm/sprd/sprd_dpu.c | 2 +-
> 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/stm/ltdc.c | 2 +-
> drivers/gpu/drm/sun4i/sun4i_layer.c | 21 ++++------
> drivers/gpu/drm/tests/drm_kunit_helpers.c | 2 +-
> drivers/gpu/drm/tilcdc/tilcdc_plane.c | 2 +-
> drivers/gpu/drm/vboxvideo/vbox_mode.c | 2 +-
> drivers/gpu/drm/verisilicon/vs_cursor_plane.c | 2 +-
> drivers/gpu/drm/verisilicon/vs_plane.c | 14 +++----
> drivers/gpu/drm/verisilicon/vs_plane.h | 2 +-
> drivers/gpu/drm/verisilicon/vs_primary_plane.c | 2 +-
> drivers/gpu/drm/virtio/virtgpu_plane.c | 2 +-
> drivers/gpu/drm/vkms/vkms_composer.c | 30 +++++++-------
> drivers/gpu/drm/vkms/vkms_drv.h | 2 +-
> drivers/gpu/drm/vkms/vkms_formats.c | 48 +++++++++++-----------
> drivers/gpu/drm/vkms/vkms_plane.c | 36 +++++-----------
> drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 17 ++++----
> drivers/gpu/drm/vmwgfx/vmwgfx_kms.h | 2 +-
> drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c | 4 +-
> drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 4 +-
> drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 4 +-
> drivers/gpu/drm/xlnx/zynqmp_kms.c | 2 +-
> include/drm/drm_atomic_state_helper.h | 3 --
> include/drm/drm_gem_atomic_helper.h | 2 -
> include/drm/drm_plane.h | 12 ------
> include/drm/drm_simple_kms_helper.h | 1 -
> 59 files changed, 236 insertions(+), 381 deletions(-)
> ---
> base-commit: 17c6b88e85ffe5de5720004ae8c2176d52944aca
> change-id: 20260629-drm-no-more-plane-reset-04950f42e07f
>
> Best regards,
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Jochen Jaser, Andrew McDonald, (HRB 36809, AG Nürnberg)
prev parent reply other threads:[~2026-09-10 7:03 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-08 14:46 [PATCH v4 00/41] drm/plane: Convert all drivers to atomic_create_state and remove reset Maxime Ripard
2026-09-08 14:46 ` [PATCH v4 14/41] drm/qxl: Convert to atomic_create_state Maxime Ripard
2026-09-08 14:46 ` [PATCH v4 23/41] drm/virtio: " Maxime Ripard
2026-09-10 7:03 ` Thomas Zimmermann [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a85f3b74-5172-4e2a-ad0e-6bddddbe1e33@suse.de \
--to=tzimmermann@suse.de \
--cc=Frank.Li@nxp.com \
--cc=airlied@gmail.com \
--cc=airlied@redhat.com \
--cc=alain.volmat@foss.st.com \
--cc=alexander.deucher@amd.com \
--cc=alexandre.belloni@bootlin.com \
--cc=alexandre.torgue@foss.st.com \
--cc=alim.akhtar@samsung.com \
--cc=alison.wang@nxp.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=andy.yan@rock-chips.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=anitha.chrisanthus@intel.com \
--cc=baolin.wang@linux.alibaba.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=biju.das.jz@bp.renesas.com \
--cc=chenhuacai@kernel.org \
--cc=christian.koenig@amd.com \
--cc=chunkuang.hu@kernel.org \
--cc=claudiu.beznea@tuxon.dev \
--cc=dakr@kernel.org \
--cc=dharma.b@microchip.com \
--cc=dmitry.osipenko@collabora.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=festevam@gmail.com \
--cc=geert+renesas@glider.be \
--cc=gurchetansingh@chromium.org \
--cc=hamohammed.sa@gmail.com \
--cc=hansg@kernel.org \
--cc=harry.wentland@amd.com \
--cc=heiko@sntech.de \
--cc=hjc@rock-chips.com \
--cc=imx@lists.linux.dev \
--cc=inki.dae@samsung.com \
--cc=jeffbai@aosc.io \
--cc=jstultz@google.com \
--cc=jyri.sarha@iki.fi \
--cc=kernel@pengutronix.de \
--cc=kieran.bingham+renesas@ideasonboard.com \
--cc=kraxel@redhat.com \
--cc=krzk@kernel.org \
--cc=kyungmin.park@samsung.com \
--cc=laurent.pinchart+renesas@ideasonboard.com \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-sunxi@lists.linux.dev \
--cc=linux@armlinux.org.uk \
--cc=louis.chauvet@bootlin.com \
--cc=ludovic.desroches@microchip.com \
--cc=lvjianmin@loongson.cn \
--cc=lyude@redhat.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=magnus.damm@gmail.com \
--cc=manikandan.m@microchip.com \
--cc=marex@denx.de \
--cc=matthias.bgg@gmail.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=melissa.srw@gmail.com \
--cc=michal.simek@amd.com \
--cc=mripard@kernel.org \
--cc=nicolas.ferre@microchip.com \
--cc=nouveau@lists.freedesktop.org \
--cc=olvaffe@gmail.com \
--cc=orsonzhai@gmail.com \
--cc=p.zabel@pengutronix.de \
--cc=paulk@sys-base.io \
--cc=philippe.cornu@foss.st.com \
--cc=raphael.gallais-pou@foss.st.com \
--cc=rgallaispou@gmail.com \
--cc=s.hauer@pengutronix.de \
--cc=samuel@sholland.org \
--cc=simona@ffwll.ch \
--cc=siqueira@igalia.com \
--cc=spice-devel@lists.freedesktop.org \
--cc=stefan@agner.ch \
--cc=sumit.semwal@linaro.org \
--cc=sunpeng.li@amd.com \
--cc=sw0312.kim@samsung.com \
--cc=tomi.valkeinen+renesas@ideasonboard.com \
--cc=tomi.valkeinen@ideasonboard.com \
--cc=victor.liu@nxp.com \
--cc=virtualization@lists.linux.dev \
--cc=wens@kernel.org \
--cc=wuqianhai@loongson.cn \
--cc=xinliang.liu@linaro.org \
--cc=xry111@xry111.site \
--cc=yannick.fertre@foss.st.com \
--cc=yongqin.liu@linaro.org \
--cc=zack.rusin@broadcom.com \
--cc=zhang.lyra@gmail.com \
--cc=zhengxingda@iscas.ac.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox