diff mbox series

[1/5] drm/atomic: add private obj state to state dump

Message ID 20230908030521.236309-2-dmitry.baryshkov@linaro.org
State Accepted
Commit c8fa1cc07759dde17c97796f41696a0da35c6ea7
Headers show
Series [1/5] drm/atomic: add private obj state to state dump | expand

Commit Message

Dmitry Baryshkov Sept. 8, 2023, 3:05 a.m. UTC
The drm_atomic_print_new_state() already prints private object state via
drm_atomic_private_obj_print_state(). Add private object state dumping
to __drm_state_dump(), so that it is also included into drm_state_dump()
output and into debugfs/dri/N/state file.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/gpu/drm/drm_atomic.c | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Rob Clark Oct. 5, 2023, 10:49 p.m. UTC | #1
On Thu, Sep 7, 2023 at 8:05 PM Dmitry Baryshkov
<dmitry.baryshkov@linaro.org> wrote:
>
> The drm_atomic_print_new_state() already prints private object state via
> drm_atomic_private_obj_print_state(). Add private object state dumping
> to __drm_state_dump(), so that it is also included into drm_state_dump()
> output and into debugfs/dri/N/state file.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

Reviewed-by: Rob Clark <robdclark@gmail.com>

> ---
>  drivers/gpu/drm/drm_atomic.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
> index c277b198fa3f..9543e284dc15 100644
> --- a/drivers/gpu/drm/drm_atomic.c
> +++ b/drivers/gpu/drm/drm_atomic.c
> @@ -1773,6 +1773,7 @@ static void __drm_state_dump(struct drm_device *dev, struct drm_printer *p,
>         struct drm_crtc *crtc;
>         struct drm_connector *connector;
>         struct drm_connector_list_iter conn_iter;
> +       struct drm_private_obj *obj;
>
>         if (!drm_drv_uses_atomic_modeset(dev))
>                 return;
> @@ -1801,6 +1802,14 @@ static void __drm_state_dump(struct drm_device *dev, struct drm_printer *p,
>         if (take_locks)
>                 drm_modeset_unlock(&dev->mode_config.connection_mutex);
>         drm_connector_list_iter_end(&conn_iter);
> +
> +       list_for_each_entry(obj, &config->privobj_list, head) {
> +               if (take_locks)
> +                       drm_modeset_lock(&obj->lock, NULL);
> +               drm_atomic_private_obj_print_state(p, obj->state);
> +               if (take_locks)
> +                       drm_modeset_unlock(&obj->lock);
> +       }
>  }
>
>  /**
> --
> 2.39.2
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index c277b198fa3f..9543e284dc15 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -1773,6 +1773,7 @@  static void __drm_state_dump(struct drm_device *dev, struct drm_printer *p,
 	struct drm_crtc *crtc;
 	struct drm_connector *connector;
 	struct drm_connector_list_iter conn_iter;
+	struct drm_private_obj *obj;
 
 	if (!drm_drv_uses_atomic_modeset(dev))
 		return;
@@ -1801,6 +1802,14 @@  static void __drm_state_dump(struct drm_device *dev, struct drm_printer *p,
 	if (take_locks)
 		drm_modeset_unlock(&dev->mode_config.connection_mutex);
 	drm_connector_list_iter_end(&conn_iter);
+
+	list_for_each_entry(obj, &config->privobj_list, head) {
+		if (take_locks)
+			drm_modeset_lock(&obj->lock, NULL);
+		drm_atomic_private_obj_print_state(p, obj->state);
+		if (take_locks)
+			drm_modeset_unlock(&obj->lock);
+	}
 }
 
 /**