From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F2AF3C33CAC for ; Thu, 6 Feb 2020 17:00:20 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CD79F20838 for ; Thu, 6 Feb 2020 17:00:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CD79F20838 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 50A276FAB5; Thu, 6 Feb 2020 17:00:20 +0000 (UTC) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id E54B66FAB5 for ; Thu, 6 Feb 2020 17:00:18 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Feb 2020 09:00:18 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,410,1574150400"; d="scan'208";a="236035065" Received: from ramaling-i9x.iind.intel.com (HELO intel.com) ([10.99.66.154]) by orsmga006.jf.intel.com with ESMTP; 06 Feb 2020 09:00:16 -0800 Date: Thu, 6 Feb 2020 22:30:27 +0530 From: Ramalingam C To: Anshuman Gupta Message-ID: <20200206170026.GA26821@intel.com> References: <20200206150442.32353-1-anshuman.gupta@intel.com> <20200206150442.32353-2-anshuman.gupta@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200206150442.32353-2-anshuman.gupta@intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [Intel-gfx] [PATCH 1/2] drm/i915/hdcp: Fix 1B-06 HDCP2.2 Comp test X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" On 2020-02-06 at 20:34:41 +0530, Anshuman Gupta wrote: > HDCP Repeater initializes seq_num_V to 0 at the beginning of > hdcp Session i.e. after AKE_init received. > > HDCP 2.2 Comp specs 1B-06 test verifies that whether DUT > considers failures of authentication if the repeater provides a > non-zero value in seq_num_V in the first, > RepeaterAuth_Send_ReceiverID_List message after first AKE_Init. > Fixing this broken test. Instead of "Fixing the broken test" could we say, we mandate the first seq_num_v to be zero? in fact i would keep this as commit subject also. > > Cc: Ramalingam C > Signed-off-by: Anshuman Gupta > --- > drivers/gpu/drm/i915/display/intel_display_types.h | 3 +++ > drivers/gpu/drm/i915/display/intel_hdcp.c | 13 +++++++++++++ > 2 files changed, 16 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h > index 7ae0bc8b80d1..2ae540e986ba 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_types.h > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h > @@ -360,6 +360,9 @@ struct intel_hdcp { > /* HDCP2.2 Encryption status */ > bool hdcp2_encrypted; > > + /* Flag indicate if it is a first ReceiverID_List msg after AKE_Init */ > + bool first_recvid_msg; This extra flag is not needed, see below comment > + > /* > * Content Stream Type defined by content owner. TYPE0(0x0) content can > * flow in the link protected by HDCP2.2 or HDCP1.4, where as TYPE1(0x1) > diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c > index 4d1a33d13105..3e24a6df503a 100644 > --- a/drivers/gpu/drm/i915/display/intel_hdcp.c > +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c > @@ -1251,6 +1251,8 @@ static int hdcp2_authentication_key_exchange(struct intel_connector *connector) > size_t size; > int ret; > > + hdcp->first_recvid_msg = true; > + > /* Init for seq_num */ > hdcp->seq_num_v = 0; > hdcp->seq_num_m = 0; > @@ -1462,6 +1464,16 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector) > seq_num_v = > drm_hdcp_be24_to_cpu((const u8 *)msgs.recvid_list.seq_num_v); > > + /* > + * HDCP 2.2 Spec HDMI PAGE 19, DP PAGE 20 > + * HDCP 2.2 Comp 1B-06 test requires to disable encryption if there is > + * non zero seq_num_V from recevier. IMHO In commit message this kind of reasoning make sense, but here this is not needed. As every line in the file will be as per the spec so we dont need to call them out. > + */ > + if (hdcp->first_recvid_msg && seq_num_v) { if (!hdcp->seq_num_v && seq_num_v) { IMO This is all we need it. -Ram > + drm_dbg_kms(&dev_priv->drm, "Non zero Seq_num_v at beginning of HDCP Session\n"); > + return -EINVAL; > + } > + > if (seq_num_v < hdcp->seq_num_v) { > /* Roll over of the seq_num_v from repeater. Reauthenticate. */ > DRM_DEBUG_KMS("Seq_num_v roll over.\n"); > @@ -1484,6 +1496,7 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector) > return ret; > > hdcp->seq_num_v = seq_num_v; > + hdcp->first_recvid_msg = false; > ret = shim->write_2_2_msg(intel_dig_port, &msgs.rep_ack, > sizeof(msgs.rep_ack)); > if (ret < 0) > -- > 2.24.0 > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx