Linux virtualization list
 help / color / mirror / Atom feed
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)



      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