mbox series

[v6,00/10] HDCP2.2 Phase II

Message ID 20190502132303.27696-1-ramalingam.c@intel.com (mailing list archive)
Headers show
Series HDCP2.2 Phase II | expand

Message

Ramalingam C May 2, 2019, 1:22 p.m. UTC
This series adds the content type capability for HDCP through a
drm connetor proeprty "HDCP Content Type". By default this property will
be "Type 0". And this property is exposed by the drivers which has the
HDCP2.2 capability to enable the userspace to configure for "Type 1".

HDCP Content Type:
	This property is used to indicate the content type
classification of a stream. Which indicate the HDCP version required
for the rendering of that streams. This conten type is one of the
parameter in the HDCP2.2 authentication flow, as even downstream
repeaters will mandate the HDCP version requirement.

Two values possible for content type of a stream:
	Type 0: Stream can be rendered only on HDCP encrypted link no
		restriction on HDCP versions.
	Type 1: Stream can be rendered only on HDCP2.2 encrypted link.

And also this series adds a uevent for a change in the property state
change of a connector. This helps the userspace to monitor the uevent
for a proeprty state change than the trivial polling.

Userspace consumer for above "HDCP Content Type" property and uevent is
almost at the last phase of review at #wayland community. So Patches 6,
7, 8, 9 and 10 can be merged only when patches in #wayland community
receives the ACK.

HDCP SRM is implemented through request_firmware() interface. Hence
userspace is expected to write the signature validated latest available
SRM table into /lib/firmware/ as "display_hdcp_srm.bin". On every HDCP
authentication kernel will read the SRM from above mentioned file and
do the revocation check.

And also this series gathers all HDCP related DRM code into drm_hdcp.c

Thanks Daniel Vetter for all the reviews.

Series can be cloned from github
https://github.com/ramalingampc2008/drm-tip.git hdcp2_2_p2_v6

Test-with: <20190502131625.27551-2-ramalingam.c@intel.com>

Ramalingam C (10):
  drm: move content protection property to mode_config
  drm/i915: debugfs: HDCP2.2 capability read
  drm: revocation check at drm subsystem
  drm/i915: SRM revocation check for HDCP1.4 and 2.2
  drm/hdcp: gathering hdcp related code into drm_hdcp.c
  drm: Add Content protection type property
  drm/i915: Attach content type property
  drm: uevent for connector status change
  drm/hdcp: update content protection property with uevent
  drm/i915: update the hdcp state with uevent

 Documentation/gpu/drm-kms-helpers.rst |   6 +
 drivers/gpu/drm/Makefile              |   2 +-
 drivers/gpu/drm/drm_atomic_uapi.c     |   8 +-
 drivers/gpu/drm/drm_connector.c       |  61 +---
 drivers/gpu/drm/drm_hdcp.c            | 455 ++++++++++++++++++++++++++
 drivers/gpu/drm/drm_internal.h        |   4 +
 drivers/gpu/drm/drm_sysfs.c           |  37 +++
 drivers/gpu/drm/i915/i915_debugfs.c   |  13 +-
 drivers/gpu/drm/i915/intel_ddi.c      |  37 ++-
 drivers/gpu/drm/i915/intel_hdcp.c     | 100 ++++--
 drivers/gpu/drm/i915/intel_hdcp.h     |   3 +-
 include/drm/drm_connector.h           |  15 +-
 include/drm/drm_hdcp.h                |  29 ++
 include/drm/drm_mode_config.h         |  12 +
 include/drm/drm_sysfs.h               |   5 +-
 include/uapi/drm/drm_mode.h           |   4 +
 16 files changed, 699 insertions(+), 92 deletions(-)
 create mode 100644 drivers/gpu/drm/drm_hdcp.c

Comments

