dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: Ramalingam C <ramalingam.c@intel.com>
Cc: intel-gfx <intel-gfx@lists.freedesktop.org>,
	dri-devel <dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH 00/10] HDCP2.2 Phase II
Date: Tue, 26 Feb 2019 09:24:39 +0100	[thread overview]
Message-ID: <CAKMK7uHm75yfhQH8w1BGx498Oxg0qutO3YpXS8_zXEZoaoQtpg@mail.gmail.com> (raw)
In-Reply-To: <1551166569-19683-1-git-send-email-ramalingam.c@intel.com>

On Tue, Feb 26, 2019 at 8:42 AM Ramalingam C <ramalingam.c@intel.com> wrote:
>
> HDCP2.2 phase-II mojorly adds below features:
>         Addition of three connector properties
>                 CP_Content_Type
>                 CP_SRM

Not really clear why this is a connector property. Do we need
different SRM for different connectors? My understanding of the spec
is that we want one SRM globally (so not even per driver). I think a
binary sysfs file in the drm class (in /sys/class/drm, not one of the
subdirectories) would fit that. Plus make userspace simpler, since a
cat srm_file > /sys/class/drm/cp_srm at boot-up is all we need.

Drivers can then just check with drm core for the latest srm file at
the start of each hdcp transaction, and update it if there is one.
Plus maybe a few functions to do sink filtering on the cpu - I think
we need that for hdcp1.x on i915 too.

Other properties make sense on the connector I think. Also please
spell out CP as content_protection in all the properties/interfaces, I
think that would be good, in common lingo (see urban dictionary) cp
has a different meaning.
-Daniel

>                 CP_Downstream_Info
>         parsing for HDCP1.4 and 2.2 SRM Blobs
>         Once HDCP1.4/2.2 authentication is completed gathering the all
>                 downstream topology for userspace
>         Extending debugfs entry to provide the HDCP2.2 capability too.
>
> CP_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.
>
> There is a parallel effort in #wayland community to add the support for
> HDCP2.2 along with content type support. Patches are under review in
> #wayland community.
>
> CP_SRM:
> This blob property is used by the userspace to pass the SRM table
> of HDCP1.4 and 2.2. These are nothing but revocated list of receiver IDs
> of the HDCP sinks. KMD will use this list to identify the revocated
> devices in the HDCP authentication and deny the hdcp encryption to it.
>
> Work in progress to add the SRM support in the weston HDCP stack.
> Yet to publish the patches in the #wayland community.
>
> CP_Downstream_Info:
> This blob property is used by the kernel to pass the downstream topology
> of the HDCP encrypted port to the userspace.
>
> This is used by the userspace to implement the HDCP repeater, which KMD
> implementing the HDCP transmitters(downstream ports) and userspace
> implementing the upstream port(HDCP receiver).
>
> Discussion is on going to add the downstream_info support in the
> weston HDCP stack.
>
> Test-with: 1551165805-19130-2-git-send-email-ramalingam.c@intel.com
>
> Ramalingam C (10):
>   drm: Add CP content type property
>   drm/i915: Attach content type property
>   drm: Add CP System Renewability Msg Property
>   drm/i915: Add HDCP SRM Blob parsing
>   drm/i915: Add revocation check on HDCP1.4 Ksvs
>   drm/i915: SRM parsing and revocation check for HDCP2
>   drm: Add CP downstream_info property
>   drm/i915: Populate downstream info for HDCP1.4
>   drm/i915: Populate downstream info for HDCP2.2
>   drm/i915: debugfs: HDCP2.2 capability read
>
>  drivers/gpu/drm/drm_atomic_uapi.c   |  23 +++
>  drivers/gpu/drm/drm_connector.c     | 204 ++++++++++++++++++++
>  drivers/gpu/drm/i915/i915_debugfs.c |  13 +-
>  drivers/gpu/drm/i915/intel_ddi.c    |  23 ++-
>  drivers/gpu/drm/i915/intel_drv.h    |  11 +-
>  drivers/gpu/drm/i915/intel_hdcp.c   | 373 ++++++++++++++++++++++++++++++++++--
>  include/drm/drm_connector.h         |  40 ++++
>  include/drm/drm_hdcp.h              |  35 ++++
>  include/uapi/drm/drm_mode.h         |  39 ++++
>  9 files changed, 737 insertions(+), 24 deletions(-)
>
> --
> 2.7.4
>


-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

      parent reply	other threads:[~2019-02-26  8:24 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-26  7:35 [PATCH 00/10] HDCP2.2 Phase II Ramalingam C
2019-02-26  7:36 ` [PATCH 01/10] drm: Add CP content type property Ramalingam C
2019-03-05 14:39   ` [Intel-gfx] " Maarten Lankhorst
2019-03-05 19:00     ` C, Ramalingam
2019-02-26  7:36 ` [PATCH 02/10] drm/i915: Attach " Ramalingam C
2019-03-05 14:58   ` [Intel-gfx] " Maarten Lankhorst
2019-02-26  7:36 ` [PATCH 03/10] drm: Add CP System Renewability Msg Property Ramalingam C
2019-02-26  7:36 ` [PATCH 04/10] drm/i915: Add HDCP SRM Blob parsing Ramalingam C
2019-02-26  7:36 ` [PATCH 05/10] drm/i915: Add revocation check on HDCP1.4 Ksvs Ramalingam C
2019-02-26  7:36 ` [PATCH 06/10] drm/i915: SRM parsing and revocation check for HDCP2 Ramalingam C
2019-02-26  7:36 ` [PATCH 07/10] drm: Add CP downstream_info property Ramalingam C
2019-02-26  7:36 ` [PATCH 08/10] drm/i915: Populate downstream info for HDCP1.4 Ramalingam C
2019-02-26  7:36 ` [PATCH 09/10] drm/i915: Populate downstream info for HDCP2.2 Ramalingam C
2019-02-26  7:36 ` [PATCH 10/10] drm/i915: debugfs: HDCP2.2 capability read Ramalingam C
2019-02-26  8:24 ` Daniel Vetter [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAKMK7uHm75yfhQH8w1BGx498Oxg0qutO3YpXS8_zXEZoaoQtpg@mail.gmail.com \
    --to=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=ramalingam.c@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).