compositor-drm: use head_find_by_connector in update_unused_outputs
authorPekka Paalanen <pekka.paalanen@collabora.co.uk>
Tue, 13 Feb 2018 13:02:44 +0000 (15:02 +0200)
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>
Tue, 17 Apr 2018 12:57:41 +0000 (15:57 +0300)
Making this function not depend on drm_head::output field through
drm_output_find_by_connector() will later allow to remove the
drm_head::output field before removing the unused_connectors array. This
helps keeping the commit more fine-grained.

drm_backend_update_unused_outputs() was only interested in enabled
outputs. The new code is 100% equivalent to the old code. The
difference is that weston_head::output is only set for attached heads. A
connector cannot be in use if it is not attached to an output.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Acked-by: Derek Foreman <derekf@osg.samsung.com>
libweston/compositor-drm.c

index f34e710..0f0b6f0 100644 (file)
@@ -4941,11 +4941,11 @@ drm_backend_update_unused_outputs(struct drm_backend *b, drmModeRes *resources)
        wl_array_init(&b->unused_connectors);
 
        for (i = 0; i < resources->count_connectors; i++) {
-               struct drm_output *output;
+               struct drm_head *head;
                uint32_t *connector_id;
 
-               output = drm_output_find_by_connector(b, resources->connectors[i]);
-               if (output && output->base.enabled)
+               head = drm_head_find_by_connector(b, resources->connectors[i]);
+               if (head && weston_head_is_enabled(&head->base))
                        continue;
 
                connector_id = wl_array_add(&b->unused_connectors,