Ramalingam C May 2, 2019, 1:37 p.m. UTC | #1
On 2019-05-02 at 18:52:53 +0530, Ramalingam C wrote:
> This series adds the content type capability for HDCP through a
> drm connetor proeprty "HDCP Content Type". By default this property will
> be "Type 0". And this property is exposed by the drivers which has the
> HDCP2.2 capability to enable the userspace to configure for "Type 1".
> 
> HDCP Content Type:
> 	This property is used to indicate the content type
> classification of a stream. Which indicate the HDCP version required
> for the rendering of that streams. This conten type is one of the
> parameter in the HDCP2.2 authentication flow, as even downstream
> repeaters will mandate the HDCP version requirement.
> 
> Two values possible for content type of a stream:
> 	Type 0: Stream can be rendered only on HDCP encrypted link no
> 		restriction on HDCP versions.
> 	Type 1: Stream can be rendered only on HDCP2.2 encrypted link.
> 
> And also this series adds a uevent for a change in the property state
> change of a connector. This helps the userspace to monitor the uevent
> for a proeprty state change than the trivial polling.
> 
> Userspace consumer for above "HDCP Content Type" property and uevent is
> almost at the last phase of review at #wayland community. So Patches 6,
> 7, 8, 9 and 10 can be merged only when patches in #wayland community
> receives the ACK.
> 
> HDCP SRM is implemented through request_firmware() interface. Hence
> userspace is expected to write the signature validated latest available
> SRM table into /lib/firmware/ as "display_hdcp_srm.bin". On every HDCP
> authentication kernel will read the SRM from above mentioned file and
> do the revocation check.
> 
> And also this series gathers all HDCP related DRM code into drm_hdcp.c
> 
> Thanks Daniel Vetter for all the reviews.
Daniel,

Could you please review
https://patchwork.freedesktop.org/patch/303048/?series=57232&rev=8

And for all other patches I have imcorporated all your suggestions and
added your Rbed-by. Please have a look.

Thanks and Regards,
-Ram
> 
> Series can be cloned from github
> https://github.com/ramalingampc2008/drm-tip.git hdcp2_2_p2_v6
> 
> Test-with: <20190502131625.27551-2-ramalingam.c@intel.com>
> 
> Ramalingam C (10):
>   drm: move content protection property to mode_config
>   drm/i915: debugfs: HDCP2.2 capability read
>   drm: revocation check at drm subsystem
>   drm/i915: SRM revocation check for HDCP1.4 and 2.2
>   drm/hdcp: gathering hdcp related code into drm_hdcp.c
>   drm: Add Content protection type property
>   drm/i915: Attach content type property
>   drm: uevent for connector status change
>   drm/hdcp: update content protection property with uevent
>   drm/i915: update the hdcp state with uevent
> 
>  Documentation/gpu/drm-kms-helpers.rst |   6 +
>  drivers/gpu/drm/Makefile              |   2 +-
>  drivers/gpu/drm/drm_atomic_uapi.c     |   8 +-
>  drivers/gpu/drm/drm_connector.c       |  61 +---
>  drivers/gpu/drm/drm_hdcp.c            | 455 ++++++++++++++++++++++++++
>  drivers/gpu/drm/drm_internal.h        |   4 +
>  drivers/gpu/drm/drm_sysfs.c           |  37 +++
>  drivers/gpu/drm/i915/i915_debugfs.c   |  13 +-
>  drivers/gpu/drm/i915/intel_ddi.c      |  37 ++-
>  drivers/gpu/drm/i915/intel_hdcp.c     | 100 ++++--
>  drivers/gpu/drm/i915/intel_hdcp.h     |   3 +-
>  include/drm/drm_connector.h           |  15 +-
>  include/drm/drm_hdcp.h                |  29 ++
>  include/drm/drm_mode_config.h         |  12 +
>  include/drm/drm_sysfs.h               |   5 +-
>  include/uapi/drm/drm_mode.h           |   4 +
>  16 files changed, 699 insertions(+), 92 deletions(-)
>  create mode 100644 drivers/gpu/drm/drm_hdcp.c
> 
> -- 
> 2.19.1
>