[Intel-gfx] [PATCH v3] drm/i915/hdcp: Update CP as per the kernel internal state

Ramalingam C ramalingam.c at intel.com
Tue Jan 21 00:49:37 UTC 2020


On 2020-01-20 at 15:02:46 +0200, Jani Nikula wrote:
> On Mon, 20 Jan 2020, Ramalingam C <ramalingam.c at intel.com> wrote:
> > hdcp->value is used to track the internal transistions during the link
> > failure and re-establishing it. When ever kernel want to update the
> > "content protection" we take the required locks and update the property
> > state along with uevent.
> 
> My point is this: How many states does your state machine need?
> 
> Considering the tri-state content_protection and tri-state hdcp->value,
> you have 9 possible states and 362880 transitions. Add the new flag from
> this patch, and you have 18 possible states and 6e15 transitions.
> 
> Obviously you don't need or use that many states or transitions, but you
> need the code to limit the states and the transitions. You need the
> review to ensure any changes take into account all the possible states
> and transitions.
Yes. We dont use all those combination. Agreed that we need to review the
changes which impacts the updatation of hdcp state of internal state machine or
property state.

> 
> I've already noted one possible scenario in the proposed patch where
> stuff goes out of sync, and I don't know what's really going to happen.
> 
> ---
> 
> So maybe I don't understand what the hdcp code does, but then maybe you
> shouldn't ask me to have a look at it... ;) I'm trying to point out why
> I think it's maybe difficult to understand, and why I think adding
> another flag might make it more difficult to maintain.

Even we tried alternate solutions like retrieving the new drm_connector
state at DDI disable. We dropped it as that wont be received well. Any
suggestion on alternate approach to get the new connector state at
DDI disable call.

-Ram
> 
> BR,
> Jani.
> 
> -- 
> Jani Nikula, Intel Open Source Graphics Center


More information about the Intel-gfx mailing list