On Mon, 29 Jul 2019 15:03:16 +0530 Ramalingam C ramalingam.c@intel.com wrote:
On 2019-07-29 at 17:20:40 +0300, Pekka Paalanen wrote:
On Sun, 14 Jul 2019 16:30:08 +0530 Ramalingam C ramalingam.c@intel.com wrote:
This patch adds a DRM ENUM property to the selected connectors. This property is used for mentioning the protected content's type from userspace to kernel HDCP authentication.
Type of the stream is decided by the protected content providers. Type 0 content can be rendered on any HDCP protected display wires. But Type 1 content can be rendered only on HDCP2.2 protected paths.
So when a userspace sets this property to Type 1 and starts the HDCP enable, kernel will honour it only if HDCP2.2 authentication is through for type 1. Else HDCP enable will be failed.
Need ACK for this new conenctor property from userspace consumer.
v2: cp_content_type is replaced with content_protection_type [daniel] check at atomic_set_property is removed [Maarten] v3: %s/content_protection_type/hdcp_content_type [Pekka] v4: property is created for the first requested connector and then reused. [Danvet] v5: kernel doc nits addressed [Daniel] Rebased as part of patch reordering. v6: Kernel docs are modified [pekka] v7: More details in Kernel docs. [pekka] v8: Few more clarification into kernel doc of content type [pekka] v9: Small fixes in coding style.
Signed-off-by: Ramalingam C ramalingam.c@intel.com Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch
drivers/gpu/drm/drm_atomic_uapi.c | 4 ++ drivers/gpu/drm/drm_connector.c | 51 +++++++++++++++++++++++ drivers/gpu/drm/drm_hdcp.c | 36 +++++++++++++++- drivers/gpu/drm/i915/display/intel_hdcp.c | 4 +- include/drm/drm_connector.h | 7 ++++ include/drm/drm_hdcp.h | 2 +- include/drm/drm_mode_config.h | 6 +++ include/uapi/drm/drm_mode.h | 4 ++ 8 files changed, 111 insertions(+), 3 deletions(-)
Snip - sorry, gmail simply refuses to deliver my mail without trimming it hard.
diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h index 5ab331e5dc23..5c954394093f 100644 --- a/include/uapi/drm/drm_mode.h +++ b/include/uapi/drm/drm_mode.h @@ -218,6 +218,10 @@ extern "C" { #define DRM_MODE_CONTENT_PROTECTION_DESIRED 1 #define DRM_MODE_CONTENT_PROTECTION_ENABLED 2
+/* Content Type classification for HDCP2.2 vs others */ +#define DRM_MODE_HDCP_CONTENT_TYPE0 0 +#define DRM_MODE_HDCP_CONTENT_TYPE1 1
Hi,
I still believe that these definitions do not belong in the uapi header. Userspace must use the string names instead.
Otherwise the patch looks fine, though my Weston review is still on-going.
I assume that still we need to wait for the weston review completion.
Hence I request you to respond here once you are comfortable with this new uAPI.
Hi,
yes.
I have completed the Weston DRM-backend review in https://gitlab.freedesktop.org/wayland/weston/merge_requests/48 and the UAPI for HDCP 2.2 looks good. That Weston MR has some other not-UAPI-related bits I need to read through still, but they have no impact on the UAPI. The userspace is accepted in Weston.
I am also happy with the documentation in these kernel patches.
Therefore, with DRM_MODE_HDCP_CONTENT_TYPE0 and DRM_MODE_HDCP_CONTENT_TYPE1 removed from the kernel UAPI headers, for the kernel documentation and userspace consumer in Weston I give for these HDCP 2.2 Phase II kernel patches:
Acked-by: Pekka Paalanen pekka.paalanen@collabora.com
Let me know, preferably as a comment in the Weston MR, when the kernel patches have landed in the appropriate git tree to unblock merging in Weston, please.
Thanks, pq