* [PATCH v4 06/15] drm/dp_tunnel: Switch private_obj initialization to atomic_create_state
2026-01-28 12:43 [PATCH v4 00/15] drm/atomic: Allocate drm_private_state through a callback Maxime Ripard
@ 2026-01-28 12:43 ` Maxime Ripard
0 siblings, 0 replies; 2+ messages in thread
From: Maxime Ripard @ 2026-01-28 12:43 UTC (permalink / raw)
To: Maarten Lankhorst, Thomas Zimmermann, David Airlie, Simona Vetter
Cc: dri-devel, Maxime Ripard, Dmitry Baryshkov
The DP tunnel implementation relies on a drm_private_obj, that is
initialized by allocating and initializing a state, and then passing it
to drm_private_obj_init.
Since we're gradually moving away from that pattern to the more
established one relying on a atomic_create_state implementation, let's
migrate this instance to the new pattern.
Signed-off-by: Maxime Ripard <mripard@kernel.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
drivers/gpu/drm/display/drm_dp_tunnel.c | 25 ++++++++++++++++---------
1 file changed, 16 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/display/drm_dp_tunnel.c b/drivers/gpu/drm/display/drm_dp_tunnel.c
index 43f13a7c79b931beb230f8afe20afa0ebcf5ed8d..2abd714efd19f27697770813b38194e384be87ce 100644
--- a/drivers/gpu/drm/display/drm_dp_tunnel.c
+++ b/drivers/gpu/drm/display/drm_dp_tunnel.c
@@ -1495,11 +1495,26 @@ tunnel_group_duplicate_state(struct drm_private_obj *obj)
static void tunnel_group_destroy_state(struct drm_private_obj *obj, struct drm_private_state *state)
{
free_group_state(to_group_state(state));
}
+static struct drm_private_state * tunnel_group_atomic_create_state(struct drm_private_obj *obj)
+{
+ struct drm_dp_tunnel_group_state *group_state;
+
+ group_state = kzalloc(sizeof(*group_state), GFP_KERNEL);
+ if (!group_state)
+ return ERR_PTR(-ENOMEM);
+
+ __drm_atomic_helper_private_obj_create_state(obj, &group_state->base);
+ INIT_LIST_HEAD(&group_state->tunnel_states);
+
+ return &group_state->base;
+}
+
static const struct drm_private_state_funcs tunnel_group_funcs = {
+ .atomic_create_state = tunnel_group_atomic_create_state,
.atomic_duplicate_state = tunnel_group_duplicate_state,
.atomic_destroy_state = tunnel_group_destroy_state,
};
/**
@@ -1579,23 +1594,15 @@ drm_dp_tunnel_atomic_get_new_state(struct drm_atomic_state *state,
}
EXPORT_SYMBOL(drm_dp_tunnel_atomic_get_new_state);
static bool init_group(struct drm_dp_tunnel_mgr *mgr, struct drm_dp_tunnel_group *group)
{
- struct drm_dp_tunnel_group_state *group_state;
-
- group_state = kzalloc(sizeof(*group_state), GFP_KERNEL);
- if (!group_state)
- return false;
-
- INIT_LIST_HEAD(&group_state->tunnel_states);
-
group->mgr = mgr;
group->available_bw = -1;
INIT_LIST_HEAD(&group->tunnels);
- drm_atomic_private_obj_init(mgr->dev, &group->base, &group_state->base,
+ drm_atomic_private_obj_init(mgr->dev, &group->base, NULL,
&tunnel_group_funcs);
return true;
}
--
2.52.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v4 06/15] drm/dp_tunnel: Switch private_obj initialization to atomic_create_state
@ 2026-01-29 1:38 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-01-29 1:38 UTC (permalink / raw)
To: oe-kbuild
::::::
:::::: Manual check reason: "high confidence checkpatch report"
::::::
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20260128-drm-private-obj-reset-v4-6-90891fa3d3b0@redhat.com>
References: <20260128-drm-private-obj-reset-v4-6-90891fa3d3b0@redhat.com>
TO: Maxime Ripard <mripard@kernel.org>
TO: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
TO: Thomas Zimmermann <tzimmermann@suse.de>
TO: David Airlie <airlied@gmail.com>
TO: Simona Vetter <simona@ffwll.ch>
Hi Maxime,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 68b271a3a94cfd6c7695a96b6398b52feb89e2c2]
url: https://github.com/intel-lab-lkp/linux/commits/Maxime-Ripard/drm-atomic-Make-drm_atomic_private_obj_init-fallible/20260128-205507
base: 68b271a3a94cfd6c7695a96b6398b52feb89e2c2
patch link: https://lore.kernel.org/r/20260128-drm-private-obj-reset-v4-6-90891fa3d3b0%40redhat.com
patch subject: [PATCH v4 06/15] drm/dp_tunnel: Switch private_obj initialization to atomic_create_state
:::::: branch date: 13 hours ago
:::::: commit date: 13 hours ago
reproduce: (https://download.01.org/0day-ci/archive/20260129/202601290259.AzRE51I1-lkp@intel.com/reproduce)
# many are suggestions rather than must-fix
ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
#29: FILE: drivers/gpu/drm/display/drm_dp_tunnel.c:1500:
+static struct drm_private_state * tunnel_group_atomic_create_state(struct drm_private_obj *obj)
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-01-29 1:38 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-29 1:38 [PATCH v4 06/15] drm/dp_tunnel: Switch private_obj initialization to atomic_create_state kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2026-01-28 12:43 [PATCH v4 00/15] drm/atomic: Allocate drm_private_state through a callback Maxime Ripard
2026-01-28 12:43 ` [PATCH v4 06/15] drm/dp_tunnel: Switch private_obj initialization to atomic_create_state Maxime Ripard
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.