All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ramalingam C <ramalingam.c@intel.com>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: Daniel Vetter <daniel.vetter@intel.com>,
	intel-gfx <intel-gfx@lists.freedesktop.org>,
	dri-devel <dri-devel@lists.freedesktop.org>
Subject: Re: [RFC v1 01/20] drm/hdcp: HDCP bitmask property for connectors
Date: Thu, 13 Jul 2017 18:29:33 +0530	[thread overview]
Message-ID: <eb52a12a-7078-00f0-9086-05f9ea8a490f@intel.com> (raw)
In-Reply-To: <CAKMK7uGJRUNZutZe-wpWpRs2TGgLKZY1zmuFR=2tJosZzUeMww@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 5173 bytes --]



On Thursday 13 July 2017 04:06 PM, Daniel Vetter wrote:
> On Thu, Jul 13, 2017 at 12:15 PM, Ramalingam C <ramalingam.c@intel.com> wrote:
>>
>> On Thursday 13 July 2017 02:15 PM, Daniel Vetter wrote:
>>
>> On Thu, Jul 13, 2017 at 8:54 AM, Ramalingam C <ramalingam.c@intel.com>
>> wrote:
>>
>> On Thursday 13 July 2017 11:39 AM, Daniel Vetter wrote:
>>
>> On Wed, Jul 12, 2017 at 9:10 PM, Sean Paul <seanpaul@chromium.org> wrote:
>>
>> Why all these intermediate steps and different failure modes? Either hdcp
>> works, or it doesnt (and we can split up with the type 0 or type 1 if
>> needed), but I don't know what userspace would do with all the other
>> stuff?
>>
>> enum values  HDCP_ENABLE, HDCP_ENABLE_TYPE1 and HDCP_DISABLE along with
>> kobj-uevent
>> for HDCP state change, could do the bare minimal HDCP1.4 and HDCP2.2
>> configuration.
>>
>> And without Type info it is not possible for HDCP2.2.
>>
>> I've had requests from chrome team to expose HDCP version, so I don't think
>> this
>> is too contentious.
>>
>> I think it'd still be easier if we start out with the current content
>> protection props that CrOS is using, and then figure out how to layer
>> the exact version/standard on top? One thing at a time and all that.
>> -Daniel
>>
>> I understand the approach.
>>
>> But Only problem is current upstreaming effort is for HDCP2.2 support at DRM
>> with a design which can
>> easily accommodate other versions too. So we  need to stretch current CrOS
>> property a bit with
>> ENABLE_TYPE1 and UNSUPPORTED etc. Hope that should be fine for all.
>>
>> Yeah, but if we just go with enable (without specifying the type) we
>> could still enable the highest hdcp level (so 2.2 for our case). At
>> least I don't see a reason why we need to already have the
>> enable_type1 thing. Can you pls explain why you think this is
>> necessary?
>>
>> There seems to be a need to force type1, but I think it's easier to do
>> that as an extension. Of course we need to keep it in mind meanwhile.
>>
>> Background for this need of Type info in HDCP2.2 implementation is as
>> follows:
> Aside: You're quoting is broken for inline quoting. Either fix the
> quoting or top-quote (there's no difference between your text and
> mine, mine should be indented with > or | or similar).
Sorry for the inconvenience. Hope now it is fine. Just reset the 
settings on thunderbird
>
>> HDCP2.2 Spec classify the protected content as Type 0 and Type 1. For
>> Example lets say
>> - A HDCP2.2 Src is connected to HDCP repeater
>> - that repeater is connected to a HDCP2.2 panel
>> - that same repeater is also connected to a HDCP1.4 panel.
>>
>> In this topology, as part of Repeater authentication:
>> - HDCP2.2 Source will mention the Content Type to HDCP2.2 Repeater
>> - Repeater can transmit this Type 1 content to HDCP2.2 compliant sink only
>> (which is HDCP 2.2 panel here).
>> - Repeater can transmit any type0 content to any other devices (like HDCP1.4
>> panel here).
>> - Device with no HDCP support will get Neither of Type 0 or Type 1.
>>
>> So if we implement HDCP2.2 with HDCP_ENABLE state alone there is no way for
>> Userspace
>> to request for HDCP2.2 protection only. In this case we wont know the
>> content type classification.
> Yes, that is the case, but also the point of gradual enabling. Atm
> (with the current CrOS usersapce) userspace can ask for "pls give me
> content protection, I don't care what level/type". That itself is
> already useful, and a good step forward. Allowing to ask for a
> specific type is something on top.
Ok. When i think over it, that sounds as a  good idea to go gradually 
for enabling HDCP2.2.
>
>> Even if we force Content type to Type1, in above topology Type 0 content
>> that could be rendered to
>> HDCP1.4 compliant panel wont be rendered as that has been forcibly
>> classified as Type 1 by KMD.
> Why? HDCP_ENABLE would just give you the "best" HDCP, so we'd fall
> back to type 0 (if that's available).
I think i misinterpreted. We could enable the HDCP2.2(if supported on 
panel) for the Type 0 content. No issue on that
>> Forcing type 1 content to Type 0 will break the association of type1 content
>> to HDCP2.2 devices only.
> I didn't propose to force type1 everywhere. Why do you think this is needed.

>> More than that Devices with our indented DRM HDCP2.2 support wont pass the
>> HDCP2.2 compliance.
>> Considering we could extend the CrOS Userspace for HDCP2.2, I would prefer
>> to go ahead with
>> HDCP_ENABLE_TYPE1 along with HDCP_ENABLE.
> Yes, it's only hdcp1.4, and getting to full hdcp2.2 will take more
> work. You can do all of that in one go, but my experience with
> upstreaming new uabi is that usually that's not the most effective way
> to go about things. But in the end, that's your choice.
Agreed. We will go gradually about enabling HDCP2.2.
     1. Enable HDCP2.2 for HDCP_ENABLE with Content type as 0.
     2. Enable HDCP2.2 for Type 1 content with Enum value HDCP_ENABLE_TYPE1
     3. Making HDCP2.2 support as HDCP2.2 spec compliant.

But I think i will just add another enum value HDCP_UNSUPPORTED to mark 
the no HDCP supported on the setup.
I hope that is fine.
> -Daniel


[-- Attachment #1.2: Type: text/html, Size: 7064 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2017-07-13 12:59 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-12  8:28 [RFC v1 00/20] DRM Interfaces for HDCP support Ramalingam C
2017-07-12  8:28 ` [RFC v1 01/20] drm/hdcp: HDCP bitmask property for connectors Ramalingam C
2017-07-12  9:54   ` Daniel Vetter
2017-07-12 14:56     ` [Intel-gfx] " Ramalingam C
2017-07-12 19:10       ` Sean Paul
2017-07-13  6:09         ` Daniel Vetter
2017-07-13  6:54           ` Ramalingam C
2017-07-13  8:45             ` Daniel Vetter
2017-07-13 10:15               ` [Intel-gfx] " Ramalingam C
2017-07-13 10:36                 ` Daniel Vetter
2017-07-13 12:59                   ` Ramalingam C [this message]
2017-07-13 19:02                     ` Daniel Vetter
2017-07-14 10:40                       ` Ramalingam C
2017-07-14 11:21                         ` [RFC v2] drm/hdcp: drm enum property for HDCP State Ramalingam C
2017-07-14 13:55                           ` Sean Paul
2017-07-21 13:02                             ` Ramalingam C
2017-07-24 13:23                               ` Sean Paul
2017-07-24 13:34                                 ` Ramalingam C
2017-07-24 18:12                                 ` [RFC v3] drm/hdcp: drm enum property for CP State Ramalingam C
2017-07-25 12:34                                   ` Sean Paul
2017-07-26  9:54                                     ` Ramalingam C
2017-07-26 14:52                                       ` Sean Paul
2017-07-26 16:51                                         ` C, Ramalingam
2017-07-26 17:54                                           ` Sean Paul
2017-08-02 15:32                                             ` Ramalingam C
2017-08-02 15:53                                               ` [RFC v4] " Ramalingam C
2017-08-05 15:51                                                 ` Ramalingam C
2017-08-07  5:32                                                   ` Ramalingam C
2017-07-13  6:36         ` [Intel-gfx] [RFC v1 01/20] drm/hdcp: HDCP bitmask property for connectors Ramalingam C
2017-07-12  8:28 ` [RFC v1 02/20] drm/hdcp: HDCP SRM blob " Ramalingam C
2017-07-12  8:28 ` [RFC v1 03/20] drm/sysfs: Generate drm uevent with custom string Ramalingam C
2017-07-12  8:28 ` [RFC v1 04/20] drm/hdcp: Struct drm_hdcp for connector's hdcp state Ramalingam C
2017-07-12  8:28 ` [RFC v1 05/20] drm/hdcp: HDCP status code for DRM HDCP stack Ramalingam C
2017-07-12  8:28 ` [RFC v1 06/20] drm/hdcp: display driver callback funcs defined Ramalingam C
2017-07-12  8:28 ` [RFC v1 07/20] drm/hdcp: Initialization of DRM hdcp stack Ramalingam C
2017-07-12  8:28 ` [RFC v1 08/20] drm/hdcp: Add KBuild for DRM HDCP support Ramalingam C
2017-07-12  8:28 ` [RFC v1 09/20] drm/hdcp: Generic enable, disable and late_init Ramalingam C
2017-07-12  8:28 ` [RFC v1 10/20] drm/hdcp: Handler for connector state change Ramalingam C
2017-07-12  8:28 ` [RFC v1 11/20] drm/hdcp: Registering " Ramalingam C
2017-07-12  8:28 ` [RFC v1 12/20] drm/hdcp: Atomic set and get property for hdcp Ramalingam C
2017-07-12  8:28 ` [RFC v1 13/20] drm/hdcp: Updating DRM Property val with HDCP state Ramalingam C
2017-07-12  8:28 ` [RFC v1 14/20] drm/hdcp2.2: HDCP2.2 protocol msg definitions Ramalingam C
2017-07-12  8:28 ` [RFC v1 15/20] drm/hdcp2.2: Display driver service functions Ramalingam C
2017-07-12  8:29 ` [RFC v1 16/20] drm/hdcp2.2: HDCP2.2 Initialization Ramalingam C
2017-07-12  8:29 ` [RFC v1 17/20] drm/hdcp2.2: Definitions of HDMI HDCP2.2 registers Ramalingam C
2017-07-12  8:29 ` [RFC v1 18/20] drm/hdcp2.2: Late_init: Capability probing on panel Ramalingam C
2017-07-12  8:29 ` [RFC v1 19/20] drm/hdcp2.2: HDCP2.2 enable as a asynchronous work Ramalingam C
2017-07-12  8:29 ` [RFC v1 20/20] drm/hdcp2.2: HDCP2.2 disable " Ramalingam C
2017-07-12  8:35 ` ✗ Fi.CI.BAT: failure for DRM Interfaces for HDCP support Patchwork
2017-07-14 11:26 ` ✗ Fi.CI.BAT: failure for DRM Interfaces for HDCP support (rev2) Patchwork

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=eb52a12a-7078-00f0-9086-05f9ea8a490f@intel.com \
    --to=ramalingam.c@intel.com \
    --cc=daniel.vetter@intel.com \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.