From: Ramalingam C <ramalingam.c@intel.com>
To: Sean Paul <seanpaul@chromium.org>
Cc: daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org,
rodrigo.vivi@intel.com
Subject: Re: [PATCH 5/8] drm/i915: Optimize HDCP key load
Date: Fri, 2 Feb 2018 20:03:01 +0530 [thread overview]
Message-ID: <2c16f245-e6c4-cb65-e3e5-95faf61d2140@intel.com> (raw)
In-Reply-To: <20180202141812.fjoyh7tfcqhzlbns@art_vandelay>
On Friday 02 February 2018 07:48 PM, Sean Paul wrote:
> On Fri, Feb 02, 2018 at 04:15:17PM +0530, Ramalingam C wrote:
>> HDCP key need not be cleared on each hdcp disable. And HDCP key Load
>> is skipped if key is already loaded.
>>
> I had previously encountered issues without clearing the key in my testing.
> IIRC, without clearing the keys things acted differently. How much time are we
> saving by optimizing this?
>
> Sean
Time profiling is not done. As per the Bspec, Once Keys are loaded, they
will be cleared only when PG1/PG0 is off.
So on Resume we need to load the keys. Since we have the status register
for key load state, I feel we could rely on them.
Now with our code state, I am not seeing the need for reloading the
keys. I have tested on KBL.
I think this is worth an attempt as no failures are observed.
--Ram
>
>
>> Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
>> ---
>> drivers/gpu/drm/i915/intel_hdcp.c | 6 ++++--
>> 1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c
>> index fa2e7c727d00..5de9afd275b2 100644
>> --- a/drivers/gpu/drm/i915/intel_hdcp.c
>> +++ b/drivers/gpu/drm/i915/intel_hdcp.c
>> @@ -51,6 +51,10 @@ static int intel_hdcp_load_keys(struct drm_i915_private *dev_priv)
>> int ret;
>> u32 val;
>>
>> + val = I915_READ(HDCP_KEY_STATUS);
>> + if ((val & HDCP_KEY_LOAD_DONE) && (val & HDCP_KEY_LOAD_STATUS))
>> + return 0;
>> +
>> /*
>> * On HSW and BDW HW loads the HDCP1.4 Key when Display comes
>> * out of reset. So if Key is not already loaded, its an error state.
>> @@ -542,8 +546,6 @@ static int _intel_hdcp_disable(struct intel_connector *connector)
>> return -ETIMEDOUT;
>> }
>>
>> - intel_hdcp_clear_keys(dev_priv);
>> -
>> ret = connector->hdcp_shim->toggle_signalling(intel_dig_port, false);
>> if (ret) {
>> DRM_ERROR("Failed to disable HDCP signalling\n");
>> --
>> 2.7.4
>>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2018-02-02 14:38 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-02 10:45 [PATCH 0/8] Adhering to HDCP1.4 Compliance Test Spec Ramalingam C
2018-02-02 10:45 ` [PATCH 1/8] drm/i915: Handle failure from 2nd stage HDCP auth Ramalingam C
2018-02-02 14:09 ` Sean Paul
2018-02-02 14:22 ` Ramalingam C
2018-02-02 14:45 ` Sean Paul
2018-02-02 14:51 ` Ramalingam C
2018-02-02 15:22 ` Sean Paul
2018-02-02 15:26 ` Ramalingam C
2018-02-02 10:45 ` [PATCH 2/8] drm/i915: Stop encryption for repeater with no sink Ramalingam C
2018-02-02 14:13 ` Sean Paul
2018-02-02 14:12 ` Ramalingam C
2018-02-02 14:48 ` Sean Paul
2018-02-02 15:03 ` Ramalingam C
2018-02-02 15:19 ` Sean Paul
2018-02-02 10:45 ` [PATCH 3/8] drm/i915: Connector info in HDCP debug msgs Ramalingam C
2018-02-02 14:15 ` Sean Paul
2018-02-02 10:45 ` [PATCH 4/8] drm/i915: Retry HDCP BKSV read Ramalingam C
2018-02-02 14:16 ` Sean Paul
2018-02-02 14:26 ` Ramalingam C
2018-02-02 14:44 ` Sean Paul
2018-02-02 10:45 ` [PATCH 5/8] drm/i915: Optimize HDCP key load Ramalingam C
2018-02-02 14:18 ` Sean Paul
2018-02-02 14:33 ` Ramalingam C [this message]
2018-02-02 15:24 ` Sean Paul
2018-02-02 10:45 ` [PATCH 6/8] drm/i915: Detect panel's hdcp capability Ramalingam C
2018-02-02 14:24 ` Sean Paul
2018-02-02 14:38 ` Ramalingam C
2018-02-02 15:40 ` Sean Paul
2018-02-02 10:45 ` [PATCH 7/8] drm/i915: Reauthenticate HDCP on failure Ramalingam C
2018-02-02 14:37 ` Sean Paul
2018-02-02 15:05 ` Ramalingam C
2018-02-02 10:45 ` [PATCH 8/8] drm/i915: fix misalignment in HDCP register def Ramalingam C
2018-02-02 14:38 ` Sean Paul
2018-02-02 11:10 ` ✓ Fi.CI.BAT: success for Adhering to HDCP1.4 Compliance Test Spec Patchwork
2018-02-02 12:50 ` ✗ Fi.CI.IGT: failure " 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=2c16f245-e6c4-cb65-e3e5-95faf61d2140@intel.com \
--to=ramalingam.c@intel.com \
--cc=daniel.vetter@ffwll.ch \
--cc=intel-gfx@lists.freedesktop.org \
--cc=rodrigo.vivi@intel.com \
--cc=seanpaul@chromium.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.