compositor-drm: drm_set_backlight heads

Fix this function to support more than one head per 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>
dev
Pekka Paalanen 7 years ago
parent 2f66130594
commit ecc8cce45d
  1. 19
      libweston/compositor-drm.c

@ -3806,21 +3806,24 @@ drm_get_backlight(struct drm_head *head)
static void static void
drm_set_backlight(struct weston_output *output_base, uint32_t value) drm_set_backlight(struct weston_output *output_base, uint32_t value)
{ {
struct drm_head *head = to_drm_head(weston_output_get_first_head(output_base)); struct drm_output *output = to_drm_output(output_base);
struct drm_head *head;
long max_brightness, new_brightness; long max_brightness, new_brightness;
if (!head->backlight)
return;
if (value > 255) if (value > 255)
return; return;
max_brightness = backlight_get_max_brightness(head->backlight); wl_list_for_each(head, &output->base.head_list, base.output_link) {
if (!head->backlight)
return;
/* get denormalized value */ max_brightness = backlight_get_max_brightness(head->backlight);
new_brightness = (value * max_brightness) / 255;
backlight_set_brightness(head->backlight, new_brightness); /* get denormalized value */
new_brightness = (value * max_brightness) / 255;
backlight_set_brightness(head->backlight, new_brightness);
}
} }
/** /**

Loading…
Cancel
Save