From: "Gupta, Anshuman" <anshuman.gupta@intel.com>
To: "Li, Juston" <juston.li@intel.com>,
"intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>,
"Kandpal, Suraj" <suraj.kandpal@intel.com>
Cc: "seanpaul@chromium.org" <seanpaul@chromium.org>,
"C, Ramalingam" <ramalingam.c@intel.com>,
"Vivi, Rodrigo" <rodrigo.vivi@intel.com>
Subject: Re: [Intel-gfx] [PATCH v6 1/3] drm/i915/hdcp: update cp_irq_count_cached in intel_dp_hdcp2_read_msg()
Date: Thu, 2 Sep 2021 13:08:05 +0000 [thread overview]
Message-ID: <4a8b0d505071448ab3a233d014bd5761@intel.com> (raw)
In-Reply-To: <20210819184835.1181323-2-juston.li@intel.com>
> -----Original Message-----
> From: Li, Juston <juston.li@intel.com>
> Sent: Friday, August 20, 2021 12:19 AM
> To: intel-gfx@lists.freedesktop.org
> Cc: seanpaul@chromium.org; Gupta, Anshuman <anshuman.gupta@intel.com>;
> C, Ramalingam <ramalingam.c@intel.com>; Vivi, Rodrigo
> <rodrigo.vivi@intel.com>; Li, Juston <juston.li@intel.com>
> Subject: [Intel-gfx] [PATCH v6 1/3] drm/i915/hdcp: update cp_irq_count_cached
> in intel_dp_hdcp2_read_msg()
>
> Update cp_irq_count_cached when reading messages rather than when writing
> a message to make sure the value is up to date and not stale from a previously
> handled CP_IRQ.
>
> AKE flow doesn't always respond to a read with a ACK write msg.
> E.g. AKE_Send_Pairing_Info will "timeout" because we received a CP_IRQ for
> reading AKE_Send_H_Prime but no write occurred between that and reading
> AKE_Send_Pairing_Info so cp_irq_count_cached is stale causing the wait to
> return right away rather than waiting for a new CP_IRQ.
>
> Signed-off-by: Juston Li <juston.li@intel.com>
> Acked-by: Anshuman Gupta <anshuman.gupta@intel.com>
> Reviewed-by: Ramalingam C <ramalingam.c@intel.com>
Hi Suraj,
We don't have HDCP coverage in CI
Could you please provide your Tested-By tag after testing this patch series.
Br,
Anshuman
> ---
> drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> index d697d169e8c1..1d0096654776 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> @@ -446,8 +446,6 @@ static
> int intel_dp_hdcp2_write_msg(struct intel_digital_port *dig_port,
> void *buf, size_t size)
> {
> - struct intel_dp *dp = &dig_port->dp;
> - struct intel_hdcp *hdcp = &dp->attached_connector->hdcp;
> unsigned int offset;
> u8 *byte = buf;
> ssize_t ret, bytes_to_write, len;
> @@ -463,8 +461,6 @@ int intel_dp_hdcp2_write_msg(struct intel_digital_port
> *dig_port,
> bytes_to_write = size - 1;
> byte++;
>
> - hdcp->cp_irq_count_cached = atomic_read(&hdcp->cp_irq_count);
> -
> while (bytes_to_write) {
> len = bytes_to_write > DP_AUX_MAX_PAYLOAD_BYTES ?
> DP_AUX_MAX_PAYLOAD_BYTES :
> bytes_to_write; @@ -530,6 +526,8 @@ int intel_dp_hdcp2_read_msg(struct
> intel_digital_port *dig_port,
> u8 msg_id, void *buf, size_t size) {
> struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
> + struct intel_dp *dp = &dig_port->dp;
> + struct intel_hdcp *hdcp = &dp->attached_connector->hdcp;
> unsigned int offset;
> u8 *byte = buf;
> ssize_t ret, bytes_to_recv, len;
> @@ -546,6 +544,8 @@ int intel_dp_hdcp2_read_msg(struct intel_digital_port
> *dig_port,
> if (ret < 0)
> return ret;
>
> + hdcp->cp_irq_count_cached = atomic_read(&hdcp->cp_irq_count);
> +
> if (msg_id == HDCP_2_2_REP_SEND_RECVID_LIST) {
> ret = get_receiver_id_list_size(dig_port);
> if (ret < 0)
> --
> 2.31.1
next prev parent reply other threads:[~2021-09-02 13:08 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-19 18:48 [Intel-gfx] [PATCH v6 0/3] drm/i915/hdcp: HDCP2.2 MST dock fixes Juston Li
2021-08-19 18:48 ` [Intel-gfx] [PATCH v6 1/3] drm/i915/hdcp: update cp_irq_count_cached in intel_dp_hdcp2_read_msg() Juston Li
2021-09-02 13:08 ` Gupta, Anshuman [this message]
2021-09-03 5:23 ` Kandpal, Suraj
2021-08-19 18:48 ` [Intel-gfx] [PATCH v6 2/3] drm/i915/hdcp: read RxInfo once when reading RepeaterAuth_Send_ReceiverID_List Juston Li
2021-09-02 13:09 ` Gupta, Anshuman
2021-09-03 5:23 ` Kandpal, Suraj
2021-08-19 18:48 ` [Intel-gfx] [PATCH v6 3/3] drm/i915/hdcp: reuse rx_info for mst stream type1 capability check Juston Li
2021-09-02 13:10 ` Gupta, Anshuman
2021-09-03 4:46 ` Kandpal, Suraj
2021-08-19 20:49 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/hdcp: HDCP2.2 MST dock fixes (rev7) Patchwork
2021-08-19 22:34 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2021-08-30 19:15 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/hdcp: HDCP2.2 MST dock fixes (rev8) Patchwork
2021-08-30 21:11 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2021-09-07 4:21 ` Gupta, Anshuman
2021-09-07 5:33 ` Gupta, Anshuman
2021-09-08 4:52 ` Kattamanchi, JaswanthX
2021-09-09 8:03 ` Anshuman Gupta
2021-09-07 5:54 ` 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=4a8b0d505071448ab3a233d014bd5761@intel.com \
--to=anshuman.gupta@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=juston.li@intel.com \
--cc=ramalingam.c@intel.com \
--cc=rodrigo.vivi@intel.com \
--cc=seanpaul@chromium.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox