All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ramalingam C <ramalingam.c@intel.com>
To: Anshuman Gupta <anshuman.gupta@intel.com>
Cc: "Nikula, Jani" <jani.nikula@intel.com>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [PATCH v3] drm/i915/hdcp: Update CP as per the kernel internal state
Date: Wed, 8 Jul 2020 15:28:48 +0530	[thread overview]
Message-ID: <20200708095848.GA12493@intel.com> (raw)
In-Reply-To: <20200708082515.GN15183@intel.com>

On 2020-07-08 at 13:55:16 +0530, Anshuman Gupta wrote:
> On 2020-07-01 at 13:31:18 +0530, Shankar, Uma wrote:
> > > > -----Original Message-----
> > > > From: Jani Nikula <jani.nikula@intel.com>
> > > > Sent: Tuesday, June 30, 2020 3:30 PM
> > > > To: Gupta, Anshuman <anshuman.gupta@intel.com>; intel-
> > > > gfx@lists.freedesktop.org
> > > > Cc: Shankar, Uma <uma.shankar@intel.com>
> > > > Subject: Re: [Intel-gfx] [PATCH v3] drm/i915/hdcp: Update CP as per
> > > > the kernel internal state
> > > >
> > > >
> > > > Uma, is the R-b still valid? It's been a while.
> > > 
> > > Yeah Jani, the changes look good. Will need a rebase and fresh CI results though.
> > 
> > Seems the CI results are already out and we are clean.
> Hi Ram ,
> CI results are clean for this rebase patch,
> Could you please help with merging,
Pushed into dinq. Thanks for the change.

