[PATCH v14 16/41] compositor-drm: Add to_drm_mode helper

Daniel Stone daniels at collabora.com
Wed Dec 20 12:26:33 UTC 2017


Much like we already have to_drm_output and to_drm_backend.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
---
 libweston/compositor-drm.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c
index 2a5bc2d1c..cb8f00e95 100644
--- a/libweston/compositor-drm.c
+++ b/libweston/compositor-drm.c
@@ -483,6 +483,12 @@ drm_output_pageflip_timer_create(struct drm_output *output)
 	return 0;
 }
 
+static inline struct drm_mode *
+to_drm_mode(struct weston_mode *base)
+{
+	return container_of(base, struct drm_mode, base);
+}
+
 /**
  * Get the current value of a KMS property
  *
@@ -1829,7 +1835,7 @@ drm_output_apply_state(struct drm_output_state *state)
 	assert(scanout_state->dest_w == scanout_state->src_w >> 16);
 	assert(scanout_state->dest_h == scanout_state->src_h >> 16);
 
-	mode = container_of(output->base.current_mode, struct drm_mode, base);
+	mode = to_drm_mode(output->base.current_mode);
 	if (backend->state_invalid || !scanout_plane->state_cur->fb ||
 	    scanout_plane->state_cur->fb->stride != scanout_state->fb->stride) {
 		ret = drmModeSetCrtc(backend->drm.fd, output->crtc_id,
@@ -2785,7 +2791,7 @@ choose_mode (struct drm_output *output, struct weston_mode *target_mode)
 	    output->base.current_mode->height == target_mode->height &&
 	    (output->base.current_mode->refresh == target_mode->refresh ||
 	     target_mode->refresh == 0))
-		return (struct drm_mode *)output->base.current_mode;
+		return to_drm_mode(output->base.current_mode);
 
 	wl_list_for_each(mode, &output->base.mode_list, base.link) {
 		if (mode->mode_info.hdisplay == target_mode->width &&
-- 
2.14.3



More information about the wayland-devel mailing list