Re: [PATCH 09/14] drm/drv: Call drm_mode_config_create_state() by default
From: Laurent Pinchart
Date: Mon Mar 16 2026 - 12:39:40 EST
On Tue, Mar 10, 2026 at 05:07:01PM +0100, Maxime Ripard wrote:
> Almost all drivers, and our documented skeleton, call
> drm_mode_config_reset() prior to calling drm_dev_register() to
> initialize its DRM object states.
>
> Now that we have drm_mode_config_create_state() to create that initial
> state if it doesn't exist, we can call it directly in
> drm_dev_register(). That way, we know that the initial atomic state will
> always be allocated without any boilerplate.
Should most drivers now stop calling drm_mode_config_reset() at probe
time ?
> Signed-off-by: Maxime Ripard <mripard@xxxxxxxxxx>
> ---
> drivers/gpu/drm/drm_drv.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
> index 2915118436ce8a6640cfb0c59936031990727ed1..820106d56ab399a39cac56d98662b5ddbcae8ded 100644
> --- a/drivers/gpu/drm/drm_drv.c
> +++ b/drivers/gpu/drm/drm_drv.c
> @@ -1097,10 +1097,14 @@ int drm_dev_register(struct drm_device *dev, unsigned long flags)
>
> if (drm_core_check_feature(dev, DRIVER_MODESET)) {
> ret = drm_modeset_register_all(dev);
> if (ret)
> goto err_unload;
> +
> + ret = drm_mode_config_create_state(dev);
> + if (ret)
> + goto err_unload;
> }
> drm_panic_register(dev);
> drm_client_sysrq_register(dev);
>
> DRM_INFO("Initialized %s %d.%d.%d for %s on minor %d\n",
--
Regards,
Laurent Pinchart