-Ram
> I belive your RB's are valid either-way wrt to your comment.
> Thanks,
> Anshuman Gupta.
> 
> > 
> > > Regards,
> > > Uma Shankar
> > > 
> > > > BR,
> > > > Jani.
> > > >
> > > >
> > > > On Tue, 30 Jun 2020, Anshuman Gupta <anshuman.gupta@intel.com> wrote:
> > > > > Content Protection property should be updated as per the kernel
> > > > > internal state. Let's say if Content protection is disabled by
> > > > > userspace, CP property should be set to UNDESIRED so that
> > > > > reauthentication will not happen until userspace request it again,
> > > > > but when kernel disables the HDCP due to any DDI disabling sequences
> > > > > like modeset/DPMS operation, kernel should set the property to
> > > > > DESIRED, so that when opportunity arises, kernel will start the HDCP
> > > > > authentication on its own.
> > > > >
> > > > > Somewhere in the line, state machine to set content protection to
> > > > > DESIRED from kernel was broken and IGT coverage was missing for it.
> > > > > This patch fixes it.
> > > > >
> > > > > v2:
> > > > > - Fixing hdcp CP state in connector atomic check function
> > > > >   intel_hdcp_atomic_check(). [Maarten]
> > > > >   This will require to check hdcp->value in intel_hdcp_update_pipe()
> > > > >   in order to avoid enabling hdcp, if it was already enabled.
> > > > >
> > > > > v3:
> > > > > - Rebased.
> > > > >
> > > > > Cc: Ramalingam C <ramalingam.c@intel.com>
> > > > > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > > > > Reviewed-by: Uma Shankar <uma.shankar@intel.com>
> > > > > Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> > > > > Link:
> > > > > https://patchwork.freedesktop.org/patch/350962/?series=72664&rev=2
> > > > > #v1
> > > > > Link:
> > > > > https://patchwork.freedesktop.org/patch/359396/?series=72251&rev=3
> > > > > #v2
> > > > > ---
> > > > >  drivers/gpu/drm/i915/display/intel_hdcp.c | 27
> > > > > +++++++++++++++++++----
> > > > >  1 file changed, 23 insertions(+), 4 deletions(-)
> > > > >
> > > > > diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c
> > > > > b/drivers/gpu/drm/i915/display/intel_hdcp.c
> > > > > index 815b054bb167..0d410652e194 100644
> > > > > --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> > > > > +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> > > > > @@ -2086,6 +2086,7 @@ void intel_hdcp_update_pipe(struct
> > > > intel_atomic_state *state,
> > > > >  		(conn_state->hdcp_content_type != hdcp->content_type &&
> > > > >  		 conn_state->content_protection !=
> > > > >  		 DRM_MODE_CONTENT_PROTECTION_UNDESIRED);
> > > > > +	bool desired_and_not_enabled = false;
> > > > >
> > > > >  	/*
> > > > >  	 * During the HDCP encryption session if Type change is requested,
> > > > > @@ -2108,8 +2109,15 @@ void intel_hdcp_update_pipe(struct
> > > > intel_atomic_state *state,
> > > > >  	}
> > > > >
> > > > >  	if (conn_state->content_protection ==
> > > > > -	    DRM_MODE_CONTENT_PROTECTION_DESIRED ||
> > > > > -	    content_protection_type_changed)
> > > > > +	    DRM_MODE_CONTENT_PROTECTION_DESIRED) {
> > > > > +		mutex_lock(&hdcp->mutex);
> > > > > +		/* Avoid enabling hdcp, if it already ENABLED */
> > > > > +		desired_and_not_enabled =
> > > > > +			hdcp->value !=
> > > > DRM_MODE_CONTENT_PROTECTION_ENABLED;
> > > > > +		mutex_unlock(&hdcp->mutex);
> > > > > +	}
> > > > > +
> > > > > +	if (desired_and_not_enabled || content_protection_type_changed)
> > > > >  		intel_hdcp_enable(connector,
> > > > >  				  crtc_state->cpu_transcoder,
> > > > >  				  (u8)conn_state->hdcp_content_type);
> > > > > @@ -2158,6 +2166,19 @@ void intel_hdcp_atomic_check(struct
> > > > drm_connector *connector,
> > > > >  		return;
> > > > >  	}
> > > > >
> > > > > +	crtc_state = drm_atomic_get_new_crtc_state(new_state->state,
> > > > > +						   new_state->crtc);
> > > > > +	/*
> > > > > +	 * Fix the HDCP uapi content protection state in case of modeset.
> > > > > +	 * FIXME: As per HDCP content protection property uapi doc, an uevent()
> > > > > +	 * need to be sent if there is transition from ENABLED->DESIRED.
> > > > > +	 */
> > > > > +	if (drm_atomic_crtc_needs_modeset(crtc_state) &&
> > > > > +	    (old_cp == DRM_MODE_CONTENT_PROTECTION_ENABLED &&
> > > > > +	    new_cp != DRM_MODE_CONTENT_PROTECTION_UNDESIRED))
> > > > > +		new_state->content_protection =
> > > > > +			DRM_MODE_CONTENT_PROTECTION_DESIRED;
> > > > > +
> > > > >  	/*
> > > > >  	 * Nothing to do if the state didn't change, or HDCP was activated since
> > > > >  	 * the last commit. And also no change in hdcp content type.
> > > > > @@ -2170,8 +2191,6 @@ void intel_hdcp_atomic_check(struct
> > > > > drm_connector
> > > > *connector,
> > > > >  			return;
> > > > >  	}
> > > > >
> > > > > -	crtc_state = drm_atomic_get_new_crtc_state(new_state->state,
> > > > > -						   new_state->crtc);
> > > > >  	crtc_state->mode_changed = true;
> > > > >  }
> > > >
> > > > --
> > > > Jani Nikula, Intel Open Source Graphics Center
> > > _______________________________________________
> > > Intel-gfx mailing list
> > > Intel-gfx@lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2020-07-08 10:04 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-30  8:20 [Intel-gfx] [PATCH v3] drm/i915/hdcp: Update CP as per the kernel internal state Anshuman Gupta
2020-06-30 10:00 ` Jani Nikula
2020-07-01  7:59   ` Shankar, Uma
2020-07-01  8:01     ` Shankar, Uma
2020-07-08  8:25       ` Anshuman Gupta
2020-07-08  9:58         ` Ramalingam C [this message]
2020-06-30 10:01 ` Jani Nikula
2020-06-30 13:30 ` Ramalingam C
2020-06-30 15:04 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/hdcp: Update CP as per the kernel internal state (rev5) Patchwork
2020-06-30 19:08 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2020-01-20  5:49 [Intel-gfx] [PATCH v3] drm/i915/hdcp: Update CP as per the kernel internal state Anshuman Gupta
2020-01-20  6:54 ` Ramalingam C
2020-01-20 10:29   ` Jani Nikula
2020-01-20 11:00     ` Ramalingam C
2020-01-20 11:24       ` Jani Nikula
2020-01-20 11:51         ` Ramalingam C
2020-01-20 13:02           ` Jani Nikula
2020-01-21  0:49             ` Ramalingam C
2020-01-20 10:20 ` Jani Nikula
2020-01-21  0:39 ` Ramalingam C
2020-01-21 12:15   ` Jani Nikula
2020-01-22 14:11     ` Ramalingam C
2020-01-22 14:56       ` Jani Nikula
2020-01-24  4:20         ` Anshuman Gupta

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=20200708095848.GA12493@intel.com \
    --to=ramalingam.c@intel.com \
    --cc=anshuman.gupta@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@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 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.