weston/libweston
Ankit Nautiyal a344fe3245 backend-drm: Add support for content-protection
Currently drm-layer supports HDCP1.4 using connector property:
Content Protection. This property if available for a platform, can be
read and set for requesting content-protection.
Also, the patch series [1] adds HDCP2.2 support in drm, and patch [2]
adds support to send udev events for change in connector properties,
made by the kernel.

This patch adds these HDCP connector properties in weston, and exposes
the content-protection support to the client for drm-backend.

It adds the enums to represent 'Content Protection' and 'Content Type'
connector properties exposed by drm layer. It adds a member
'protection' in drm_output_state, to store the desired protection
from the weston_output in the drm-backend output-repaint cycle. This
is then used to write the HDCP connector properties for the drm_heads
attached to the drm_output.

The kernel sends uevents to the user-space for any change made by it
in the "Content Protection" connector property. No event is sent in
case of change in the property made by the user-space.
It means, when there is a change of the property value from "DESIRED"
to "ENABLE" i.e. successful authentication by the kernel, a uevent
will be generated, but in case of userspace requesting for disabling
the protection by writing "UNDESIRED" into the property, no uevent
will be generated.

This patch also adds support for handling new udev events for HDCP
connector property changes. Any such change, triggers change in the
weston_head's current_protection.

[1] https://patchwork.freedesktop.org/series/57233/#rev7
[2] https://patchwork.freedesktop.org/patch/303903/?series=57233&rev=7

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
2019-08-26 16:18:22 +05:30
..
backend-drm backend-drm: Add support for content-protection 2019-08-26 16:18:22 +05:30
backend-fbdev backend-drm: fix race during system suspend 2019-07-12 17:16:52 +00:00
backend-headless backend-drm: fix race during system suspend 2019-07-12 17:16:52 +00:00
backend-rdp backend-drm: fix race during system suspend 2019-07-12 17:16:52 +00:00
backend-wayland backend-drm: fix race during system suspend 2019-07-12 17:16:52 +00:00
backend-x11 backend-drm: fix race during system suspend 2019-07-12 17:16:52 +00:00
renderer-gl libweston: Introduce backend.h 2019-07-18 06:43:38 +00:00
animation.c Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
backend.h libweston: Move 'struct weston_backend' to the internal backend header 2019-07-18 06:43:38 +00:00
bindings.c Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
clipboard.c Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
compositor.c libweston: Remove internal weston-log set-up function out of public header 2019-07-18 13:34:04 +03:00
content-protection.c weston-debug: Rename weston-debug to weston-log to better reflect its purpose 2019-07-18 10:49:39 +03:00
data-device.c Fix a crash when closing an X11 window with a selection 2019-08-15 14:03:48 +02:00
dbus.c dbus: Don't return value from void function 2019-06-11 11:31:04 +01:00
dbus.h Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
git-version.h.meson Add Meson build system 2018-12-09 14:50:54 +02:00
input.c libweston: Migrate functions that operate on 'weston_seat' 2019-07-18 06:43:38 +00:00
launcher-direct.c libweston: make session_active a bool 2019-07-18 06:35:41 +00:00
launcher-impl.h Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
launcher-logind.c libweston: Move 'struct weston_backend' to the internal backend header 2019-07-18 06:43:38 +00:00
launcher-util.c Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
launcher-util.h Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
launcher-weston-launch.c libweston: make session_active a bool 2019-07-18 06:35:41 +00:00
libinput-device.c libweston: Migrate functions that operate on 'weston_output' into backend header 2019-07-18 06:43:38 +00:00
libinput-device.h Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
libinput-seat.c libweston: Remove internal weston-log set-up function out of public header 2019-07-18 13:34:04 +03:00
libinput-seat.h Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
libweston-internal.h make weston_binding_destroy public 2019-08-23 11:47:44 +00:00
linux-dmabuf.c libweston: Migrate functions that operate on 'weston_compositor' 2019-07-18 06:43:38 +00:00
linux-dmabuf.h linux-dmabuf: send deprecated format events 2018-01-18 11:24:19 +00:00
linux-explicit-synchronization.c libweston: Advertise minor version 2 of zwp_linux_explicit_synchronization_v1 2019-08-02 15:00:08 +00:00
linux-explicit-synchronization.h libweston: Support zwp_surface_synchronization_v1.set_acquire_fence 2019-02-06 12:21:56 +00:00
linux-sync-file-uapi.h libweston: Introduce an internal linux sync file API 2019-02-06 12:21:56 +00:00
linux-sync-file.c libweston: export weston_linux_sync_file_read_timestamp() 2019-04-18 12:50:55 +03:00
linux-sync-file.h libweston: export weston_linux_sync_file_read_timestamp() 2019-04-18 12:50:55 +03:00
log.c libweston/log: Add 'wlog' group for weston_log() related functions 2019-07-18 13:34:04 +03:00
meson.build weston-log-flight-rec: Introduce flight recorder stream 2019-07-18 13:34:04 +03:00
noop-renderer.c Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
pixel-formats.c pixel-formats: Remove duplicate doc string 2019-06-26 12:27:14 +01:00
pixel-formats.h pixel-formats: Added pixel_format_get_info_shm() helper for printing SHM buffers 2018-11-20 18:00:09 +02:00
pixman-renderer.c pixman: avoid unnecessary y-flip for screen capture 2019-08-01 08:19:15 +00:00
pixman-renderer.h libweston: Introduce backend.h 2019-07-18 06:43:38 +00:00
plugin-registry.c Rename plugin-registry.h to libweston/plugin-registry.h 2019-04-18 12:31:46 +03:00
screenshooter.c libweston: Migrate functions that operate on 'weston_output' into backend header 2019-07-18 06:43:38 +00:00
spring-tool.c Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
timeline.c Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
timeline.h timeline: Add GPU timestamp timepoint argument 2017-09-29 10:20:42 +03:00
touch-calibration.c libweston: Migrate functions that operate on 'weston_compositor' 2019-07-18 06:43:38 +00:00
vertex-clipping.c Rename src/ to libweston/ 2016-06-23 17:44:54 +03:00
vertex-clipping.h Rename src/ to libweston/ 2016-06-23 17:44:54 +03:00
weston-launch.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
weston-launch.h libweston: Migrate weston_environment_get_fd() to weston-launch header 2019-07-18 06:43:38 +00:00
weston-log-file.c weston-log-file: Introduce file type of stream 2019-07-18 13:34:04 +03:00
weston-log-flight-rec.c weston-log-flight-rec: Introduce flight recorder stream 2019-07-18 13:34:04 +03:00
weston-log-internal.h weston-log: Start adding documentation for the logging/debugging framework 2019-07-18 13:34:04 +03:00
weston-log-wayland.c weston-log/weston-log-wayland: Inline private subscription functions 2019-07-18 10:49:39 +03:00
weston-log.c weston-log: Return bytes written for 'printf()' and 'vprintf()' functions 2019-08-19 12:40:42 +03:00
zoom.c libweston: Migrate functions that operate on 'weston_output' into backend header 2019-07-18 06:43:38 +00:00