All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Suraj Kandpal <suraj.kandpal@intel.com>, intel-gfx@lists.freedesktop.org
Cc: ankit.k.nautiyal@intel.com, Suraj Kandpal <suraj.kandpal@intel.com>
Subject: Re: [PATCH] drm/i915/hdcp: Retry first read and writes to downstream
Date: Wed, 25 Sep 2024 11:55:50 +0300	[thread overview]
Message-ID: <871q183yeh.fsf@intel.com> (raw)
In-Reply-To: <20240925065658.1269767-1-suraj.kandpal@intel.com>

On Wed, 25 Sep 2024, Suraj Kandpal <suraj.kandpal@intel.com> wrote:
> Retry the first read and write to downstream at least 10 times
> with a 50ms delay if not hdcp2 capable. The reason being that

What are the 10 times and 50 ms delay based on?

> during suspend resume Dock usually keep the HDCP2 registers inaccesible
> causing AUX error. This wouldn't be a big problem if the userspace
> just kept retrying with some delay while it continues to play low
> values content but most userpace applications end up throwing an error
> when it receives one from KMD. This makes sure we give the dock
> and the sink devices to complete its power cycle and then try HDCP
> authentication.
>
> Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_hdcp.c | 26 +++++++++++++++++------
>  1 file changed, 19 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
> index 2afa92321b08..5f2383c219e8 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> @@ -1512,7 +1512,7 @@ static int hdcp2_authentication_key_exchange(struct intel_connector *connector)
>  	} msgs;
>  	const struct intel_hdcp_shim *shim = hdcp->shim;
>  	size_t size;
> -	int ret;
> +	int ret, i;
>  
>  	/* Init for seq_num */
>  	hdcp->seq_num_v = 0;
> @@ -1522,13 +1522,25 @@ static int hdcp2_authentication_key_exchange(struct intel_connector *connector)
>  	if (ret < 0)
>  		return ret;
>  
> -	ret = shim->write_2_2_msg(connector, &msgs.ake_init,
> -				  sizeof(msgs.ake_init));
> -	if (ret < 0)
> -		return ret;
> +	for (i = 0; i <= 10; i++) {

I'm pretty nitpicky about this. Please avoid <= in the for loop if you
can. Just make it the obvious (i = 0; i < 10; i++), or if you have 1 try
+ 10 retries, then i < 10 + 1 or i < 11.

If the 10 retries is just made up, then maybe just try 10 times total.

> +		if (!intel_hdcp2_get_capability(connector)) {
> +			msleep(50);
> +			continue;
> +		}

This changes behaviour for the first try too. Is that intentional? No
mention in the commit message?

> +
> +		ret = shim->write_2_2_msg(connector, &msgs.ake_init,
> +					  sizeof(msgs.ake_init));
> +		if (ret < 0)
> +			continue;
> +
> +		ret = shim->read_2_2_msg(connector, HDCP_2_2_AKE_SEND_CERT,
> +					 &msgs.send_cert, sizeof(msgs.send_cert));
> +		if (ret < 0)
> +			continue;
> +		else

The else is redundant here.

> +			break;
> +	}
>  
> -	ret = shim->read_2_2_msg(connector, HDCP_2_2_AKE_SEND_CERT,
> -				 &msgs.send_cert, sizeof(msgs.send_cert));
>  	if (ret < 0)
>  		return ret;

-- 
Jani Nikula, Intel

  reply	other threads:[~2024-09-25  8:55 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-25  6:56 [PATCH] drm/i915/hdcp: Retry first read and writes to downstream Suraj Kandpal
2024-09-25  8:55 ` Jani Nikula [this message]
2024-09-25 11:35   ` Kandpal, Suraj
2024-09-26  7:14 ` Suraj Kandpal
2024-09-27  4:52   ` Nautiyal, Ankit K
2024-09-27  6:04 ` Suraj Kandpal
2024-09-27 21:49 ` ✓ Fi.CI.BAT: success for drm/i915/hdcp: Retry first read and writes to downstream (rev3) Patchwork
2024-09-28 20:34 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-09-30 18:18 ` ✓ Fi.CI.IGT: success " 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=871q183yeh.fsf@intel.com \
    --to=jani.nikula@linux.intel.com \
    --cc=ankit.k.nautiyal@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=suraj.kandpal@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.