All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v15 00/16] drm/i915: Implement HDCP2.2
@ 2019-02-21 18:11 Ramalingam C
  2019-02-21 18:11 ` [PATCH v15 01/16] mei: bus: whitelist hdcp client Ramalingam C
                   ` (23 more replies)
  0 siblings, 24 replies; 34+ messages in thread
From: Ramalingam C @ 2019-02-21 18:11 UTC (permalink / raw)
  To: intel-gfx, dri-devel, daniel.vetter, tomas.winkler, uma.shankar

This series enables the HDCP2.2 Type 0 for I915. The sequence for
HDCP2.2 authentication and encryption is implemented as a generic flow
between HDMI and DP. Encoder specific implementations are moved
into hdcp_shim.

Intel HWs supports HDCP2.2 through ME FW. Hence this series
introduces a client driver for mei bus, so that for HDCP2.2
authentication, HDCP2.2 stack in I915 can avail the services from
ME FW. To enable this client driver set the config variable
CONFIG_INTEL_MEI_HDCP.

Userspace interface remains unchanged as version agnostic. When
userspace request for HDCP enable, Kernel will detect the HDCP source
and sink's HDCP version(1.4/2.2)capability and enable the best capable
version for that combination.

This series enables the HDCP2.2 for Type0 content streams.

Test-with: <1549566452-30175-1-git-send-email-ramalingam.c@intel.com>
So that CP will be tested on BAT machine too.

Major changes in v15
  - All I915 patches are merged. So dropping them.
  - Few minor suggestions are incorporated at mei changes.

To ease the review process, series is hosted at
https://github.com/ramalingampc2008/drm-tip.git hdcp2_2_v15

Ramalingam C (15):
  misc/mei/hdcp: Client driver for HDCP application
  misc/mei/hdcp: Define ME FW interface for HDCP2.2
  misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session
  misc/mei/hdcp: Verify Receiver Cert and prepare km
  misc/mei/hdcp: Verify H_prime
  misc/mei/hdcp: Store the HDCP Pairing info
  misc/mei/hdcp: Initiate Locality check
  misc/mei/hdcp: Verify L_prime
  misc/mei/hdcp: Prepare Session Key
  misc/mei/hdcp: Repeater topology verification and ack
  misc/mei/hdcp: Verify M_prime
  misc/mei/hdcp: Enabling the HDCP authentication
  misc/mei/hdcp: Closing wired HDCP2.2 Tx Session
  misc/mei/hdcp: Component framework for I915 Interface
  FOR_TEST_ONLY: i915/Kconfig: Select mei_hdcp by I915

Tomas Winkler (1):
  mei: bus: whitelist hdcp client

 drivers/misc/mei/Kconfig         |  11 +
 drivers/misc/mei/Makefile        |   2 +
 drivers/misc/mei/bus-fixup.c     |  16 +
 drivers/misc/mei/hdcp/Makefile   |   7 +
 drivers/misc/mei/hdcp/mei_hdcp.c | 849 +++++++++++++++++++++++++++++++++++++++
 drivers/misc/mei/hdcp/mei_hdcp.h | 377 +++++++++++++++++
 6 files changed, 1262 insertions(+)
 create mode 100644 drivers/misc/mei/hdcp/Makefile
 create mode 100644 drivers/misc/mei/hdcp/mei_hdcp.c
 create mode 100644 drivers/misc/mei/hdcp/mei_hdcp.h

-- 
2.7.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 34+ messages in thread

* [PATCH v15 01/16] mei: bus: whitelist hdcp client
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
@ 2019-02-21 18:11 ` Ramalingam C
  2019-02-21 18:11 ` [PATCH v15 02/16] misc/mei/hdcp: Client driver for HDCP application Ramalingam C
                   ` (22 subsequent siblings)
  23 siblings, 0 replies; 34+ messages in thread
From: Ramalingam C @ 2019-02-21 18:11 UTC (permalink / raw)
  To: intel-gfx, dri-devel, daniel.vetter, tomas.winkler, uma.shankar

From: Tomas Winkler <tomas.winkler@intel.com>

Whitelist HDCP client for in kernel drm use

v2:
  Rebased.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
---
 drivers/misc/mei/bus-fixup.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/drivers/misc/mei/bus-fixup.c b/drivers/misc/mei/bus-fixup.c
index 80215c312f0e..5fcac02233af 100644
--- a/drivers/misc/mei/bus-fixup.c
+++ b/drivers/misc/mei/bus-fixup.c
@@ -40,6 +40,9 @@ static const uuid_le mei_nfc_info_guid = MEI_UUID_NFC_INFO;
 #define MEI_UUID_MKHIF_FIX UUID_LE(0x55213584, 0x9a29, 0x4916, \
 			0xba, 0xdf, 0xf, 0xb7, 0xed, 0x68, 0x2a, 0xeb)
 
+#define MEI_UUID_HDCP UUID_LE(0xB638AB7E, 0x94E2, 0x4EA2, \
+			      0xA5, 0x52, 0xD1, 0xC5, 0x4B, 0x62, 0x7F, 0x04)
+
 #define MEI_UUID_ANY NULL_UUID_LE
 
 /**
@@ -71,6 +74,18 @@ static void blacklist(struct mei_cl_device *cldev)
 	cldev->do_match = 0;
 }
 
+/**
+ * whitelist - forcefully whitelist client
+ *
+ * @cldev: me clients device
+ */
+static void whitelist(struct mei_cl_device *cldev)
+{
+	dev_dbg(&cldev->dev, "running hook %s\n", __func__);
+
+	cldev->do_match = 1;
+}
+
 #define OSTYPE_LINUX    2
 struct mei_os_ver {
 	__le16 build;
@@ -472,6 +487,7 @@ static struct mei_fixup {
 	MEI_FIXUP(MEI_UUID_NFC_HCI, mei_nfc),
 	MEI_FIXUP(MEI_UUID_WD, mei_wd),
 	MEI_FIXUP(MEI_UUID_MKHIF_FIX, mei_mkhi_fix),
+	MEI_FIXUP(MEI_UUID_HDCP, whitelist),
 };
 
 /**
-- 
2.7.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v15 02/16] misc/mei/hdcp: Client driver for HDCP application
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
  2019-02-21 18:11 ` [PATCH v15 01/16] mei: bus: whitelist hdcp client Ramalingam C
@ 2019-02-21 18:11 ` Ramalingam C
  2019-02-21 18:11 ` [PATCH v15 03/16] misc/mei/hdcp: Define ME FW interface for HDCP2.2 Ramalingam C
                   ` (21 subsequent siblings)
  23 siblings, 0 replies; 34+ messages in thread
From: Ramalingam C @ 2019-02-21 18:11 UTC (permalink / raw)
  To: intel-gfx, dri-devel, daniel.vetter, tomas.winkler, uma.shankar

ME FW contributes a vital role in HDCP2.2 authentication.
HDCP2.2 driver needs to communicate to ME FW for each step of the
HDCP2.2 authentication.

ME FW prepare and HDCP2.2 authentication  parameters and encrypt them
as per spec. With such parameter Driver prepares HDCP2.2 auth messages
and communicate with HDCP2.2 sink.

Similarly HDCP2.2 sink's response is shared with ME FW for decrypt and
verification.

Once All the steps of HDCP2.2 authentications are complete on driver's
request ME FW will configure the port as authenticated and supply the
HDCP keys to the Gen HW for encryption.

Only after this stage HDCP2.2 driver can start the HDCP2.2 encryption
for a port.

ME FW is interfaced to kernel through MEI Bus Driver. To obtain the
HDCP2.2 services from the ME FW through MEI Bus driver MEI Client
Driver is developed.

v2:
  hdcp files are moved to drivers/misc/mei/hdcp/ [Tomas]
v3:
  Squashed the Kbuild support [Tomas]
  UUID renamed and Module License is modified [Tomas]
  drv_data is set to null at remove [Tomas]
v4:
  Module name is changed to "MEI HDCP"
  I915 Selects the MEI_HDCP
v5:
  Remove redundant text from the License header
  Fix malformed licence
  Removed the drv_data resetting.
v6:
  K-Doc addition. [Tomas]
v7:
  %s/UUID_LE/GUID_INIT [Tomas]
  GPL Ver is 2.0 than 2.0+ [Tomas]
v8:
  Added more info into Kconfig addition [Tomas]

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
---
 drivers/misc/mei/Kconfig         | 10 +++++++
 drivers/misc/mei/Makefile        |  2 ++
 drivers/misc/mei/hdcp/Makefile   |  7 +++++
 drivers/misc/mei/hdcp/mei_hdcp.c | 64 ++++++++++++++++++++++++++++++++++++++++
 4 files changed, 83 insertions(+)
 create mode 100644 drivers/misc/mei/hdcp/Makefile
 create mode 100644 drivers/misc/mei/hdcp/mei_hdcp.c

diff --git a/drivers/misc/mei/Kconfig b/drivers/misc/mei/Kconfig
index c49e1d2269af..74e2c667dce0 100644
--- a/drivers/misc/mei/Kconfig
+++ b/drivers/misc/mei/Kconfig
@@ -43,3 +43,13 @@ config INTEL_MEI_TXE
 
 	  Supported SoCs:
 	  Intel Bay Trail
+
+config INTEL_MEI_HDCP
+	tristate "Intel HDCP2.2 services of ME Interface"
+	select INTEL_MEI_ME
+	depends on DRM_I915
+	help
+	  MEI Support for HDCP2.2 Services on Intel platforms.
+
+	  Enables the ME FW services required for HDCP2.2 support through
+	  I915 display driver of Intel.
diff --git a/drivers/misc/mei/Makefile b/drivers/misc/mei/Makefile
index d9215fc4e499..8c2d9565a4cb 100644
--- a/drivers/misc/mei/Makefile
+++ b/drivers/misc/mei/Makefile
@@ -24,3 +24,5 @@ mei-txe-objs += hw-txe.o
 
 mei-$(CONFIG_EVENT_TRACING) += mei-trace.o
 CFLAGS_mei-trace.o = -I$(src)
+
+obj-$(CONFIG_INTEL_MEI_HDCP) += hdcp/
diff --git a/drivers/misc/mei/hdcp/Makefile b/drivers/misc/mei/hdcp/Makefile
new file mode 100644
index 000000000000..adbe7506282d
--- /dev/null
+++ b/drivers/misc/mei/hdcp/Makefile
@@ -0,0 +1,7 @@
+# SPDX-License-Identifier: GPL-2.0
+#
+# Copyright (c) 2019, Intel Corporation.
+#
+# Makefile - HDCP client driver for Intel MEI Bus Driver.
+
+obj-$(CONFIG_INTEL_MEI_HDCP) += mei_hdcp.o
diff --git a/drivers/misc/mei/hdcp/mei_hdcp.c b/drivers/misc/mei/hdcp/mei_hdcp.c
new file mode 100644
index 000000000000..993af6106ddb
--- /dev/null
+++ b/drivers/misc/mei/hdcp/mei_hdcp.c
@@ -0,0 +1,64 @@
+// SPDX-License-Identifier: (GPL-2.0)
+/*
+ * Copyright © 2019 Intel Corporation
+ *
+ * Mei_hdcp.c: HDCP client driver for mei bus
+ *
+ * Author:
+ * Ramalingam C <ramalingam.c@intel.com>
+ */
+
+/**
+ * DOC: MEI_HDCP Client Driver
+ *
+ * This is a client driver to the mei_bus to make the HDCP2.2 services of
+ * ME FW available for the interested consumers like I915.
+ *
+ * This module will act as a translation layer between HDCP protocol
+ * implementor(I915) and ME FW by translating HDCP2.2 authentication
+ * messages to ME FW command payloads and vice versa.
+ */
+
+#include <linux/module.h>
+#include <linux/slab.h>
+#include <linux/uuid.h>
+#include <linux/mei_cl_bus.h>
+
+static int mei_hdcp_probe(struct mei_cl_device *cldev,
+			  const struct mei_cl_device_id *id)
+{
+	int ret;
+
+	ret = mei_cldev_enable(cldev);
+	if (ret < 0)
+		dev_err(&cldev->dev, "mei_cldev_enable Failed. %d\n", ret);
+
+	return ret;
+}
+
+static int mei_hdcp_remove(struct mei_cl_device *cldev)
+{
+	return mei_cldev_disable(cldev);
+}
+
+#define MEI_UUID_HDCP GUID_INIT(0xB638AB7E, 0x94E2, 0x4EA2, 0xA5, \
+				0x52, 0xD1, 0xC5, 0x4B, 0x62, 0x7F, 0x04)
+
+static struct mei_cl_device_id mei_hdcp_tbl[] = {
+	{ .uuid = MEI_UUID_HDCP, .version = MEI_CL_VERSION_ANY },
+	{ }
+};
+MODULE_DEVICE_TABLE(mei, mei_hdcp_tbl);
+
+static struct mei_cl_driver mei_hdcp_driver = {
+	.id_table = mei_hdcp_tbl,
+	.name = KBUILD_MODNAME,
+	.probe = mei_hdcp_probe,
+	.remove	= mei_hdcp_remove,
+};
+
+module_mei_cl_driver(mei_hdcp_driver);
+
+MODULE_AUTHOR("Intel Corporation");
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("MEI HDCP");
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v15 03/16] misc/mei/hdcp: Define ME FW interface for HDCP2.2
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
  2019-02-21 18:11 ` [PATCH v15 01/16] mei: bus: whitelist hdcp client Ramalingam C
  2019-02-21 18:11 ` [PATCH v15 02/16] misc/mei/hdcp: Client driver for HDCP application Ramalingam C
@ 2019-02-21 18:11 ` Ramalingam C
  2019-02-21 18:11 ` [PATCH v15 04/16] misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session Ramalingam C
                   ` (20 subsequent siblings)
  23 siblings, 0 replies; 34+ messages in thread
From: Ramalingam C @ 2019-02-21 18:11 UTC (permalink / raw)
  To: intel-gfx, dri-devel, daniel.vetter, tomas.winkler, uma.shankar

Defines the HDCP specific ME FW interfaces such as Request CMDs,
payload structure for CMDs and their response status codes.

This patch defines payload size(Excluding the Header)for each WIRED
HDCP2.2 CMDs.

v2: Rebased.
v3:
  Extra comments are removed.
v4:
  %s/\/\*\*/\/\*
v5:
  Extra lines are removed.
v6:
  Remove redundant text from the License header
  %s/LPRIME_HALF/V_PRIME_HALF
  %s/uintxx_t/uxx
v7:
  Extra taps removed.
v8:
  k is defined as __be16 [Tomas]

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Acked-by Tomas Winkler <tomas.winkler@intel.com>
---
 drivers/misc/mei/hdcp/mei_hdcp.h | 366 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 366 insertions(+)
 create mode 100644 drivers/misc/mei/hdcp/mei_hdcp.h

diff --git a/drivers/misc/mei/hdcp/mei_hdcp.h b/drivers/misc/mei/hdcp/mei_hdcp.h
new file mode 100644
index 000000000000..f695662eff7d
--- /dev/null
+++ b/drivers/misc/mei/hdcp/mei_hdcp.h
@@ -0,0 +1,366 @@
+/* SPDX-License-Identifier: (GPL-2.0+) */
+/*
+ * Copyright © 2019 Intel Corporation
+ *
+ * Authors:
+ * Ramalingam C <ramalingam.c@intel.com>
+ */
+
+#ifndef __MEI_HDCP_H__
+#define __MEI_HDCP_H__
+
+#include <drm/drm_hdcp.h>
+
+/* me_hdcp_status: Enumeration of all HDCP Status Codes */
+enum me_hdcp_status {
+	ME_HDCP_STATUS_SUCCESS			= 0x0000,
+
+	/* WiDi Generic Status Codes */
+	ME_HDCP_STATUS_INTERNAL_ERROR		= 0x1000,
+	ME_HDCP_STATUS_UNKNOWN_ERROR		= 0x1001,
+	ME_HDCP_STATUS_INCORRECT_API_VERSION	= 0x1002,
+	ME_HDCP_STATUS_INVALID_FUNCTION		= 0x1003,
+	ME_HDCP_STATUS_INVALID_BUFFER_LENGTH	= 0x1004,
+	ME_HDCP_STATUS_INVALID_PARAMS		= 0x1005,
+	ME_HDCP_STATUS_AUTHENTICATION_FAILED	= 0x1006,
+
+	/* WiDi Status Codes */
+	ME_HDCP_INVALID_SESSION_STATE		= 0x6000,
+	ME_HDCP_SRM_FRAGMENT_UNEXPECTED		= 0x6001,
+	ME_HDCP_SRM_INVALID_LENGTH		= 0x6002,
+	ME_HDCP_SRM_FRAGMENT_OFFSET_INVALID	= 0x6003,
+	ME_HDCP_SRM_VERIFICATION_FAILED		= 0x6004,
+	ME_HDCP_SRM_VERSION_TOO_OLD		= 0x6005,
+	ME_HDCP_RX_CERT_VERIFICATION_FAILED	= 0x6006,
+	ME_HDCP_RX_REVOKED			= 0x6007,
+	ME_HDCP_H_VERIFICATION_FAILED		= 0x6008,
+	ME_HDCP_REPEATER_CHECK_UNEXPECTED	= 0x6009,
+	ME_HDCP_TOPOLOGY_MAX_EXCEEDED		= 0x600A,
+	ME_HDCP_V_VERIFICATION_FAILED		= 0x600B,
+	ME_HDCP_L_VERIFICATION_FAILED		= 0x600C,
+	ME_HDCP_STREAM_KEY_ALLOC_FAILED		= 0x600D,
+	ME_HDCP_BASE_KEY_RESET_FAILED		= 0x600E,
+	ME_HDCP_NONCE_GENERATION_FAILED		= 0x600F,
+	ME_HDCP_STATUS_INVALID_E_KEY_STATE	= 0x6010,
+	ME_HDCP_STATUS_INVALID_CS_ICV		= 0x6011,
+	ME_HDCP_STATUS_INVALID_KB_KEY_STATE	= 0x6012,
+	ME_HDCP_STATUS_INVALID_PAVP_MODE_ICV	= 0x6013,
+	ME_HDCP_STATUS_INVALID_PAVP_MODE	= 0x6014,
+	ME_HDCP_STATUS_LC_MAX_ATTEMPTS		= 0x6015,
+
+	/* New status for HDCP 2.1 */
+	ME_HDCP_STATUS_MISMATCH_IN_M		= 0x6016,
+
+	/* New status code for HDCP 2.2 Rx */
+	ME_HDCP_STATUS_RX_PROV_NOT_ALLOWED	= 0x6017,
+	ME_HDCP_STATUS_RX_PROV_WRONG_SUBJECT	= 0x6018,
+	ME_HDCP_RX_NEEDS_PROVISIONING		= 0x6019,
+	ME_HDCP_BKSV_ICV_AUTH_FAILED		= 0x6020,
+	ME_HDCP_STATUS_INVALID_STREAM_ID	= 0x6021,
+	ME_HDCP_STATUS_CHAIN_NOT_INITIALIZED	= 0x6022,
+	ME_HDCP_FAIL_NOT_EXPECTED		= 0x6023,
+	ME_HDCP_FAIL_HDCP_OFF			= 0x6024,
+	ME_HDCP_FAIL_INVALID_PAVP_MEMORY_MODE	= 0x6025,
+	ME_HDCP_FAIL_AES_ECB_FAILURE		= 0x6026,
+	ME_HDCP_FEATURE_NOT_SUPPORTED		= 0x6027,
+	ME_HDCP_DMA_READ_ERROR			= 0x6028,
+	ME_HDCP_DMA_WRITE_ERROR			= 0x6029,
+	ME_HDCP_FAIL_INVALID_PACKET_SIZE	= 0x6030,
+	ME_HDCP_H264_PARSING_ERROR		= 0x6031,
+	ME_HDCP_HDCP2_ERRATA_VIDEO_VIOLATION	= 0x6032,
+	ME_HDCP_HDCP2_ERRATA_AUDIO_VIOLATION	= 0x6033,
+	ME_HDCP_TX_ACTIVE_ERROR			= 0x6034,
+	ME_HDCP_MODE_CHANGE_ERROR		= 0x6035,
+	ME_HDCP_STREAM_TYPE_ERROR		= 0x6036,
+	ME_HDCP_STREAM_MANAGE_NOT_POSSIBLE	= 0x6037,
+
+	ME_HDCP_STATUS_PORT_INVALID_COMMAND	= 0x6038,
+	ME_HDCP_STATUS_UNSUPPORTED_PROTOCOL	= 0x6039,
+	ME_HDCP_STATUS_INVALID_PORT_INDEX	= 0x603a,
+	ME_HDCP_STATUS_TX_AUTH_NEEDED		= 0x603b,
+	ME_HDCP_STATUS_NOT_INTEGRATED_PORT	= 0x603c,
+	ME_HDCP_STATUS_SESSION_MAX_REACHED	= 0x603d,
+
+	/* hdcp capable bit is not set in rx_caps(error is unique to DP) */
+	ME_HDCP_STATUS_NOT_HDCP_CAPABLE		= 0x6041,
+
+	ME_HDCP_STATUS_INVALID_STREAM_COUNT	= 0x6042,
+};
+
+#define HDCP_API_VERSION				0x00010000
+
+#define HDCP_M_LEN					16
+#define HDCP_KH_LEN					16
+
+/* Payload Buffer size(Excluding Header) for CMDs and corresponding response */
+/* Wired_Tx_AKE  */
+#define	WIRED_CMD_BUF_LEN_INITIATE_HDCP2_SESSION_IN	(4 + 1)
+#define	WIRED_CMD_BUF_LEN_INITIATE_HDCP2_SESSION_OUT	(4 + 8 + 3)
+
+#define	WIRED_CMD_BUF_LEN_VERIFY_RECEIVER_CERT_IN	(4 + 522 + 8 + 3)
+#define	WIRED_CMD_BUF_LEN_VERIFY_RECEIVER_CERT_MIN_OUT	(4 + 1 + 3 + 16 + 16)
+#define	WIRED_CMD_BUF_LEN_VERIFY_RECEIVER_CERT_MAX_OUT	(4 + 1 + 3 + 128)
+
+#define	WIRED_CMD_BUF_LEN_AKE_SEND_HPRIME_IN		(4 + 32)
+#define	WIRED_CMD_BUF_LEN_AKE_SEND_HPRIME_OUT		(4)
+
+#define	WIRED_CMD_BUF_LEN_SEND_PAIRING_INFO_IN		(4 + 16)
+#define	WIRED_CMD_BUF_LEN_SEND_PAIRING_INFO_OUT		(4)
+
+#define	WIRED_CMD_BUF_LEN_CLOSE_SESSION_IN		(4)
+#define	WIRED_CMD_BUF_LEN_CLOSE_SESSION_OUT		(4)
+
+/* Wired_Tx_LC */
+#define	WIRED_CMD_BUF_LEN_INIT_LOCALITY_CHECK_IN	(4)
+#define	WIRED_CMD_BUF_LEN_INIT_LOCALITY_CHECK_OUT	(4 + 8)
+
+#define	WIRED_CMD_BUF_LEN_VALIDATE_LOCALITY_IN		(4 + 32)
+#define	WIRED_CMD_BUF_LEN_VALIDATE_LOCALITY_OUT		(4)
+
+/* Wired_Tx_SKE */
+#define	WIRED_CMD_BUF_LEN_GET_SESSION_KEY_IN		(4)
+#define	WIRED_CMD_BUF_LEN_GET_SESSION_KEY_OUT		(4 + 16 + 8)
+
+/* Wired_Tx_SKE */
+#define	WIRED_CMD_BUF_LEN_ENABLE_AUTH_IN		(4 + 1)
+#define	WIRED_CMD_BUF_LEN_ENABLE_AUTH_OUT		(4)
+
+/* Wired_Tx_Repeater */
+#define	WIRED_CMD_BUF_LEN_VERIFY_REPEATER_IN		(4 + 2 + 3 + 16 + 155)
+#define	WIRED_CMD_BUF_LEN_VERIFY_REPEATER_OUT		(4 + 1 + 16)
+
+#define	WIRED_CMD_BUF_LEN_REPEATER_AUTH_STREAM_REQ_MIN_IN	(4 + 3 + \
+								32 + 2 + 2)
+
+#define	WIRED_CMD_BUF_LEN_REPEATER_AUTH_STREAM_REQ_OUT		(4)
+
+/* hdcp_command_id: Enumeration of all WIRED HDCP Command IDs */
+enum hdcp_command_id {
+	_WIDI_COMMAND_BASE		= 0x00030000,
+	WIDI_INITIATE_HDCP2_SESSION	= _WIDI_COMMAND_BASE,
+	HDCP_GET_SRM_STATUS,
+	HDCP_SEND_SRM_FRAGMENT,
+
+	/* The wired HDCP Tx commands */
+	_WIRED_COMMAND_BASE		= 0x00031000,
+	WIRED_INITIATE_HDCP2_SESSION	= _WIRED_COMMAND_BASE,
+	WIRED_VERIFY_RECEIVER_CERT,
+	WIRED_AKE_SEND_HPRIME,
+	WIRED_AKE_SEND_PAIRING_INFO,
+	WIRED_INIT_LOCALITY_CHECK,
+	WIRED_VALIDATE_LOCALITY,
+	WIRED_GET_SESSION_KEY,
+	WIRED_ENABLE_AUTH,
+	WIRED_VERIFY_REPEATER,
+	WIRED_REPEATER_AUTH_STREAM_REQ,
+	WIRED_CLOSE_SESSION,
+
+	_WIRED_COMMANDS_COUNT,
+};
+
+union encrypted_buff {
+	u8		e_kpub_km[HDCP_2_2_E_KPUB_KM_LEN];
+	u8		e_kh_km_m[HDCP_2_2_E_KH_KM_M_LEN];
+	struct {
+		u8	e_kh_km[HDCP_KH_LEN];
+		u8	m[HDCP_M_LEN];
+	} __packed;
+};
+
+/* HDCP HECI message header. All header values are little endian. */
+struct hdcp_cmd_header {
+	u32			api_version;
+	u32			command_id;
+	enum me_hdcp_status	status;
+	/* Length of the HECI message (excluding the header) */
+	u32			buffer_len;
+} __packed;
+
+/* Empty command request or response. No data follows the header. */
+struct hdcp_cmd_no_data {
+	struct hdcp_cmd_header header;
+} __packed;
+
+/* Uniquely identifies the hdcp port being addressed for a given command. */
+struct hdcp_port_id {
+	u8	integrated_port_type;
+	u8	physical_port;
+	u16	reserved;
+} __packed;
+
+/*
+ * Data structures for integrated wired HDCP2 Tx in
+ * support of the AKE protocol
+ */
+/* HECI struct for integrated wired HDCP Tx session initiation. */
+struct wired_cmd_initiate_hdcp2_session_in {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+	u8			protocol; /* for HDMI vs DP */
+} __packed;
+
+struct wired_cmd_initiate_hdcp2_session_out {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+	u8			r_tx[HDCP_2_2_RTX_LEN];
+	struct hdcp2_tx_caps	tx_caps;
+} __packed;
+
+/* HECI struct for ending an integrated wired HDCP Tx session. */
+struct wired_cmd_close_session_in {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+} __packed;
+
+struct wired_cmd_close_session_out {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+} __packed;
+
+/* HECI struct for integrated wired HDCP Tx Rx Cert verification. */
+struct wired_cmd_verify_receiver_cert_in {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+	struct hdcp2_cert_rx	cert_rx;
+	u8			r_rx[HDCP_2_2_RRX_LEN];
+	u8			rx_caps[HDCP_2_2_RXCAPS_LEN];
+} __packed;
+
+struct wired_cmd_verify_receiver_cert_out {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+	u8			km_stored;
+	u8			reserved[3];
+	union encrypted_buff	ekm_buff;
+} __packed;
+
+/* HECI struct for verification of Rx's Hprime in a HDCP Tx session */
+struct wired_cmd_ake_send_hprime_in {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+	u8			h_prime[HDCP_2_2_H_PRIME_LEN];
+} __packed;
+
+struct wired_cmd_ake_send_hprime_out {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+} __packed;
+
+/*
+ * HECI struct for sending in AKE pairing data generated by the Rx in an
+ * integrated wired HDCP Tx session.
+ */
+struct wired_cmd_ake_send_pairing_info_in {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+	u8			e_kh_km[HDCP_2_2_E_KH_KM_LEN];
+} __packed;
+
+struct wired_cmd_ake_send_pairing_info_out {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+} __packed;
+
+/* Data structures for integrated wired HDCP2 Tx in support of the LC protocol*/
+/*
+ * HECI struct for initiating locality check with an
+ * integrated wired HDCP Tx session.
+ */
+struct wired_cmd_init_locality_check_in {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+} __packed;
+
+struct wired_cmd_init_locality_check_out {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+	u8			r_n[HDCP_2_2_RN_LEN];
+} __packed;
+
+/*
+ * HECI struct for validating an Rx's LPrime value in an
+ * integrated wired HDCP Tx session.
+ */
+struct wired_cmd_validate_locality_in {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+	u8			l_prime[HDCP_2_2_L_PRIME_LEN];
+} __packed;
+
+struct wired_cmd_validate_locality_out {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+} __packed;
+
+/*
+ * Data structures for integrated wired HDCP2 Tx in support of the
+ * SKE protocol
+ */
+/* HECI struct for creating session key */
+struct wired_cmd_get_session_key_in {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+} __packed;
+
+struct wired_cmd_get_session_key_out {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+	u8			e_dkey_ks[HDCP_2_2_E_DKEY_KS_LEN];
+	u8			r_iv[HDCP_2_2_RIV_LEN];
+} __packed;
+
+/* HECI struct for the Tx enable authentication command */
+struct wired_cmd_enable_auth_in {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+	u8			stream_type;
+} __packed;
+
+struct wired_cmd_enable_auth_out {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+} __packed;
+
+/*
+ * Data structures for integrated wired HDCP2 Tx in support of
+ * the repeater protocols
+ */
+/*
+ * HECI struct for verifying the downstream repeater's HDCP topology in an
+ * integrated wired HDCP Tx session.
+ */
+struct wired_cmd_verify_repeater_in {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+	u8			rx_info[HDCP_2_2_RXINFO_LEN];
+	u8			seq_num_v[HDCP_2_2_SEQ_NUM_LEN];
+	u8			v_prime[HDCP_2_2_V_PRIME_HALF_LEN];
+	u8			receiver_ids[HDCP_2_2_RECEIVER_IDS_MAX_LEN];
+} __packed;
+
+struct wired_cmd_verify_repeater_out {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+	u8			content_type_supported;
+	u8			v[HDCP_2_2_V_PRIME_HALF_LEN];
+} __packed;
+
+/*
+ * HECI struct in support of stream management in an
+ * integrated wired HDCP Tx session.
+ */
+struct wired_cmd_repeater_auth_stream_req_in {
+	struct hdcp_cmd_header		header;
+	struct hdcp_port_id		port;
+	u8				seq_num_m[HDCP_2_2_SEQ_NUM_LEN];
+	u8				m_prime[HDCP_2_2_MPRIME_LEN];
+	__be16				k;
+	struct hdcp2_streamid_type	streams[1];
+} __packed;
+
+struct wired_cmd_repeater_auth_stream_req_out {
+	struct hdcp_cmd_header	header;
+	struct hdcp_port_id	port;
+} __packed;
+
+#endif /* __MEI_HDCP_H__ */
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v15 04/16] misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (2 preceding siblings ...)
  2019-02-21 18:11 ` [PATCH v15 03/16] misc/mei/hdcp: Define ME FW interface for HDCP2.2 Ramalingam C
@ 2019-02-21 18:11 ` Ramalingam C
  2019-02-23  0:34   ` kbuild test robot
  2019-02-21 18:11 ` [PATCH v15 05/16] misc/mei/hdcp: Verify Receiver Cert and prepare km Ramalingam C
                   ` (19 subsequent siblings)
  23 siblings, 1 reply; 34+ messages in thread
From: Ramalingam C @ 2019-02-21 18:11 UTC (permalink / raw)
  To: intel-gfx, dri-devel, daniel.vetter, tomas.winkler, uma.shankar

Request ME FW to start the HDCP2.2 session for an intel port.
Prepares payloads for command WIRED_INITIATE_HDCP2_SESSION and sends
to ME FW.

On Success, ME FW will start a HDCP2.2 session for the port and
provides the content for HDCP2.2 AKE_Init message.

v2: Rebased.
v3:
  cldev is add as a separate parameter [Tomas]
  Redundant comment and typecast are removed [Tomas]
v4:
  %zd is used for size [Alexander]
  %s/return -1/return -EIO [Alexander]
  Spellings in commit msg is fixed [Uma]
v5: Rebased.
v6:
  Collected the rb-ed by.
  Realigning the patches in the series.
v7:
  Adjust to the new mei interface.
  Fix for kdoc.
v8:
  K-Doc Addition.
  memcpy for const length.
v9:
  s/mei_hdcp_ddi/mei_fw_ddi
  s/i915_port/mei_i915_port [Tomas]
  renamed func as mei_hdcp_* [Tomas]
  Instead of macro, inline func for ddi index is used. [Tomas]
v10:
  Switch case for the coversion between i915_port to mei_ddi [Tomas]
  Kernel doc fix.
v11:
  mei_hdcp_ops is defined as const. [Tomas]

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
---
 drivers/misc/mei/hdcp/mei_hdcp.c | 94 ++++++++++++++++++++++++++++++++++++++++
 drivers/misc/mei/hdcp/mei_hdcp.h | 11 +++++
 2 files changed, 105 insertions(+)

diff --git a/drivers/misc/mei/hdcp/mei_hdcp.c b/drivers/misc/mei/hdcp/mei_hdcp.c
index 993af6106ddb..e2587f8e8b94 100644
--- a/drivers/misc/mei/hdcp/mei_hdcp.c
+++ b/drivers/misc/mei/hdcp/mei_hdcp.c
@@ -23,6 +23,100 @@
 #include <linux/slab.h>
 #include <linux/uuid.h>
 #include <linux/mei_cl_bus.h>
+#include <drm/drm_connector.h>
+#include <drm/i915_component.h>
+#include <drm/i915_mei_hdcp_interface.h>
+
+#include "mei_hdcp.h"
+
+static inline u8 mei_get_ddi_index(enum port port)
+{
+	switch (port) {
+	case PORT_A:
+		return MEI_DDI_A;
+	case PORT_B ... PORT_F:
+		return (u8)port;
+	default:
+		return MEI_DDI_INVALID_PORT;
+	}
+}
+
+/**
+ * mei_hdcp_initiate_session() - Initiate a Wired HDCP2.2 Tx Session in ME FW
+ * @dev: device corresponding to the mei_cl_device
+ * @data: Intel HW specific hdcp data
+ * @ake_data: AKE_Init msg output.
+ *
+ * Return:  0 on Success, <0 on Failure.
+ */
+static int
+mei_hdcp_initiate_session(struct device *dev, struct hdcp_port_data *data,
+			  struct hdcp2_ake_init *ake_data)
+{
+	struct wired_cmd_initiate_hdcp2_session_in session_init_in = { { 0 } };
+	struct wired_cmd_initiate_hdcp2_session_out
+						session_init_out = { { 0 } };
+	struct mei_cl_device *cldev;
+	ssize_t byte;
+
+	if (!dev || !data || !ake_data)
+		return -EINVAL;
+
+	cldev = to_mei_cl_device(dev);
+
+	session_init_in.header.api_version = HDCP_API_VERSION;
+	session_init_in.header.command_id = WIRED_INITIATE_HDCP2_SESSION;
+	session_init_in.header.status = ME_HDCP_STATUS_SUCCESS;
+	session_init_in.header.buffer_len =
+				WIRED_CMD_BUF_LEN_INITIATE_HDCP2_SESSION_IN;
+
+	session_init_in.port.integrated_port_type = data->port_type;
+	session_init_in.port.physical_port = mei_get_ddi_index(data->port);
+	session_init_in.protocol = data->protocol;
+
+	byte = mei_cldev_send(cldev, (u8 *)&session_init_in,
+			      sizeof(session_init_in));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_send failed. %zd\n", byte);
+		return byte;
+	}
+
+	byte = mei_cldev_recv(cldev, (u8 *)&session_init_out,
+			      sizeof(session_init_out));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_recv failed. %zd\n", byte);
+		return byte;
+	}
+
+	if (session_init_out.header.status != ME_HDCP_STATUS_SUCCESS) {
+		dev_dbg(dev, "ME cmd 0x%08X Failed. Status: 0x%X\n",
+			WIRED_INITIATE_HDCP2_SESSION,
+			session_init_out.header.status);
+		return -EIO;
+	}
+
+	ake_data->msg_id = HDCP_2_2_AKE_INIT;
+	ake_data->tx_caps = session_init_out.tx_caps;
+	memcpy(ake_data->r_tx, session_init_out.r_tx, HDCP_2_2_RTX_LEN);
+
+	return 0;
+}
+
+static const __attribute__((unused))
+struct i915_hdcp_component_ops mei_hdcp_ops = {
+	.owner = THIS_MODULE,
+	.initiate_hdcp2_session = mei_hdcp_initiate_session,
+	.verify_receiver_cert_prepare_km = NULL,
+	.verify_hprime = NULL,
+	.store_pairing_info = NULL,
+	.initiate_locality_check = NULL,
+	.verify_lprime = NULL,
+	.get_session_key = NULL,
+	.repeater_check_flow_prepare_ack = NULL,
+	.verify_mprime = NULL,
+	.enable_hdcp_authentication = NULL,
+	.close_hdcp_session = NULL,
+};
 
 static int mei_hdcp_probe(struct mei_cl_device *cldev,
 			  const struct mei_cl_device_id *id)
diff --git a/drivers/misc/mei/hdcp/mei_hdcp.h b/drivers/misc/mei/hdcp/mei_hdcp.h
index f695662eff7d..5f74b908e486 100644
--- a/drivers/misc/mei/hdcp/mei_hdcp.h
+++ b/drivers/misc/mei/hdcp/mei_hdcp.h
@@ -363,4 +363,15 @@ struct wired_cmd_repeater_auth_stream_req_out {
 	struct hdcp_port_id	port;
 } __packed;
 
+enum mei_fw_ddi {
+	MEI_DDI_INVALID_PORT = 0x0,
+
+	MEI_DDI_B = 1,
+	MEI_DDI_C,
+	MEI_DDI_D,
+	MEI_DDI_E,
+	MEI_DDI_F,
+	MEI_DDI_A = 7,
+	MEI_DDI_RANGE_END = MEI_DDI_A,
+};
 #endif /* __MEI_HDCP_H__ */
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v15 05/16] misc/mei/hdcp: Verify Receiver Cert and prepare km
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (3 preceding siblings ...)
  2019-02-21 18:11 ` [PATCH v15 04/16] misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session Ramalingam C
@ 2019-02-21 18:11 ` Ramalingam C
  2019-02-21 18:12 ` [PATCH v15 06/16] misc/mei/hdcp: Verify H_prime Ramalingam C
                   ` (18 subsequent siblings)
  23 siblings, 0 replies; 34+ messages in thread
From: Ramalingam C @ 2019-02-21 18:11 UTC (permalink / raw)
  To: intel-gfx, dri-devel, daniel.vetter, tomas.winkler, uma.shankar

Requests for verification for receiver certification and also the
preparation for next AKE auth message with km.

On Success ME FW validate the HDCP2.2 receivers certificate and do the
revocation check on the receiver ID. AKE_Stored_Km will be prepared if
the receiver is already paired, else AKE_No_Stored_Km will be prepared.

Here AKE_Stored_Km and AKE_No_Stored_Km are HDCP2.2 protocol msgs.

v2: Rebased.
v3:
  cldev is passed as first parameter [Tomas]
  Redundant comments and cast are removed [Tomas]
v4:
  %zd is used for ssize_t [Alexander]
  %s/return -1/return -EIO [Alexander]
v5: Rebased.
v6:
  Collected the Rb-ed by.
  Rebasing.
v7:
  Adjust to the new mei interface.
  Fix for Kdoc.
v8:
  K-Doc Addition. [Tomas]
  memcpy for const length.
v9:
  renamed func as mei_hdcp_* [Tomas]
  Inline function is defined for DDI index [Tomas]
v10:
  Fixed the conversion of u8 to bool [Tomas]
  K-Doc fix [Tomas]
v11:
  Rebased.

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
---
 drivers/misc/mei/hdcp/mei_hdcp.c | 83 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 82 insertions(+), 1 deletion(-)

diff --git a/drivers/misc/mei/hdcp/mei_hdcp.c b/drivers/misc/mei/hdcp/mei_hdcp.c
index e2587f8e8b94..fc2a5ce8b156 100644
--- a/drivers/misc/mei/hdcp/mei_hdcp.c
+++ b/drivers/misc/mei/hdcp/mei_hdcp.c
@@ -102,11 +102,92 @@ mei_hdcp_initiate_session(struct device *dev, struct hdcp_port_data *data,
 	return 0;
 }
 
+/**
+ * mei_hdcp_verify_receiver_cert_prepare_km() - Verify the Receiver Certificate
+ * AKE_Send_Cert and prepare AKE_Stored_Km/AKE_No_Stored_Km
+ * @dev: device corresponding to the mei_cl_device
+ * @data: Intel HW specific hdcp data
+ * @rx_cert: AKE_Send_Cert for verification
+ * @km_stored: Pairing status flag output
+ * @ek_pub_km: AKE_Stored_Km/AKE_No_Stored_Km output msg
+ * @msg_sz : size of AKE_XXXXX_Km output msg
+ *
+ * Return: 0 on Success, <0 on Failure
+ */
+static int
+mei_hdcp_verify_receiver_cert_prepare_km(struct device *dev,
+					 struct hdcp_port_data *data,
+					 struct hdcp2_ake_send_cert *rx_cert,
+					 bool *km_stored,
+					 struct hdcp2_ake_no_stored_km
+								*ek_pub_km,
+					 size_t *msg_sz)
+{
+	struct wired_cmd_verify_receiver_cert_in verify_rxcert_in = { { 0 } };
+	struct wired_cmd_verify_receiver_cert_out verify_rxcert_out = { { 0 } };
+	struct mei_cl_device *cldev;
+	ssize_t byte;
+
+	if (!dev || !data || !rx_cert || !km_stored || !ek_pub_km || !msg_sz)
+		return -EINVAL;
+
+	cldev = to_mei_cl_device(dev);
+
+	verify_rxcert_in.header.api_version = HDCP_API_VERSION;
+	verify_rxcert_in.header.command_id = WIRED_VERIFY_RECEIVER_CERT;
+	verify_rxcert_in.header.status = ME_HDCP_STATUS_SUCCESS;
+	verify_rxcert_in.header.buffer_len =
+				WIRED_CMD_BUF_LEN_VERIFY_RECEIVER_CERT_IN;
+
+	verify_rxcert_in.port.integrated_port_type = data->port_type;
+	verify_rxcert_in.port.physical_port = mei_get_ddi_index(data->port);
+
+	verify_rxcert_in.cert_rx = rx_cert->cert_rx;
+	memcpy(verify_rxcert_in.r_rx, &rx_cert->r_rx, HDCP_2_2_RRX_LEN);
+	memcpy(verify_rxcert_in.rx_caps, rx_cert->rx_caps, HDCP_2_2_RXCAPS_LEN);
+
+	byte = mei_cldev_send(cldev, (u8 *)&verify_rxcert_in,
+			      sizeof(verify_rxcert_in));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_send failed: %zd\n", byte);
+		return byte;
+	}
+
+	byte = mei_cldev_recv(cldev, (u8 *)&verify_rxcert_out,
+			      sizeof(verify_rxcert_out));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_recv failed: %zd\n", byte);
+		return byte;
+	}
+
+	if (verify_rxcert_out.header.status != ME_HDCP_STATUS_SUCCESS) {
+		dev_dbg(dev, "ME cmd 0x%08X Failed. Status: 0x%X\n",
+			WIRED_VERIFY_RECEIVER_CERT,
+			verify_rxcert_out.header.status);
+		return -EIO;
+	}
+
+	*km_stored = !!verify_rxcert_out.km_stored;
+	if (verify_rxcert_out.km_stored) {
+		ek_pub_km->msg_id = HDCP_2_2_AKE_STORED_KM;
+		*msg_sz = sizeof(struct hdcp2_ake_stored_km);
+	} else {
+		ek_pub_km->msg_id = HDCP_2_2_AKE_NO_STORED_KM;
+		*msg_sz = sizeof(struct hdcp2_ake_no_stored_km);
+	}
+
+	memcpy(ek_pub_km->e_kpub_km, &verify_rxcert_out.ekm_buff,
+	       sizeof(verify_rxcert_out.ekm_buff));
+
+	return 0;
+}
+
 static const __attribute__((unused))
 struct i915_hdcp_component_ops mei_hdcp_ops = {
 	.owner = THIS_MODULE,
 	.initiate_hdcp2_session = mei_hdcp_initiate_session,
-	.verify_receiver_cert_prepare_km = NULL,
+	.verify_receiver_cert_prepare_km =
+				mei_hdcp_verify_receiver_cert_prepare_km,
 	.verify_hprime = NULL,
 	.store_pairing_info = NULL,
 	.initiate_locality_check = NULL,
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v15 06/16] misc/mei/hdcp: Verify H_prime
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (4 preceding siblings ...)
  2019-02-21 18:11 ` [PATCH v15 05/16] misc/mei/hdcp: Verify Receiver Cert and prepare km Ramalingam C
@ 2019-02-21 18:12 ` Ramalingam C
  2019-02-21 18:12 ` [PATCH v15 07/16] misc/mei/hdcp: Store the HDCP Pairing info Ramalingam C
                   ` (17 subsequent siblings)
  23 siblings, 0 replies; 34+ messages in thread
From: Ramalingam C @ 2019-02-21 18:12 UTC (permalink / raw)
  To: intel-gfx, dri-devel, daniel.vetter, tomas.winkler, uma.shankar

Requests for the verification of AKE_Send_H_prime.

ME will calculate the H and comparing it with received H_Prime.
The result will be returned as status.

Here AKE_Send_H_prime is a HDCP2.2 Authentication msg.

v2: Rebased.
v3:
  cldev is passed as first parameter [Tomas]
  Redundant comments and cast are removed [Tomas]
v4:
  %zd for ssize_t [Alexander]
  %s/return -1/return -EIO [Alexander]
  Styles and typos fixed [Uma]
v5: Rebased.
v6:
  Collected the Rb-ed by.
  Rebasing.
v7:
  Adjust to the new mei interface.
  Fix for Kdoc.
v8:
  K-Doc Addition [Tomas]
  memcpy for const length.
v9:
  renamed func as mei_hdcp_* [Tomas]
  Inline function is defined for DDI index [Tomas]
v10:
  K-Doc fix. [Tomas]
v11:
  Rebased.

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
---
 drivers/misc/mei/hdcp/mei_hdcp.c | 58 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 57 insertions(+), 1 deletion(-)

diff --git a/drivers/misc/mei/hdcp/mei_hdcp.c b/drivers/misc/mei/hdcp/mei_hdcp.c
index fc2a5ce8b156..37e854d7240e 100644
--- a/drivers/misc/mei/hdcp/mei_hdcp.c
+++ b/drivers/misc/mei/hdcp/mei_hdcp.c
@@ -182,13 +182,69 @@ mei_hdcp_verify_receiver_cert_prepare_km(struct device *dev,
 	return 0;
 }
 
+/**
+ * mei_hdcp_verify_hprime() - Verify AKE_Send_H_prime at ME FW.
+ * @dev: device corresponding to the mei_cl_device
+ * @data: Intel HW specific hdcp data
+ * @rx_hprime: AKE_Send_H_prime msg for ME FW verification
+ *
+ * Return: 0 on Success, <0 on Failure
+ */
+static int
+mei_hdcp_verify_hprime(struct device *dev, struct hdcp_port_data *data,
+		       struct hdcp2_ake_send_hprime *rx_hprime)
+{
+	struct wired_cmd_ake_send_hprime_in send_hprime_in = { { 0 } };
+	struct wired_cmd_ake_send_hprime_out send_hprime_out = { { 0 } };
+	struct mei_cl_device *cldev;
+	ssize_t byte;
+
+	if (!dev || !data || !rx_hprime)
+		return -EINVAL;
+
+	cldev = to_mei_cl_device(dev);
+
+	send_hprime_in.header.api_version = HDCP_API_VERSION;
+	send_hprime_in.header.command_id = WIRED_AKE_SEND_HPRIME;
+	send_hprime_in.header.status = ME_HDCP_STATUS_SUCCESS;
+	send_hprime_in.header.buffer_len = WIRED_CMD_BUF_LEN_AKE_SEND_HPRIME_IN;
+
+	send_hprime_in.port.integrated_port_type = data->port_type;
+	send_hprime_in.port.physical_port = mei_get_ddi_index(data->port);
+
+	memcpy(send_hprime_in.h_prime, rx_hprime->h_prime,
+	       HDCP_2_2_H_PRIME_LEN);
+
+	byte = mei_cldev_send(cldev, (u8 *)&send_hprime_in,
+			      sizeof(send_hprime_in));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_send failed. %zd\n", byte);
+		return byte;
+	}
+
+	byte = mei_cldev_recv(cldev, (u8 *)&send_hprime_out,
+			      sizeof(send_hprime_out));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_recv failed. %zd\n", byte);
+		return byte;
+	}
+
+	if (send_hprime_out.header.status != ME_HDCP_STATUS_SUCCESS) {
+		dev_dbg(dev, "ME cmd 0x%08X Failed. Status: 0x%X\n",
+			WIRED_AKE_SEND_HPRIME, send_hprime_out.header.status);
+		return -EIO;
+	}
+
+	return 0;
+}
+
 static const __attribute__((unused))
 struct i915_hdcp_component_ops mei_hdcp_ops = {
 	.owner = THIS_MODULE,
 	.initiate_hdcp2_session = mei_hdcp_initiate_session,
 	.verify_receiver_cert_prepare_km =
 				mei_hdcp_verify_receiver_cert_prepare_km,
-	.verify_hprime = NULL,
+	.verify_hprime = mei_hdcp_verify_hprime,
 	.store_pairing_info = NULL,
 	.initiate_locality_check = NULL,
 	.verify_lprime = NULL,
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v15 07/16] misc/mei/hdcp: Store the HDCP Pairing info
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (5 preceding siblings ...)
  2019-02-21 18:12 ` [PATCH v15 06/16] misc/mei/hdcp: Verify H_prime Ramalingam C
@ 2019-02-21 18:12 ` Ramalingam C
  2019-02-21 18:12 ` [PATCH v15 08/16] misc/mei/hdcp: Initiate Locality check Ramalingam C
                   ` (16 subsequent siblings)
  23 siblings, 0 replies; 34+ messages in thread
From: Ramalingam C @ 2019-02-21 18:12 UTC (permalink / raw)
  To: intel-gfx, dri-devel, daniel.vetter, tomas.winkler, uma.shankar

Provides Pairing info to ME to store.

Pairing is a process to fast track the subsequent authentication
with the same HDCP sink.

On Success, received HDCP pairing info is stored in non-volatile
memory of ME.

v2: Rebased.
v3:
  cldev is passed as first parameter [Tomas]
  Redundant comments and cast are removed [Tomas]
v4:
  %zd for ssize_t [Alexander]
  %s/return -1/return -EIO [Alexander]
  Style fixed [Uma]
v5: Rebased.
v6:
  Collected the Rb-ed by.
  Rebasing.
v7:
  Adjust to the new mei interface.
  Fix for Kdoc.
v8:
  K-Doc addition. [Tomas]
  memcpy for const length.
v9:
  renamed func as mei_hdcp_* [Tomas]
  Inline function is defined for DDI index [Tomas]
v10:
  K-Doc fix. [Tomas]
v11:
  Rebased.

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
---
 drivers/misc/mei/hdcp/mei_hdcp.c | 60 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 59 insertions(+), 1 deletion(-)

diff --git a/drivers/misc/mei/hdcp/mei_hdcp.c b/drivers/misc/mei/hdcp/mei_hdcp.c
index 37e854d7240e..d5fbb2dbba60 100644
--- a/drivers/misc/mei/hdcp/mei_hdcp.c
+++ b/drivers/misc/mei/hdcp/mei_hdcp.c
@@ -238,6 +238,64 @@ mei_hdcp_verify_hprime(struct device *dev, struct hdcp_port_data *data,
 	return 0;
 }
 
+/**
+ * mei_hdcp_store_pairing_info() - Store pairing info received at ME FW
+ * @dev: device corresponding to the mei_cl_device
+ * @data: Intel HW specific hdcp data
+ * @pairing_info: AKE_Send_Pairing_Info msg input to ME FW
+ *
+ * Return: 0 on Success, <0 on Failure
+ */
+static int
+mei_hdcp_store_pairing_info(struct device *dev, struct hdcp_port_data *data,
+			    struct hdcp2_ake_send_pairing_info *pairing_info)
+{
+	struct wired_cmd_ake_send_pairing_info_in pairing_info_in = { { 0 } };
+	struct wired_cmd_ake_send_pairing_info_out pairing_info_out = { { 0 } };
+	struct mei_cl_device *cldev;
+	ssize_t byte;
+
+	if (!dev || !data || !pairing_info)
+		return -EINVAL;
+
+	cldev = to_mei_cl_device(dev);
+
+	pairing_info_in.header.api_version = HDCP_API_VERSION;
+	pairing_info_in.header.command_id = WIRED_AKE_SEND_PAIRING_INFO;
+	pairing_info_in.header.status = ME_HDCP_STATUS_SUCCESS;
+	pairing_info_in.header.buffer_len =
+					WIRED_CMD_BUF_LEN_SEND_PAIRING_INFO_IN;
+
+	pairing_info_in.port.integrated_port_type = data->port_type;
+	pairing_info_in.port.physical_port = mei_get_ddi_index(data->port);
+
+	memcpy(pairing_info_in.e_kh_km, pairing_info->e_kh_km,
+	       HDCP_2_2_E_KH_KM_LEN);
+
+	byte = mei_cldev_send(cldev, (u8 *)&pairing_info_in,
+			      sizeof(pairing_info_in));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_send failed. %zd\n", byte);
+		return byte;
+	}
+
+	byte = mei_cldev_recv(cldev, (u8 *)&pairing_info_out,
+			      sizeof(pairing_info_out));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_recv failed. %zd\n", byte);
+		return byte;
+	}
+
+	if (pairing_info_out.header.status != ME_HDCP_STATUS_SUCCESS) {
+		dev_dbg(dev, "ME cmd 0x%08X failed. Status: 0x%X\n",
+			WIRED_AKE_SEND_PAIRING_INFO,
+			pairing_info_out.header.status);
+		return -EIO;
+	}
+
+	return 0;
+}
+
 static const __attribute__((unused))
 struct i915_hdcp_component_ops mei_hdcp_ops = {
 	.owner = THIS_MODULE,
@@ -245,7 +303,7 @@ struct i915_hdcp_component_ops mei_hdcp_ops = {
 	.verify_receiver_cert_prepare_km =
 				mei_hdcp_verify_receiver_cert_prepare_km,
 	.verify_hprime = mei_hdcp_verify_hprime,
-	.store_pairing_info = NULL,
+	.store_pairing_info = mei_hdcp_store_pairing_info,
 	.initiate_locality_check = NULL,
 	.verify_lprime = NULL,
 	.get_session_key = NULL,
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v15 08/16] misc/mei/hdcp: Initiate Locality check
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (6 preceding siblings ...)
  2019-02-21 18:12 ` [PATCH v15 07/16] misc/mei/hdcp: Store the HDCP Pairing info Ramalingam C
@ 2019-02-21 18:12 ` Ramalingam C
  2019-02-21 18:12 ` [PATCH v15 09/16] misc/mei/hdcp: Verify L_prime Ramalingam C
                   ` (15 subsequent siblings)
  23 siblings, 0 replies; 34+ messages in thread
From: Ramalingam C @ 2019-02-21 18:12 UTC (permalink / raw)
  To: intel-gfx, dri-devel, daniel.vetter, tomas.winkler, uma.shankar

Requests ME to start the second stage of HDCP2.2 authentication,
called Locality Check.

On Success, ME FW will provide LC_Init message to send to hdcp sink.

v2: Rebased.
v3:
  cldev is passed as first parameter [Tomas]
  Redundant comments and cast are removed [Tomas]
v4:
  %zd used for ssize_t [Alexander]
  %s/return -1/return -EIO [Alexander]
  Style fixed [Uma]
v5: Rebased.
v6:
  Collected the Rb-ed by.
  Rebasing.
v7:
  Adjust to the new mei interface.
  Fix for Kdoc.
v8:
  K-Doc addition. [Tomas]
v9:
  renamed func as mei_hdcp_* [Tomas]
  Inline function is defined for DDI index [Tomas]
v10:
  K-Doc fix. [Tomas]
v11:
  Rebased.

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
---
 drivers/misc/mei/hdcp/mei_hdcp.c | 57 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 56 insertions(+), 1 deletion(-)

diff --git a/drivers/misc/mei/hdcp/mei_hdcp.c b/drivers/misc/mei/hdcp/mei_hdcp.c
index d5fbb2dbba60..7c880efe9134 100644
--- a/drivers/misc/mei/hdcp/mei_hdcp.c
+++ b/drivers/misc/mei/hdcp/mei_hdcp.c
@@ -296,6 +296,61 @@ mei_hdcp_store_pairing_info(struct device *dev, struct hdcp_port_data *data,
 	return 0;
 }
 
+/**
+ * mei_hdcp_initiate_locality_check() - Prepare LC_Init
+ * @dev: device corresponding to the mei_cl_device
+ * @data: Intel HW specific hdcp data
+ * @lc_init_data: LC_Init msg output
+ *
+ * Return: 0 on Success, <0 on Failure
+ */
+static int
+mei_hdcp_initiate_locality_check(struct device *dev,
+				 struct hdcp_port_data *data,
+				 struct hdcp2_lc_init *lc_init_data)
+{
+	struct wired_cmd_init_locality_check_in lc_init_in = { { 0 } };
+	struct wired_cmd_init_locality_check_out lc_init_out = { { 0 } };
+	struct mei_cl_device *cldev;
+	ssize_t byte;
+
+	if (!dev || !data || !lc_init_data)
+		return -EINVAL;
+
+	cldev = to_mei_cl_device(dev);
+
+	lc_init_in.header.api_version = HDCP_API_VERSION;
+	lc_init_in.header.command_id = WIRED_INIT_LOCALITY_CHECK;
+	lc_init_in.header.status = ME_HDCP_STATUS_SUCCESS;
+	lc_init_in.header.buffer_len = WIRED_CMD_BUF_LEN_INIT_LOCALITY_CHECK_IN;
+
+	lc_init_in.port.integrated_port_type = data->port_type;
+	lc_init_in.port.physical_port = mei_get_ddi_index(data->port);
+
+	byte = mei_cldev_send(cldev, (u8 *)&lc_init_in, sizeof(lc_init_in));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_send failed. %zd\n", byte);
+		return byte;
+	}
+
+	byte = mei_cldev_recv(cldev, (u8 *)&lc_init_out, sizeof(lc_init_out));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_recv failed. %zd\n", byte);
+		return byte;
+	}
+
+	if (lc_init_out.header.status != ME_HDCP_STATUS_SUCCESS) {
+		dev_dbg(dev, "ME cmd 0x%08X Failed. status: 0x%X\n",
+			WIRED_INIT_LOCALITY_CHECK, lc_init_out.header.status);
+		return -EIO;
+	}
+
+	lc_init_data->msg_id = HDCP_2_2_LC_INIT;
+	memcpy(lc_init_data->r_n, lc_init_out.r_n, HDCP_2_2_RN_LEN);
+
+	return 0;
+}
+
 static const __attribute__((unused))
 struct i915_hdcp_component_ops mei_hdcp_ops = {
 	.owner = THIS_MODULE,
@@ -304,7 +359,7 @@ struct i915_hdcp_component_ops mei_hdcp_ops = {
 				mei_hdcp_verify_receiver_cert_prepare_km,
 	.verify_hprime = mei_hdcp_verify_hprime,
 	.store_pairing_info = mei_hdcp_store_pairing_info,
-	.initiate_locality_check = NULL,
+	.initiate_locality_check = mei_hdcp_initiate_locality_check,
 	.verify_lprime = NULL,
 	.get_session_key = NULL,
 	.repeater_check_flow_prepare_ack = NULL,
-- 
2.7.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v15 09/16] misc/mei/hdcp: Verify L_prime
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (7 preceding siblings ...)
  2019-02-21 18:12 ` [PATCH v15 08/16] misc/mei/hdcp: Initiate Locality check Ramalingam C
@ 2019-02-21 18:12 ` Ramalingam C
  2019-02-21 18:12 ` [PATCH v15 10/16] misc/mei/hdcp: Prepare Session Key Ramalingam C
                   ` (14 subsequent siblings)
  23 siblings, 0 replies; 34+ messages in thread
From: Ramalingam C @ 2019-02-21 18:12 UTC (permalink / raw)
  To: intel-gfx, dri-devel, daniel.vetter, tomas.winkler, uma.shankar

Request to ME to verify the LPrime received from HDCP sink.

On Success, ME FW will verify the received Lprime by calculating and
comparing with L.

This represents the completion of Locality Check.

v2: Rebased.
v3:
  cldev is passed as first parameter [Tomas]
  Redundant comments and cast are removed [Tomas]
v4:
  %zd for ssize_t [Alexander]
  %s/return -1/return -EIO [Alexander]
  Style fixed [Uma]
v5: Rebased.
v6:
  Collected the Rb-ed by.
  Rebasing.
v7:
  Adjust to the new mei interface.
  Fix for Kdoc.
v8:
  K-Doc addition. [Tomas]
  memcpy for const length.
v9:
  renamed func as mei_hdcp_* [Tomas]
  Inline function is defined for DDI index [Tomas]
v10:
  K-Doc fix. [Tomas]
v11:
  Rebased.

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
---
 drivers/misc/mei/hdcp/mei_hdcp.c | 60 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 59 insertions(+), 1 deletion(-)

diff --git a/drivers/misc/mei/hdcp/mei_hdcp.c b/drivers/misc/mei/hdcp/mei_hdcp.c
index 7c880efe9134..03f8af257ecc 100644
--- a/drivers/misc/mei/hdcp/mei_hdcp.c
+++ b/drivers/misc/mei/hdcp/mei_hdcp.c
@@ -351,6 +351,64 @@ mei_hdcp_initiate_locality_check(struct device *dev,
 	return 0;
 }
 
+/**
+ * mei_hdcp_verify_lprime() - Verify lprime.
+ * @dev: device corresponding to the mei_cl_device
+ * @data: Intel HW specific hdcp data
+ * @rx_lprime: LC_Send_L_prime msg for ME FW verification
+ *
+ * Return: 0 on Success, <0 on Failure
+ */
+static int
+mei_hdcp_verify_lprime(struct device *dev, struct hdcp_port_data *data,
+		       struct hdcp2_lc_send_lprime *rx_lprime)
+{
+	struct wired_cmd_validate_locality_in verify_lprime_in = { { 0 } };
+	struct wired_cmd_validate_locality_out verify_lprime_out = { { 0 } };
+	struct mei_cl_device *cldev;
+	ssize_t byte;
+
+	if (!dev || !data || !rx_lprime)
+		return -EINVAL;
+
+	cldev = to_mei_cl_device(dev);
+
+	verify_lprime_in.header.api_version = HDCP_API_VERSION;
+	verify_lprime_in.header.command_id = WIRED_VALIDATE_LOCALITY;
+	verify_lprime_in.header.status = ME_HDCP_STATUS_SUCCESS;
+	verify_lprime_in.header.buffer_len =
+					WIRED_CMD_BUF_LEN_VALIDATE_LOCALITY_IN;
+
+	verify_lprime_in.port.integrated_port_type = data->port_type;
+	verify_lprime_in.port.physical_port = mei_get_ddi_index(data->port);
+
+	memcpy(verify_lprime_in.l_prime, rx_lprime->l_prime,
+	       HDCP_2_2_L_PRIME_LEN);
+
+	byte = mei_cldev_send(cldev, (u8 *)&verify_lprime_in,
+			      sizeof(verify_lprime_in));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_send failed. %zd\n", byte);
+		return byte;
+	}
+
+	byte = mei_cldev_recv(cldev, (u8 *)&verify_lprime_out,
+			      sizeof(verify_lprime_out));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_recv failed. %zd\n", byte);
+		return byte;
+	}
+
+	if (verify_lprime_out.header.status != ME_HDCP_STATUS_SUCCESS) {
+		dev_dbg(dev, "ME cmd 0x%08X failed. status: 0x%X\n",
+			WIRED_VALIDATE_LOCALITY,
+			verify_lprime_out.header.status);
+		return -EIO;
+	}
+
+	return 0;
+}
+
 static const __attribute__((unused))
 struct i915_hdcp_component_ops mei_hdcp_ops = {
 	.owner = THIS_MODULE,
@@ -360,7 +418,7 @@ struct i915_hdcp_component_ops mei_hdcp_ops = {
 	.verify_hprime = mei_hdcp_verify_hprime,
 	.store_pairing_info = mei_hdcp_store_pairing_info,
 	.initiate_locality_check = mei_hdcp_initiate_locality_check,
-	.verify_lprime = NULL,
+	.verify_lprime = mei_hdcp_verify_lprime,
 	.get_session_key = NULL,
 	.repeater_check_flow_prepare_ack = NULL,
 	.verify_mprime = NULL,
-- 
2.7.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v15 10/16] misc/mei/hdcp: Prepare Session Key
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (8 preceding siblings ...)
  2019-02-21 18:12 ` [PATCH v15 09/16] misc/mei/hdcp: Verify L_prime Ramalingam C
@ 2019-02-21 18:12 ` Ramalingam C
  2019-02-21 18:12 ` [PATCH v15 11/16] misc/mei/hdcp: Repeater topology verification and ack Ramalingam C
                   ` (13 subsequent siblings)
  23 siblings, 0 replies; 34+ messages in thread
From: Ramalingam C @ 2019-02-21 18:12 UTC (permalink / raw)
  To: intel-gfx, dri-devel, daniel.vetter, tomas.winkler, uma.shankar

Request to ME to prepare the encrypted session key.

On Success, ME provides Encrypted session key. Function populates
the HDCP2.2 authentication msg SKE_Send_Eks.

v2: Rebased.
v3:
  cldev is passed as first parameter [Tomas]
  Redundant comments and cast are removed [Tomas]
v4:
  %zd for ssize_t [Alexander]
  %s/return -1/return -EIO [Alexander]
  Style fixed [Uma]
v5: Rebased.
v6:
  Collected the Rb-ed by.
  Rebasing.
v7:
  Adjust to the new mei interface.
  Fix for Kdoc.
v8:
  K-Doc addition. [Tomas]
v9:
  renamed func as mei_hdcp_* [Tomas]
  Inline function is defined for DDI index [Tomas]
v10:
  K-Doc fix. [Tomas]
v11:
  Rebased.

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
---
 drivers/misc/mei/hdcp/mei_hdcp.c | 59 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 58 insertions(+), 1 deletion(-)

diff --git a/drivers/misc/mei/hdcp/mei_hdcp.c b/drivers/misc/mei/hdcp/mei_hdcp.c
index 03f8af257ecc..9dc17654ffbc 100644
--- a/drivers/misc/mei/hdcp/mei_hdcp.c
+++ b/drivers/misc/mei/hdcp/mei_hdcp.c
@@ -409,6 +409,63 @@ mei_hdcp_verify_lprime(struct device *dev, struct hdcp_port_data *data,
 	return 0;
 }
 
+/**
+ * mei_hdcp_get_session_key() - Prepare SKE_Send_Eks.
+ * @dev: device corresponding to the mei_cl_device
+ * @data: Intel HW specific hdcp data
+ * @ske_data: SKE_Send_Eks msg output from ME FW.
+ *
+ * Return: 0 on Success, <0 on Failure
+ */
+static int mei_hdcp_get_session_key(struct device *dev,
+				    struct hdcp_port_data *data,
+				    struct hdcp2_ske_send_eks *ske_data)
+{
+	struct wired_cmd_get_session_key_in get_skey_in = { { 0 } };
+	struct wired_cmd_get_session_key_out get_skey_out = { { 0 } };
+	struct mei_cl_device *cldev;
+	ssize_t byte;
+
+	if (!dev || !data || !ske_data)
+		return -EINVAL;
+
+	cldev = to_mei_cl_device(dev);
+
+	get_skey_in.header.api_version = HDCP_API_VERSION;
+	get_skey_in.header.command_id = WIRED_GET_SESSION_KEY;
+	get_skey_in.header.status = ME_HDCP_STATUS_SUCCESS;
+	get_skey_in.header.buffer_len = WIRED_CMD_BUF_LEN_GET_SESSION_KEY_IN;
+
+	get_skey_in.port.integrated_port_type = data->port_type;
+	get_skey_in.port.physical_port = mei_get_ddi_index(data->port);
+
+	byte = mei_cldev_send(cldev, (u8 *)&get_skey_in, sizeof(get_skey_in));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_send failed. %zd\n", byte);
+		return byte;
+	}
+
+	byte = mei_cldev_recv(cldev, (u8 *)&get_skey_out, sizeof(get_skey_out));
+
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_recv failed. %zd\n", byte);
+		return byte;
+	}
+
+	if (get_skey_out.header.status != ME_HDCP_STATUS_SUCCESS) {
+		dev_dbg(dev, "ME cmd 0x%08X failed. status: 0x%X\n",
+			WIRED_GET_SESSION_KEY, get_skey_out.header.status);
+		return -EIO;
+	}
+
+	ske_data->msg_id = HDCP_2_2_SKE_SEND_EKS;
+	memcpy(ske_data->e_dkey_ks, get_skey_out.e_dkey_ks,
+	       HDCP_2_2_E_DKEY_KS_LEN);
+	memcpy(ske_data->riv, get_skey_out.r_iv, HDCP_2_2_RIV_LEN);
+
+	return 0;
+}
+
 static const __attribute__((unused))
 struct i915_hdcp_component_ops mei_hdcp_ops = {
 	.owner = THIS_MODULE,
@@ -419,7 +476,7 @@ struct i915_hdcp_component_ops mei_hdcp_ops = {
 	.store_pairing_info = mei_hdcp_store_pairing_info,
 	.initiate_locality_check = mei_hdcp_initiate_locality_check,
 	.verify_lprime = mei_hdcp_verify_lprime,
-	.get_session_key = NULL,
+	.get_session_key = mei_hdcp_get_session_key,
 	.repeater_check_flow_prepare_ack = NULL,
 	.verify_mprime = NULL,
 	.enable_hdcp_authentication = NULL,
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v15 11/16] misc/mei/hdcp: Repeater topology verification and ack
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (9 preceding siblings ...)
  2019-02-21 18:12 ` [PATCH v15 10/16] misc/mei/hdcp: Prepare Session Key Ramalingam C
@ 2019-02-21 18:12 ` Ramalingam C
  2019-02-21 18:12 ` [PATCH v15 12/16] misc/mei/hdcp: Verify M_prime Ramalingam C
                   ` (12 subsequent siblings)
  23 siblings, 0 replies; 34+ messages in thread
From: Ramalingam C @ 2019-02-21 18:12 UTC (permalink / raw)
  To: intel-gfx, dri-devel, daniel.vetter, tomas.winkler, uma.shankar

Request ME to verify the downstream topology information received.

ME FW will validate the Repeaters receiver id list and
downstream topology.

On Success ME FW will provide the Least Significant
128bits of VPrime, which forms the repeater ack.

v2: Rebased.
v3:
  cldev is passed as first parameter [Tomas]
  Redundant comments and cast are removed [Tomas]
v4:
  %zd for ssize_t [Alexander]
  %s/return -1/return -EIO [Alexander]
  Style and typos fixed [Uma]
v5: Rebased.
v6: Rebasing.
v7:
  Adjust to the new mei interface.
  Fix for Kdoc.
v8:
  K-Doc addition. [Tomas]
v9:
  renamed func as mei_hdcp_* [Tomas]
  Inline function is defined for DDI index [Tomas]
v10:
  K-Doc fix. [Tomas]
v11:
  Rebased.

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
---
 drivers/misc/mei/hdcp/mei_hdcp.c | 77 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 76 insertions(+), 1 deletion(-)

diff --git a/drivers/misc/mei/hdcp/mei_hdcp.c b/drivers/misc/mei/hdcp/mei_hdcp.c
index 9dc17654ffbc..e541d0d290e3 100644
--- a/drivers/misc/mei/hdcp/mei_hdcp.c
+++ b/drivers/misc/mei/hdcp/mei_hdcp.c
@@ -466,6 +466,80 @@ static int mei_hdcp_get_session_key(struct device *dev,
 	return 0;
 }
 
+/**
+ * mei_hdcp_repeater_check_flow_prepare_ack() - Validate the Downstream topology
+ * and prepare rep_ack.
+ * @dev: device corresponding to the mei_cl_device
+ * @data: Intel HW specific hdcp data
+ * @rep_topology: Receiver ID List to be validated
+ * @rep_send_ack : repeater ack from ME FW.
+ *
+ * Return: 0 on Success, <0 on Failure
+ */
+static int
+mei_hdcp_repeater_check_flow_prepare_ack(struct device *dev,
+					 struct hdcp_port_data *data,
+					 struct hdcp2_rep_send_receiverid_list
+							*rep_topology,
+					 struct hdcp2_rep_send_ack
+							*rep_send_ack)
+{
+	struct wired_cmd_verify_repeater_in verify_repeater_in = { { 0 } };
+	struct wired_cmd_verify_repeater_out verify_repeater_out = { { 0 } };
+	struct mei_cl_device *cldev;
+	ssize_t byte;
+
+	if (!dev || !rep_topology || !rep_send_ack || !data)
+		return -EINVAL;
+
+	cldev = to_mei_cl_device(dev);
+
+	verify_repeater_in.header.api_version = HDCP_API_VERSION;
+	verify_repeater_in.header.command_id = WIRED_VERIFY_REPEATER;
+	verify_repeater_in.header.status = ME_HDCP_STATUS_SUCCESS;
+	verify_repeater_in.header.buffer_len =
+					WIRED_CMD_BUF_LEN_VERIFY_REPEATER_IN;
+
+	verify_repeater_in.port.integrated_port_type = data->port_type;
+	verify_repeater_in.port.physical_port = mei_get_ddi_index(data->port);
+
+	memcpy(verify_repeater_in.rx_info, rep_topology->rx_info,
+	       HDCP_2_2_RXINFO_LEN);
+	memcpy(verify_repeater_in.seq_num_v, rep_topology->seq_num_v,
+	       HDCP_2_2_SEQ_NUM_LEN);
+	memcpy(verify_repeater_in.v_prime, rep_topology->v_prime,
+	       HDCP_2_2_V_PRIME_HALF_LEN);
+	memcpy(verify_repeater_in.receiver_ids, rep_topology->receiver_ids,
+	       HDCP_2_2_RECEIVER_IDS_MAX_LEN);
+
+	byte = mei_cldev_send(cldev, (u8 *)&verify_repeater_in,
+			      sizeof(verify_repeater_in));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_send failed. %zd\n", byte);
+		return byte;
+	}
+
+	byte = mei_cldev_recv(cldev, (u8 *)&verify_repeater_out,
+			      sizeof(verify_repeater_out));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_recv failed. %zd\n", byte);
+		return byte;
+	}
+
+	if (verify_repeater_out.header.status != ME_HDCP_STATUS_SUCCESS) {
+		dev_dbg(dev, "ME cmd 0x%08X failed. status: 0x%X\n",
+			WIRED_VERIFY_REPEATER,
+			verify_repeater_out.header.status);
+		return -EIO;
+	}
+
+	memcpy(rep_send_ack->v, verify_repeater_out.v,
+	       HDCP_2_2_V_PRIME_HALF_LEN);
+	rep_send_ack->msg_id = HDCP_2_2_REP_SEND_ACK;
+
+	return 0;
+}
+
 static const __attribute__((unused))
 struct i915_hdcp_component_ops mei_hdcp_ops = {
 	.owner = THIS_MODULE,
@@ -477,7 +551,8 @@ struct i915_hdcp_component_ops mei_hdcp_ops = {
 	.initiate_locality_check = mei_hdcp_initiate_locality_check,
 	.verify_lprime = mei_hdcp_verify_lprime,
 	.get_session_key = mei_hdcp_get_session_key,
-	.repeater_check_flow_prepare_ack = NULL,
+	.repeater_check_flow_prepare_ack =
+				mei_hdcp_repeater_check_flow_prepare_ack,
 	.verify_mprime = NULL,
 	.enable_hdcp_authentication = NULL,
 	.close_hdcp_session = NULL,
-- 
2.7.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v15 12/16] misc/mei/hdcp: Verify M_prime
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (10 preceding siblings ...)
  2019-02-21 18:12 ` [PATCH v15 11/16] misc/mei/hdcp: Repeater topology verification and ack Ramalingam C
@ 2019-02-21 18:12 ` Ramalingam C
  2019-02-21 18:12 ` [PATCH v15 13/16] misc/mei/hdcp: Enabling the HDCP authentication Ramalingam C
                   ` (11 subsequent siblings)
  23 siblings, 0 replies; 34+ messages in thread
From: Ramalingam C @ 2019-02-21 18:12 UTC (permalink / raw)
  To: intel-gfx, dri-devel, daniel.vetter, tomas.winkler, uma.shankar

Request to ME to verify the M_Prime received from the HDCP sink.

ME FW will calculate the M and compare with M_prime received
as part of RepeaterAuth_Stream_Ready, which is HDCP2.2 protocol msg.

On successful completion of this stage, downstream propagation of
the stream management info is completed.

v2: Rebased.
v3:
  cldev is passed as first parameter [Tomas]
  Redundant comments and cast are removed [Tomas]
v4:
  %zd for ssize_t [Alexander]
  %s/return -1/return -EIO [Alexander]
  endianness conversion func is moved to drm_hdcp.h [Uma]
v5: Rebased.
v6:
  Collected the Rb-ed by.
  Rebasing.
v7:
  Adjust to the new mei interface.
  Fix for Kdoc.
v8:
  K-Doc addition. [Tomas]
  drm_hdcp2_u32_to_seq_num() is used for u32 to seq_num.
v9:
  renamed func as mei_hdcp_* [Tomas]
  Inline function is defined for DDI index [Tomas]
v10:
  K-Doc fix. [Tomas]
v11:
  %s/__swab16/cpu_to_be16 [Tomas]

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
---
 drivers/misc/mei/hdcp/mei_hdcp.c | 67 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 66 insertions(+), 1 deletion(-)

diff --git a/drivers/misc/mei/hdcp/mei_hdcp.c b/drivers/misc/mei/hdcp/mei_hdcp.c
index e541d0d290e3..4bcb1ddeac1c 100644
--- a/drivers/misc/mei/hdcp/mei_hdcp.c
+++ b/drivers/misc/mei/hdcp/mei_hdcp.c
@@ -540,6 +540,71 @@ mei_hdcp_repeater_check_flow_prepare_ack(struct device *dev,
 	return 0;
 }
 
+/**
+ * mei_hdcp_verify_mprime() - Verify mprime.
+ * @dev: device corresponding to the mei_cl_device
+ * @data: Intel HW specific hdcp data
+ * @stream_ready: RepeaterAuth_Stream_Ready msg for ME FW verification.
+ *
+ * Return: 0 on Success, <0 on Failure
+ */
+static int mei_hdcp_verify_mprime(struct device *dev,
+				  struct hdcp_port_data *data,
+				  struct hdcp2_rep_stream_ready *stream_ready)
+{
+	struct wired_cmd_repeater_auth_stream_req_in
+					verify_mprime_in = { { 0 } };
+	struct wired_cmd_repeater_auth_stream_req_out
+					verify_mprime_out = { { 0 } };
+	struct mei_cl_device *cldev;
+	ssize_t byte;
+
+	if (!dev || !stream_ready || !data)
+		return -EINVAL;
+
+	cldev = to_mei_cl_device(dev);
+
+	verify_mprime_in.header.api_version = HDCP_API_VERSION;
+	verify_mprime_in.header.command_id = WIRED_REPEATER_AUTH_STREAM_REQ;
+	verify_mprime_in.header.status = ME_HDCP_STATUS_SUCCESS;
+	verify_mprime_in.header.buffer_len =
+			WIRED_CMD_BUF_LEN_REPEATER_AUTH_STREAM_REQ_MIN_IN;
+
+	verify_mprime_in.port.integrated_port_type = data->port_type;
+	verify_mprime_in.port.physical_port = mei_get_ddi_index(data->port);
+
+	memcpy(verify_mprime_in.m_prime, stream_ready->m_prime,
+	       HDCP_2_2_MPRIME_LEN);
+	drm_hdcp2_u32_to_seq_num(verify_mprime_in.seq_num_m, data->seq_num_m);
+	memcpy(verify_mprime_in.streams, data->streams,
+	       (data->k * sizeof(struct hdcp2_streamid_type)));
+
+	verify_mprime_in.k = cpu_to_be16(data->k);
+
+	byte = mei_cldev_send(cldev, (u8 *)&verify_mprime_in,
+			      sizeof(verify_mprime_in));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_send failed. %zd\n", byte);
+		return byte;
+	}
+
+	byte = mei_cldev_recv(cldev, (u8 *)&verify_mprime_out,
+			      sizeof(verify_mprime_out));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_recv failed. %zd\n", byte);
+		return byte;
+	}
+
+	if (verify_mprime_out.header.status != ME_HDCP_STATUS_SUCCESS) {
+		dev_dbg(dev, "ME cmd 0x%08X failed. status: 0x%X\n",
+			WIRED_REPEATER_AUTH_STREAM_REQ,
+			verify_mprime_out.header.status);
+		return -EIO;
+	}
+
+	return 0;
+}
+
 static const __attribute__((unused))
 struct i915_hdcp_component_ops mei_hdcp_ops = {
 	.owner = THIS_MODULE,
@@ -553,7 +618,7 @@ struct i915_hdcp_component_ops mei_hdcp_ops = {
 	.get_session_key = mei_hdcp_get_session_key,
 	.repeater_check_flow_prepare_ack =
 				mei_hdcp_repeater_check_flow_prepare_ack,
-	.verify_mprime = NULL,
+	.verify_mprime = mei_hdcp_verify_mprime,
 	.enable_hdcp_authentication = NULL,
 	.close_hdcp_session = NULL,
 };
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v15 13/16] misc/mei/hdcp: Enabling the HDCP authentication
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (11 preceding siblings ...)
  2019-02-21 18:12 ` [PATCH v15 12/16] misc/mei/hdcp: Verify M_prime Ramalingam C
@ 2019-02-21 18:12 ` Ramalingam C
  2019-02-21 18:12 ` [PATCH v15 14/16] misc/mei/hdcp: Closing wired HDCP2.2 Tx Session Ramalingam C
                   ` (10 subsequent siblings)
  23 siblings, 0 replies; 34+ messages in thread
From: Ramalingam C @ 2019-02-21 18:12 UTC (permalink / raw)
  To: intel-gfx, dri-devel, daniel.vetter, tomas.winkler, uma.shankar

Request to ME to configure a port as authenticated.

On Success, ME FW will mark the port as authenticated and provides
HDCP cipher with the encryption keys.

Enabling the Authentication can be requested once all stages of
HDCP2.2 authentication is completed by interacting with ME FW.

Only after this stage, driver can enable the HDCP encryption for
the port, through HW registers.

v2: Rebased.
v3:
  cldev is passed as first parameter [Tomas]
  Redundant comments and cast are removed [Tomas]
v4:
  %zd for ssize_t [Alexander]
  %s/return -1/return -EIO [Alexander]
  Style and typos fixed [Uma]
v5: Rebased.
v6:
  Collected the Rb-ed by.
  Rebased.
v7:
  Adjust to the new mei interface.
  Fix for Kdoc.
v8:
  K-Doc addition. [Tomas]
v9:
  renamed func as mei_hdcp_* [Tomas]
  Inline function is defined for DDI index [Tomas]
v10:
  K-Doc fix. [Tomas]
v11:
  Rebased.

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
---
 drivers/misc/mei/hdcp/mei_hdcp.c | 55 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 54 insertions(+), 1 deletion(-)

diff --git a/drivers/misc/mei/hdcp/mei_hdcp.c b/drivers/misc/mei/hdcp/mei_hdcp.c
index 4bcb1ddeac1c..1e8c6f1ee4a5 100644
--- a/drivers/misc/mei/hdcp/mei_hdcp.c
+++ b/drivers/misc/mei/hdcp/mei_hdcp.c
@@ -605,6 +605,59 @@ static int mei_hdcp_verify_mprime(struct device *dev,
 	return 0;
 }
 
+/**
+ * mei_hdcp_enable_authentication() - Mark a port as authenticated
+ * through ME FW
+ * @dev: device corresponding to the mei_cl_device
+ * @data: Intel HW specific hdcp data
+ *
+ * Return: 0 on Success, <0 on Failure
+ */
+static int mei_hdcp_enable_authentication(struct device *dev,
+					  struct hdcp_port_data *data)
+{
+	struct wired_cmd_enable_auth_in enable_auth_in = { { 0 } };
+	struct wired_cmd_enable_auth_out enable_auth_out = { { 0 } };
+	struct mei_cl_device *cldev;
+	ssize_t byte;
+
+	if (!dev || !data)
+		return -EINVAL;
+
+	cldev = to_mei_cl_device(dev);
+
+	enable_auth_in.header.api_version = HDCP_API_VERSION;
+	enable_auth_in.header.command_id = WIRED_ENABLE_AUTH;
+	enable_auth_in.header.status = ME_HDCP_STATUS_SUCCESS;
+	enable_auth_in.header.buffer_len = WIRED_CMD_BUF_LEN_ENABLE_AUTH_IN;
+
+	enable_auth_in.port.integrated_port_type = data->port_type;
+	enable_auth_in.port.physical_port = mei_get_ddi_index(data->port);
+	enable_auth_in.stream_type = data->streams[0].stream_type;
+
+	byte = mei_cldev_send(cldev, (u8 *)&enable_auth_in,
+			      sizeof(enable_auth_in));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_send failed. %zd\n", byte);
+		return byte;
+	}
+
+	byte = mei_cldev_recv(cldev, (u8 *)&enable_auth_out,
+			      sizeof(enable_auth_out));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_recv failed. %zd\n", byte);
+		return byte;
+	}
+
+	if (enable_auth_out.header.status != ME_HDCP_STATUS_SUCCESS) {
+		dev_dbg(dev, "ME cmd 0x%08X failed. status: 0x%X\n",
+			WIRED_ENABLE_AUTH, enable_auth_out.header.status);
+		return -EIO;
+	}
+
+	return 0;
+}
+
 static const __attribute__((unused))
 struct i915_hdcp_component_ops mei_hdcp_ops = {
 	.owner = THIS_MODULE,
@@ -619,7 +672,7 @@ struct i915_hdcp_component_ops mei_hdcp_ops = {
 	.repeater_check_flow_prepare_ack =
 				mei_hdcp_repeater_check_flow_prepare_ack,
 	.verify_mprime = mei_hdcp_verify_mprime,
-	.enable_hdcp_authentication = NULL,
+	.enable_hdcp_authentication = mei_hdcp_enable_authentication,
 	.close_hdcp_session = NULL,
 };
 
-- 
2.7.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v15 14/16] misc/mei/hdcp: Closing wired HDCP2.2 Tx Session
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (12 preceding siblings ...)
  2019-02-21 18:12 ` [PATCH v15 13/16] misc/mei/hdcp: Enabling the HDCP authentication Ramalingam C
@ 2019-02-21 18:12 ` Ramalingam C
  2019-02-21 18:12 ` [PATCH v15 15/16] misc/mei/hdcp: Component framework for I915 Interface Ramalingam C
                   ` (9 subsequent siblings)
  23 siblings, 0 replies; 34+ messages in thread
From: Ramalingam C @ 2019-02-21 18:12 UTC (permalink / raw)
  To: intel-gfx, dri-devel, daniel.vetter, tomas.winkler, uma.shankar

Request the ME to terminate the HDCP2.2 session for a port.

On Success, ME FW will mark the intel port as Deauthenticated and
terminate the wired HDCP2.2 Tx session started due to the cmd
WIRED_INITIATE_HDCP2_SESSION.

v2: Rebased.
v3:
  cldev is passed as first parameter [Tomas]
  Redundant comments and cast are removed [Tomas]
v4:
  %zd for ssize_t [Alexander]
  %s/return -1/return -EIO [Alexander]
  Style and typos fixed [Uma]
v5:
  Extra line is removed.
v6:
  Collected the Rb-ed by.
  Rebased.
v7:
  Adjust to the new mei interface.
  Fix for Kdoc.
v8:
  K-Doc addition.[Tomas]
v9:
  renamed func as mei_hdcp_* [Tomas]
  Inline function is defined for DDI index [Tomas]
v10:
  K-Doc fix. [Tomas]
v11:
  Rebased.

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
---
 drivers/misc/mei/hdcp/mei_hdcp.c | 55 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 54 insertions(+), 1 deletion(-)

diff --git a/drivers/misc/mei/hdcp/mei_hdcp.c b/drivers/misc/mei/hdcp/mei_hdcp.c
index 1e8c6f1ee4a5..deb579ad15e8 100644
--- a/drivers/misc/mei/hdcp/mei_hdcp.c
+++ b/drivers/misc/mei/hdcp/mei_hdcp.c
@@ -658,6 +658,59 @@ static int mei_hdcp_enable_authentication(struct device *dev,
 	return 0;
 }
 
+/**
+ * mei_hdcp_close_session() - Close the Wired HDCP Tx session of ME FW per port.
+ * This also disables the authenticated state of the port.
+ * @dev: device corresponding to the mei_cl_device
+ * @data: Intel HW specific hdcp data
+ *
+ * Return: 0 on Success, <0 on Failure
+ */
+static int
+mei_hdcp_close_session(struct device *dev, struct hdcp_port_data *data)
+{
+	struct wired_cmd_close_session_in session_close_in = { { 0 } };
+	struct wired_cmd_close_session_out session_close_out = { { 0 } };
+	struct mei_cl_device *cldev;
+	ssize_t byte;
+
+	if (!dev || !data)
+		return -EINVAL;
+
+	cldev = to_mei_cl_device(dev);
+
+	session_close_in.header.api_version = HDCP_API_VERSION;
+	session_close_in.header.command_id = WIRED_CLOSE_SESSION;
+	session_close_in.header.status = ME_HDCP_STATUS_SUCCESS;
+	session_close_in.header.buffer_len =
+				WIRED_CMD_BUF_LEN_CLOSE_SESSION_IN;
+
+	session_close_in.port.integrated_port_type = data->port_type;
+	session_close_in.port.physical_port = mei_get_ddi_index(data->port);
+
+	byte = mei_cldev_send(cldev, (u8 *)&session_close_in,
+			      sizeof(session_close_in));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_send failed. %zd\n", byte);
+		return byte;
+	}
+
+	byte = mei_cldev_recv(cldev, (u8 *)&session_close_out,
+			      sizeof(session_close_out));
+	if (byte < 0) {
+		dev_dbg(dev, "mei_cldev_recv failed. %zd\n", byte);
+		return byte;
+	}
+
+	if (session_close_out.header.status != ME_HDCP_STATUS_SUCCESS) {
+		dev_dbg(dev, "Session Close Failed. status: 0x%X\n",
+			session_close_out.header.status);
+		return -EIO;
+	}
+
+	return 0;
+}
+
 static const __attribute__((unused))
 struct i915_hdcp_component_ops mei_hdcp_ops = {
 	.owner = THIS_MODULE,
@@ -673,7 +726,7 @@ struct i915_hdcp_component_ops mei_hdcp_ops = {
 				mei_hdcp_repeater_check_flow_prepare_ack,
 	.verify_mprime = mei_hdcp_verify_mprime,
 	.enable_hdcp_authentication = mei_hdcp_enable_authentication,
-	.close_hdcp_session = NULL,
+	.close_hdcp_session = mei_hdcp_close_session,
 };
 
 static int mei_hdcp_probe(struct mei_cl_device *cldev,
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v15 15/16] misc/mei/hdcp: Component framework for I915 Interface
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (13 preceding siblings ...)
  2019-02-21 18:12 ` [PATCH v15 14/16] misc/mei/hdcp: Closing wired HDCP2.2 Tx Session Ramalingam C
@ 2019-02-21 18:12 ` Ramalingam C
  2019-02-21 18:12 ` [PATCH v15 16/16] FOR_TEST_ONLY: i915/Kconfig: Select mei_hdcp by I915 Ramalingam C
                   ` (8 subsequent siblings)
  23 siblings, 0 replies; 34+ messages in thread
From: Ramalingam C @ 2019-02-21 18:12 UTC (permalink / raw)
  To: intel-gfx, dri-devel, daniel.vetter, tomas.winkler, uma.shankar

Mei hdcp driver is designed as component slave for the I915 component
master.

v2: Rebased.
v3:
  Notifier chain is adopted for cldev state update [Tomas]
v4:
  Made static dummy functions as inline in mei_hdcp.h
  API for polling client device status
  IS_ENABLED used in header, for config status for mei_hdcp.
v5:
  Replacing the notifier with component framework. [Daniel]
v6:
  Rebased on the I915 comp master redesign.
v7:
  mei_hdcp_component_registered is made static [Uma]
  Need for global static variable mei_cldev is removed.
v8:
  master comp is added to be matched with i915 subcomponent [daniel]
v9:
  only comp_master is set and retrieved as driver_data [Daniel]
  Reviewed-by Daniel.
v10:
  small corrections at probe [Tomas]
v11:
  bind and unbind logs are made as debug logs [Tomas]
  cldev_enable failure is handled [Tomas]

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/misc/mei/hdcp/mei_hdcp.c | 86 ++++++++++++++++++++++++++++++++++++++--
 1 file changed, 83 insertions(+), 3 deletions(-)

diff --git a/drivers/misc/mei/hdcp/mei_hdcp.c b/drivers/misc/mei/hdcp/mei_hdcp.c
index deb579ad15e8..90b6ae8e9dae 100644
--- a/drivers/misc/mei/hdcp/mei_hdcp.c
+++ b/drivers/misc/mei/hdcp/mei_hdcp.c
@@ -23,6 +23,7 @@
 #include <linux/slab.h>
 #include <linux/uuid.h>
 #include <linux/mei_cl_bus.h>
+#include <linux/component.h>
 #include <drm/drm_connector.h>
 #include <drm/i915_component.h>
 #include <drm/i915_mei_hdcp_interface.h>
@@ -711,8 +712,7 @@ mei_hdcp_close_session(struct device *dev, struct hdcp_port_data *data)
 	return 0;
 }
 
-static const __attribute__((unused))
-struct i915_hdcp_component_ops mei_hdcp_ops = {
+static const struct i915_hdcp_component_ops mei_hdcp_ops = {
 	.owner = THIS_MODULE,
 	.initiate_hdcp2_session = mei_hdcp_initiate_session,
 	.verify_receiver_cert_prepare_km =
@@ -729,20 +729,100 @@ struct i915_hdcp_component_ops mei_hdcp_ops = {
 	.close_hdcp_session = mei_hdcp_close_session,
 };
 
+static int mei_component_master_bind(struct device *dev)
+{
+	struct mei_cl_device *cldev = to_mei_cl_device(dev);
+	struct i915_hdcp_comp_master *comp_master =
+						mei_cldev_get_drvdata(cldev);
+	int ret;
+
+	dev_dbg(dev, "%s\n", __func__);
+	comp_master->ops = &mei_hdcp_ops;
+	comp_master->mei_dev = dev;
+	ret = component_bind_all(dev, comp_master);
+	if (ret < 0)
+		return ret;
+
+	return 0;
+}
+
+static void mei_component_master_unbind(struct device *dev)
+{
+	struct mei_cl_device *cldev = to_mei_cl_device(dev);
+	struct i915_hdcp_comp_master *comp_master =
+						mei_cldev_get_drvdata(cldev);
+
+	dev_dbg(dev, "%s\n", __func__);
+	component_unbind_all(dev, comp_master);
+}
+
+static const struct component_master_ops mei_component_master_ops = {
+	.bind = mei_component_master_bind,
+	.unbind = mei_component_master_unbind,
+};
+
+static int mei_hdcp_component_match(struct device *dev, int subcomponent,
+				    void *data)
+{
+	return !strcmp(dev->driver->name, "i915") &&
+	       subcomponent == I915_COMPONENT_HDCP;
+}
+
 static int mei_hdcp_probe(struct mei_cl_device *cldev,
 			  const struct mei_cl_device_id *id)
 {
+	struct i915_hdcp_comp_master *comp_master;
+	struct component_match *master_match;
 	int ret;
 
 	ret = mei_cldev_enable(cldev);
-	if (ret < 0)
+	if (ret < 0) {
 		dev_err(&cldev->dev, "mei_cldev_enable Failed. %d\n", ret);
+		goto enable_err_exit;
+	}
+
+	comp_master = kzalloc(sizeof(*comp_master), GFP_KERNEL);
+	if (!comp_master) {
+		ret = -ENOMEM;
+		goto err_exit;
+	}
+
+	master_match = NULL;
+	component_match_add_typed(&cldev->dev, &master_match,
+				  mei_hdcp_component_match, comp_master);
+	if (IS_ERR_OR_NULL(master_match)) {
+		ret = -ENOMEM;
+		goto err_exit;
+	}
+
+	mei_cldev_set_drvdata(cldev, comp_master);
+	ret = component_master_add_with_match(&cldev->dev,
+					      &mei_component_master_ops,
+					      master_match);
+	if (ret < 0) {
+		dev_err(&cldev->dev, "Master comp add failed %d\n", ret);
+		goto err_exit;
+	}
 
+	return 0;
+
+err_exit:
+	mei_cldev_set_drvdata(cldev, NULL);
+	kfree(comp_master);
+	mei_cldev_disable(cldev);
+enable_err_exit:
 	return ret;
 }
 
 static int mei_hdcp_remove(struct mei_cl_device *cldev)
 {
+	struct i915_hdcp_comp_master *comp_master =
+						mei_cldev_get_drvdata(cldev);
+
+	component_master_del(&cldev->dev, &mei_component_master_ops);
+	kfree(comp_master);
+	mei_cldev_set_drvdata(cldev, NULL);
+
 	return mei_cldev_disable(cldev);
 }
 
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v15 16/16] FOR_TEST_ONLY: i915/Kconfig: Select mei_hdcp by I915
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (14 preceding siblings ...)
  2019-02-21 18:12 ` [PATCH v15 15/16] misc/mei/hdcp: Component framework for I915 Interface Ramalingam C
@ 2019-02-21 18:12 ` Ramalingam C
  2019-02-21 18:26 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Implement HDCP2.2 Patchwork
                   ` (7 subsequent siblings)
  23 siblings, 0 replies; 34+ messages in thread
From: Ramalingam C @ 2019-02-21 18:12 UTC (permalink / raw)
  To: intel-gfx, dri-devel, daniel.vetter, tomas.winkler, uma.shankar

FOR TESTING PURPOSE ONLY.

By default INTEL_MEI_HDCP is set to y. This patch is created to
test the interface between I915 and MEI_HDCP.

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
---
 drivers/misc/mei/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/misc/mei/Kconfig b/drivers/misc/mei/Kconfig
index 74e2c667dce0..b87a8d74df12 100644
--- a/drivers/misc/mei/Kconfig
+++ b/drivers/misc/mei/Kconfig
@@ -48,6 +48,7 @@ config INTEL_MEI_HDCP
 	tristate "Intel HDCP2.2 services of ME Interface"
 	select INTEL_MEI_ME
 	depends on DRM_I915
+	default y
 	help
 	  MEI Support for HDCP2.2 Services on Intel platforms.
 
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Implement HDCP2.2
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (15 preceding siblings ...)
  2019-02-21 18:12 ` [PATCH v15 16/16] FOR_TEST_ONLY: i915/Kconfig: Select mei_hdcp by I915 Ramalingam C
@ 2019-02-21 18:26 ` Patchwork
  2019-02-21 18:29 ` ✗ Fi.CI.SPARSE: " Patchwork
                   ` (6 subsequent siblings)
  23 siblings, 0 replies; 34+ messages in thread
From: Patchwork @ 2019-02-21 18:26 UTC (permalink / raw)
  To: intel-gfx

== Series Details ==

Series: drm/i915: Implement HDCP2.2
URL   : https://patchwork.freedesktop.org/series/57037/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
37c5e6646c75 mei: bus: whitelist hdcp client
f34e15960964 misc/mei/hdcp: Client driver for HDCP application
-:82: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#82: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 89 lines checked
8273d681e1f3 misc/mei/hdcp: Define ME FW interface for HDCP2.2
-:32: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#32: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 366 lines checked
af983c28bf34 misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session
ff2553c3a6f5 misc/mei/hdcp: Verify Receiver Cert and prepare km
9b84979b1d91 misc/mei/hdcp: Verify H_prime
b5baa6c83cb8 misc/mei/hdcp: Store the HDCP Pairing info
a7863139ce44 misc/mei/hdcp: Initiate Locality check
a634f8765faf misc/mei/hdcp: Verify L_prime
529557441fa3 misc/mei/hdcp: Prepare Session Key
83d08f79c09a misc/mei/hdcp: Repeater topology verification and ack
f5b5097eb8c9 misc/mei/hdcp: Verify M_prime
feb33c82eea3 misc/mei/hdcp: Enabling the HDCP authentication
825905dcdbc0 misc/mei/hdcp: Closing wired HDCP2.2 Tx Session
9b65b900cd0d misc/mei/hdcp: Component framework for I915 Interface
a0223ee5fab5 FOR_TEST_ONLY: i915/Kconfig: Select mei_hdcp by I915

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 34+ messages in thread

* ✗ Fi.CI.SPARSE: warning for drm/i915: Implement HDCP2.2
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (16 preceding siblings ...)
  2019-02-21 18:26 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Implement HDCP2.2 Patchwork
@ 2019-02-21 18:29 ` Patchwork
  2019-02-21 19:05 ` ✗ Fi.CI.BAT: failure " Patchwork
                   ` (5 subsequent siblings)
  23 siblings, 0 replies; 34+ messages in thread
From: Patchwork @ 2019-02-21 18:29 UTC (permalink / raw)
  To: intel-gfx

== Series Details ==

Series: drm/i915: Implement HDCP2.2
URL   : https://patchwork.freedesktop.org/series/57037/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: mei: bus: whitelist hdcp client
Okay!

Commit: misc/mei/hdcp: Client driver for HDCP application
+Error in reading or end of file.

Commit: misc/mei/hdcp: Define ME FW interface for HDCP2.2
Okay!

Commit: misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session
Okay!

Commit: misc/mei/hdcp: Verify Receiver Cert and prepare km
Okay!

Commit: misc/mei/hdcp: Verify H_prime
Okay!

Commit: misc/mei/hdcp: Store the HDCP Pairing info
Okay!

Commit: misc/mei/hdcp: Initiate Locality check
Okay!

Commit: misc/mei/hdcp: Verify L_prime
Okay!

Commit: misc/mei/hdcp: Prepare Session Key
Okay!

Commit: misc/mei/hdcp: Repeater topology verification and ack
Okay!

Commit: misc/mei/hdcp: Verify M_prime
Okay!

Commit: misc/mei/hdcp: Enabling the HDCP authentication
Okay!

Commit: misc/mei/hdcp: Closing wired HDCP2.2 Tx Session
Okay!

Commit: misc/mei/hdcp: Component framework for I915 Interface
Okay!

Commit: FOR_TEST_ONLY: i915/Kconfig: Select mei_hdcp by I915
Okay!

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 34+ messages in thread

* ✗ Fi.CI.BAT: failure for drm/i915: Implement HDCP2.2
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (17 preceding siblings ...)
  2019-02-21 18:29 ` ✗ Fi.CI.SPARSE: " Patchwork
@ 2019-02-21 19:05 ` Patchwork
  2019-02-24 16:33 ` [PATCH v15 00/16] " C, Ramalingam
                   ` (4 subsequent siblings)
  23 siblings, 0 replies; 34+ messages in thread
From: Patchwork @ 2019-02-21 19:05 UTC (permalink / raw)
  To: intel-gfx

== Series Details ==

Series: drm/i915: Implement HDCP2.2
URL   : https://patchwork.freedesktop.org/series/57037/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_5650 -> Patchwork_12276
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_12276 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_12276, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/57037/revisions/1/mbox/

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_12276:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_module_load@reload-with-fault-injection:
    - fi-skl-6770hq:      PASS -> DMESG-WARN +1

  * igt@pm_rpm@module-reload:
    - fi-skl-6770hq:      NOTRUN -> DMESG-WARN

  
Known issues
------------

  Here are the changes found in Patchwork_12276 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_suspend@basic-s4-devices:
    - fi-kbl-7560u:       PASS -> INCOMPLETE [fdo#107139]

  * igt@kms_busy@basic-flip-b:
    - fi-gdg-551:         PASS -> FAIL [fdo#103182]

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       PASS -> FAIL [fdo#109485]

  * igt@kms_content_protection@atomic:
    - fi-skl-gvtdvm:      NOTRUN -> FAIL [fdo#108597] / [fdo#108739] +1
    - fi-ivb-3520m:       NOTRUN -> SKIP [fdo#109271] +4
    - fi-whl-u:           NOTRUN -> SKIP [fdo#109271] +1
    - fi-icl-u2:          NOTRUN -> FAIL [fdo#108597] +1
    - fi-bdw-5557u:       NOTRUN -> SKIP [fdo#109271] +1
    - fi-hsw-peppy:       NOTRUN -> SKIP [fdo#109271] +1
    - fi-hsw-4770r:       NOTRUN -> SKIP [fdo#109271] +1
    - fi-byt-n2820:       NOTRUN -> SKIP [fdo#109271] +2
    - fi-skl-6600u:       NOTRUN -> SKIP [fdo#109271] +1
    - fi-apl-guc:         NOTRUN -> FAIL [fdo#108597] / [fdo#108739] +1

  * igt@kms_content_protection@legacy:
    - fi-cfl-guc:         NOTRUN -> SKIP [fdo#109271] +2
    - fi-skl-6770hq:      NOTRUN -> FAIL [fdo#108597] / [fdo#108739]
    - fi-bsw-kefka:       NOTRUN -> SKIP [fdo#109271] +1
    - fi-bxt-j4205:       NOTRUN -> SKIP [fdo#109271] +2
    - fi-kbl-r:           NOTRUN -> SKIP [fdo#109271] +1
    - fi-cfl-8109u:       NOTRUN -> FAIL [fdo#108739] +1
    - fi-kbl-guc:         NOTRUN -> SKIP [fdo#109271] +5
    - fi-gdg-551:         NOTRUN -> SKIP [fdo#109271] +6
    - fi-hsw-4770:        NOTRUN -> SKIP [fdo#109271] +2
    - fi-bsw-n3050:       NOTRUN -> SKIP [fdo#109271] +2

  * igt@kms_flip@basic-flip-vs-dpms:
    - fi-skl-6770hq:      PASS -> SKIP [fdo#109271] +31

  * igt@kms_pipe_crc_basic@bad-source:
    - fi-skl-6770hq:      PASS -> DMESG-WARN [fdo#108833]

  * igt@pm_backlight@basic-brightness:
    - fi-bdw-5557u:       NOTRUN -> SKIP [fdo#109271] / [fdo#109527]
    - fi-kbl-7567u:       NOTRUN -> SKIP [fdo#109271]
    - fi-skl-guc:         NOTRUN -> SKIP [fdo#109271] +2
    - fi-cfl-8109u:       NOTRUN -> SKIP [fdo#109271]
    - fi-cfl-8700k:       NOTRUN -> SKIP [fdo#109271] +2
    - fi-ilk-650:         NOTRUN -> SKIP [fdo#109271] / [fdo#109527]
    - fi-elk-e7500:       NOTRUN -> SKIP [fdo#109271] / [fdo#109527]
    - fi-kbl-x1275:       NOTRUN -> SKIP [fdo#109271]
    - fi-kbl-7500u:       NOTRUN -> SKIP [fdo#109271] / [fdo#109527]
    - fi-apl-guc:         NOTRUN -> SKIP [fdo#109271]
    - fi-skl-6770hq:      NOTRUN -> SKIP [fdo#109271] / [fdo#109527]
    - fi-skl-6260u:       NOTRUN -> SKIP [fdo#109271]
    - fi-hsw-4770r:       NOTRUN -> SKIP [fdo#109271] / [fdo#109527]
    - fi-skl-6700k2:      NOTRUN -> SKIP [fdo#109271]

  * igt@pm_rpm@basic-pci-d3-state:
    - fi-pnv-d510:        NOTRUN -> SKIP [fdo#109271] +6
    - fi-skl-6770hq:      NOTRUN -> SKIP [fdo#109271] +2
    - fi-kbl-8809g:       NOTRUN -> SKIP [fdo#109271] +4

  * igt@pm_rpm@basic-rte:
    - fi-skl-gvtdvm:      NOTRUN -> SKIP [fdo#109271] +3
    - fi-elk-e7500:       NOTRUN -> SKIP [fdo#109271] +5
    - fi-ilk-650:         NOTRUN -> SKIP [fdo#109271] +5
    - fi-bdw-gvtdvm:      NOTRUN -> SKIP [fdo#109271] +5
    - fi-snb-2520m:       NOTRUN -> SKIP [fdo#109271] +4

  * igt@pm_rpm@module-reload:
    - fi-blb-e6850:       NOTRUN -> SKIP [fdo#109271] +6
    - fi-ivb-3770:        NOTRUN -> SKIP [fdo#109271] +5

  * igt@pm_rps@basic-api:
    - fi-bwr-2160:        NOTRUN -> SKIP [fdo#109271] +6

  
#### Possible fixes ####

  * igt@i915_selftest@live_execlists:
    - fi-apl-guc:         INCOMPLETE [fdo#103927] / [fdo#109720] -> PASS

  * igt@kms_busy@basic-flip-a:
    - fi-gdg-551:         FAIL [fdo#103182] -> PASS

  * igt@prime_vgem@basic-fence-flip:
    - fi-ilk-650:         FAIL [fdo#104008] -> PASS

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#103182]: https://bugs.freedesktop.org/show_bug.cgi?id=103182
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104008]: https://bugs.freedesktop.org/show_bug.cgi?id=104008
  [fdo#105998]: https://bugs.freedesktop.org/show_bug.cgi?id=105998
  [fdo#107139]: https://bugs.freedesktop.org/show_bug.cgi?id=107139
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108597]: https://bugs.freedesktop.org/show_bug.cgi?id=108597
  [fdo#108739]: https://bugs.freedesktop.org/show_bug.cgi?id=108739
  [fdo#108833]: https://bugs.freedesktop.org/show_bug.cgi?id=108833
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109294]: https://bugs.freedesktop.org/show_bug.cgi?id=109294
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485
  [fdo#109527]: https://bugs.freedesktop.org/show_bug.cgi?id=109527
  [fdo#109528]: https://bugs.freedesktop.org/show_bug.cgi?id=109528
  [fdo#109530]: https://bugs.freedesktop.org/show_bug.cgi?id=109530
  [fdo#109567]: https://bugs.freedesktop.org/show_bug.cgi?id=109567
  [fdo#109720]: https://bugs.freedesktop.org/show_bug.cgi?id=109720


Participating hosts (44 -> 39)
------------------------------

  Additional (1): fi-icl-y 
  Missing    (6): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-bdw-samus 


Build changes
-------------

    * IGT: IGT_4849 -> IGTPW_2356
    * Linux: CI_DRM_5650 -> Patchwork_12276

  CI_DRM_5650: a4c5c4791699aeebfff694c222c76abb61900fca @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2356: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2356/
  IGT_4849: e5088c8218d1c2b559a9e1645d34f929d05c3889 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12276: a0223ee5fab54c2b4555203eaddf7ea62b616c33 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

a0223ee5fab5 FOR_TEST_ONLY: i915/Kconfig: Select mei_hdcp by I915
9b65b900cd0d misc/mei/hdcp: Component framework for I915 Interface
825905dcdbc0 misc/mei/hdcp: Closing wired HDCP2.2 Tx Session
feb33c82eea3 misc/mei/hdcp: Enabling the HDCP authentication
f5b5097eb8c9 misc/mei/hdcp: Verify M_prime
83d08f79c09a misc/mei/hdcp: Repeater topology verification and ack
529557441fa3 misc/mei/hdcp: Prepare Session Key
a634f8765faf misc/mei/hdcp: Verify L_prime
a7863139ce44 misc/mei/hdcp: Initiate Locality check
b5baa6c83cb8 misc/mei/hdcp: Store the HDCP Pairing info
9b84979b1d91 misc/mei/hdcp: Verify H_prime
ff2553c3a6f5 misc/mei/hdcp: Verify Receiver Cert and prepare km
af983c28bf34 misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session
8273d681e1f3 misc/mei/hdcp: Define ME FW interface for HDCP2.2
f34e15960964 misc/mei/hdcp: Client driver for HDCP application
37c5e6646c75 mei: bus: whitelist hdcp client

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12276/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH v15 04/16] misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session
  2019-02-21 18:11 ` [PATCH v15 04/16] misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session Ramalingam C
@ 2019-02-23  0:34   ` kbuild test robot
  0 siblings, 0 replies; 34+ messages in thread
From: kbuild test robot @ 2019-02-23  0:34 UTC (permalink / raw)
  To: Ramalingam C
  Cc: daniel.vetter, intel-gfx, dri-devel, kbuild-all, tomas.winkler

[-- Attachment #1: Type: text/plain, Size: 1086 bytes --]

Hi Ramalingam,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on char-misc/char-misc-testing]
[also build test ERROR on v5.0-rc4 next-20190222]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Ramalingam-C/drm-i915-Implement-HDCP2-2/20190222-182139
config: x86_64-rhel-7.2 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

>> drivers/misc/mei/hdcp/mei_hdcp.c:28:10: fatal error: drm/i915_mei_hdcp_interface.h: No such file or directory
    #include <drm/i915_mei_hdcp_interface.h>
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   compilation terminated.

vim +28 drivers/misc/mei/hdcp/mei_hdcp.c

  > 28	#include <drm/i915_mei_hdcp_interface.h>
    29	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 41555 bytes --]

[-- Attachment #3: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH v15 00/16] drm/i915: Implement HDCP2.2
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (18 preceding siblings ...)
  2019-02-21 19:05 ` ✗ Fi.CI.BAT: failure " Patchwork
@ 2019-02-24 16:33 ` C, Ramalingam
  2019-02-24 20:14   ` Winkler, Tomas
  2019-02-25  9:01 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Implement HDCP2.2 (rev2) Patchwork
                   ` (3 subsequent siblings)
  23 siblings, 1 reply; 34+ messages in thread
From: C, Ramalingam @ 2019-02-24 16:33 UTC (permalink / raw)
  To: intel-gfx, dri-devel, daniel.vetter, tomas.winkler, uma.shankar

Tomas,

Could you please help to review and give final "Go" for the series?

Thanks
--Ram.

On 2/21/2019 11:41 PM, Ramalingam C wrote:
> This series enables the HDCP2.2 Type 0 for I915. The sequence for
> HDCP2.2 authentication and encryption is implemented as a generic flow
> between HDMI and DP. Encoder specific implementations are moved
> into hdcp_shim.
>
> Intel HWs supports HDCP2.2 through ME FW. Hence this series
> introduces a client driver for mei bus, so that for HDCP2.2
> authentication, HDCP2.2 stack in I915 can avail the services from
> ME FW. To enable this client driver set the config variable
> CONFIG_INTEL_MEI_HDCP.
>
> Userspace interface remains unchanged as version agnostic. When
> userspace request for HDCP enable, Kernel will detect the HDCP source
> and sink's HDCP version(1.4/2.2)capability and enable the best capable
> version for that combination.
>
> This series enables the HDCP2.2 for Type0 content streams.
>
> Test-with: <1549566452-30175-1-git-send-email-ramalingam.c@intel.com>
> So that CP will be tested on BAT machine too.
>
> Major changes in v15
>    - All I915 patches are merged. So dropping them.
>    - Few minor suggestions are incorporated at mei changes.
>
> To ease the review process, series is hosted at
> https://github.com/ramalingampc2008/drm-tip.git hdcp2_2_v15
>
> Ramalingam C (15):
>    misc/mei/hdcp: Client driver for HDCP application
>    misc/mei/hdcp: Define ME FW interface for HDCP2.2
>    misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session
>    misc/mei/hdcp: Verify Receiver Cert and prepare km
>    misc/mei/hdcp: Verify H_prime
>    misc/mei/hdcp: Store the HDCP Pairing info
>    misc/mei/hdcp: Initiate Locality check
>    misc/mei/hdcp: Verify L_prime
>    misc/mei/hdcp: Prepare Session Key
>    misc/mei/hdcp: Repeater topology verification and ack
>    misc/mei/hdcp: Verify M_prime
>    misc/mei/hdcp: Enabling the HDCP authentication
>    misc/mei/hdcp: Closing wired HDCP2.2 Tx Session
>    misc/mei/hdcp: Component framework for I915 Interface
>    FOR_TEST_ONLY: i915/Kconfig: Select mei_hdcp by I915
>
> Tomas Winkler (1):
>    mei: bus: whitelist hdcp client
>
>   drivers/misc/mei/Kconfig         |  11 +
>   drivers/misc/mei/Makefile        |   2 +
>   drivers/misc/mei/bus-fixup.c     |  16 +
>   drivers/misc/mei/hdcp/Makefile   |   7 +
>   drivers/misc/mei/hdcp/mei_hdcp.c | 849 +++++++++++++++++++++++++++++++++++++++
>   drivers/misc/mei/hdcp/mei_hdcp.h | 377 +++++++++++++++++
>   6 files changed, 1262 insertions(+)
>   create mode 100644 drivers/misc/mei/hdcp/Makefile
>   create mode 100644 drivers/misc/mei/hdcp/mei_hdcp.c
>   create mode 100644 drivers/misc/mei/hdcp/mei_hdcp.h
>

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH v15 00/16] drm/i915: Implement HDCP2.2
  2019-02-24 16:33 ` [PATCH v15 00/16] " C, Ramalingam
@ 2019-02-24 20:14   ` Winkler, Tomas
  2019-02-25  5:12     ` C, Ramalingam
  0 siblings, 1 reply; 34+ messages in thread
From: Winkler, Tomas @ 2019-02-24 20:14 UTC (permalink / raw)
  To: C, Ramalingam, intel-gfx, dri-devel, daniel.vetter, Shankar, Uma

Have you fixed the lkp issue? 
I didn't see you pushed the code to github.
Thanks


> -----Original Message-----
> From: C, Ramalingam
> Sent: Sunday, February 24, 2019 18:33
> To: intel-gfx@lists.freedesktop.org; dri-devel@lists.freedesktop.org;
> daniel.vetter@ffwll.ch; Winkler, Tomas <tomas.winkler@intel.com>; Shankar,
> Uma <uma.shankar@intel.com>
> Subject: Re: [PATCH v15 00/16] drm/i915: Implement HDCP2.2
> 
> Tomas,
> 
> Could you please help to review and give final "Go" for the series?
> 
> Thanks
> --Ram.
> 
> On 2/21/2019 11:41 PM, Ramalingam C wrote:
> > This series enables the HDCP2.2 Type 0 for I915. The sequence for
> > HDCP2.2 authentication and encryption is implemented as a generic flow
> > between HDMI and DP. Encoder specific implementations are moved into
> > hdcp_shim.
> >
> > Intel HWs supports HDCP2.2 through ME FW. Hence this series introduces
> > a client driver for mei bus, so that for HDCP2.2 authentication,
> > HDCP2.2 stack in I915 can avail the services from ME FW. To enable
> > this client driver set the config variable CONFIG_INTEL_MEI_HDCP.
> >
> > Userspace interface remains unchanged as version agnostic. When
> > userspace request for HDCP enable, Kernel will detect the HDCP source
> > and sink's HDCP version(1.4/2.2)capability and enable the best capable
> > version for that combination.
> >
> > This series enables the HDCP2.2 for Type0 content streams.
> >
> > Test-with: <1549566452-30175-1-git-send-email-ramalingam.c@intel.com>
> > So that CP will be tested on BAT machine too.
> >
> > Major changes in v15
> >    - All I915 patches are merged. So dropping them.
> >    - Few minor suggestions are incorporated at mei changes.
> >
> > To ease the review process, series is hosted at
> > https://github.com/ramalingampc2008/drm-tip.git hdcp2_2_v15
> >
> > Ramalingam C (15):
> >    misc/mei/hdcp: Client driver for HDCP application
> >    misc/mei/hdcp: Define ME FW interface for HDCP2.2
> >    misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session
> >    misc/mei/hdcp: Verify Receiver Cert and prepare km
> >    misc/mei/hdcp: Verify H_prime
> >    misc/mei/hdcp: Store the HDCP Pairing info
> >    misc/mei/hdcp: Initiate Locality check
> >    misc/mei/hdcp: Verify L_prime
> >    misc/mei/hdcp: Prepare Session Key
> >    misc/mei/hdcp: Repeater topology verification and ack
> >    misc/mei/hdcp: Verify M_prime
> >    misc/mei/hdcp: Enabling the HDCP authentication
> >    misc/mei/hdcp: Closing wired HDCP2.2 Tx Session
> >    misc/mei/hdcp: Component framework for I915 Interface
> >    FOR_TEST_ONLY: i915/Kconfig: Select mei_hdcp by I915
> >
> > Tomas Winkler (1):
> >    mei: bus: whitelist hdcp client
> >
> >   drivers/misc/mei/Kconfig         |  11 +
> >   drivers/misc/mei/Makefile        |   2 +
> >   drivers/misc/mei/bus-fixup.c     |  16 +
> >   drivers/misc/mei/hdcp/Makefile   |   7 +
> >   drivers/misc/mei/hdcp/mei_hdcp.c | 849
> +++++++++++++++++++++++++++++++++++++++
> >   drivers/misc/mei/hdcp/mei_hdcp.h | 377 +++++++++++++++++
> >   6 files changed, 1262 insertions(+)
> >   create mode 100644 drivers/misc/mei/hdcp/Makefile
> >   create mode 100644 drivers/misc/mei/hdcp/mei_hdcp.c
> >   create mode 100644 drivers/misc/mei/hdcp/mei_hdcp.h
> >

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH v15 00/16] drm/i915: Implement HDCP2.2
  2019-02-24 20:14   ` Winkler, Tomas
@ 2019-02-25  5:12     ` C, Ramalingam
  2019-02-25  8:18       ` Daniel Vetter
  0 siblings, 1 reply; 34+ messages in thread
From: C, Ramalingam @ 2019-02-25  5:12 UTC (permalink / raw)
  To: Winkler, Tomas, intel-gfx, dri-devel, daniel.vetter, Shankar, Uma

Tomas,

Lkp issue is complaining about the header drm/i915_mei_hdcp_interface.h, Which is already merged in drm-tip through below commit. So don’t think this is a genuine issue. May be this build was tried in different tree, where this commit is not added yet?

commit 1626eab70ebc61d015e69a4bc3479d9228539343
Author: Ramalingam C <ramalingam.c@intel.com>
Date:   Fri Feb 15 14:04:58 2019 +0530

    drm/i915: header for i915 - MEI_HDCP interface

v15 is now part of github.

Best Regards,
Ramalingam C


> -----Original Message-----
> From: Winkler, Tomas
> Sent: Monday, February 25, 2019 1:45 AM
> To: C, Ramalingam <ramalingam.c@intel.com>; intel-gfx@lists.freedesktop.org;
> dri-devel@lists.freedesktop.org; daniel.vetter@ffwll.ch; Shankar, Uma
> <uma.shankar@intel.com>
> Subject: RE: [PATCH v15 00/16] drm/i915: Implement HDCP2.2
> 
> Have you fixed the lkp issue?
> I didn't see you pushed the code to github.
> Thanks
> 
> 
> > -----Original Message-----
> > From: C, Ramalingam
> > Sent: Sunday, February 24, 2019 18:33
> > To: intel-gfx@lists.freedesktop.org; dri-devel@lists.freedesktop.org;
> > daniel.vetter@ffwll.ch; Winkler, Tomas <tomas.winkler@intel.com>;
> > Shankar, Uma <uma.shankar@intel.com>
> > Subject: Re: [PATCH v15 00/16] drm/i915: Implement HDCP2.2
> >
> > Tomas,
> >
> > Could you please help to review and give final "Go" for the series?
> >
> > Thanks
> > --Ram.
> >
> > On 2/21/2019 11:41 PM, Ramalingam C wrote:
> > > This series enables the HDCP2.2 Type 0 for I915. The sequence for
> > > HDCP2.2 authentication and encryption is implemented as a generic
> > > flow between HDMI and DP. Encoder specific implementations are moved
> > > into hdcp_shim.
> > >
> > > Intel HWs supports HDCP2.2 through ME FW. Hence this series
> > > introduces a client driver for mei bus, so that for HDCP2.2
> > > authentication,
> > > HDCP2.2 stack in I915 can avail the services from ME FW. To enable
> > > this client driver set the config variable CONFIG_INTEL_MEI_HDCP.
> > >
> > > Userspace interface remains unchanged as version agnostic. When
> > > userspace request for HDCP enable, Kernel will detect the HDCP
> > > source and sink's HDCP version(1.4/2.2)capability and enable the
> > > best capable version for that combination.
> > >
> > > This series enables the HDCP2.2 for Type0 content streams.
> > >
> > > Test-with:
> > > <1549566452-30175-1-git-send-email-ramalingam.c@intel.com>
> > > So that CP will be tested on BAT machine too.
> > >
> > > Major changes in v15
> > >    - All I915 patches are merged. So dropping them.
> > >    - Few minor suggestions are incorporated at mei changes.
> > >
> > > To ease the review process, series is hosted at
> > > https://github.com/ramalingampc2008/drm-tip.git hdcp2_2_v15
> > >
> > > Ramalingam C (15):
> > >    misc/mei/hdcp: Client driver for HDCP application
> > >    misc/mei/hdcp: Define ME FW interface for HDCP2.2
> > >    misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session
> > >    misc/mei/hdcp: Verify Receiver Cert and prepare km
> > >    misc/mei/hdcp: Verify H_prime
> > >    misc/mei/hdcp: Store the HDCP Pairing info
> > >    misc/mei/hdcp: Initiate Locality check
> > >    misc/mei/hdcp: Verify L_prime
> > >    misc/mei/hdcp: Prepare Session Key
> > >    misc/mei/hdcp: Repeater topology verification and ack
> > >    misc/mei/hdcp: Verify M_prime
> > >    misc/mei/hdcp: Enabling the HDCP authentication
> > >    misc/mei/hdcp: Closing wired HDCP2.2 Tx Session
> > >    misc/mei/hdcp: Component framework for I915 Interface
> > >    FOR_TEST_ONLY: i915/Kconfig: Select mei_hdcp by I915
> > >
> > > Tomas Winkler (1):
> > >    mei: bus: whitelist hdcp client
> > >
> > >   drivers/misc/mei/Kconfig         |  11 +
> > >   drivers/misc/mei/Makefile        |   2 +
> > >   drivers/misc/mei/bus-fixup.c     |  16 +
> > >   drivers/misc/mei/hdcp/Makefile   |   7 +
> > >   drivers/misc/mei/hdcp/mei_hdcp.c | 849
> > +++++++++++++++++++++++++++++++++++++++
> > >   drivers/misc/mei/hdcp/mei_hdcp.h | 377 +++++++++++++++++
> > >   6 files changed, 1262 insertions(+)
> > >   create mode 100644 drivers/misc/mei/hdcp/Makefile
> > >   create mode 100644 drivers/misc/mei/hdcp/mei_hdcp.c
> > >   create mode 100644 drivers/misc/mei/hdcp/mei_hdcp.h
> > >

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH v15 00/16] drm/i915: Implement HDCP2.2
  2019-02-25  5:12     ` C, Ramalingam
@ 2019-02-25  8:18       ` Daniel Vetter
  2019-02-25 15:13         ` Winkler, Tomas
  0 siblings, 1 reply; 34+ messages in thread
From: Daniel Vetter @ 2019-02-25  8:18 UTC (permalink / raw)
  To: C, Ramalingam; +Cc: daniel.vetter, Winkler, Tomas, intel-gfx, dri-devel

On Mon, Feb 25, 2019 at 05:12:09AM +0000, C, Ramalingam wrote:
> Tomas,
> 
> Lkp issue is complaining about the header drm/i915_mei_hdcp_interface.h,
> Which is already merged in drm-tip through below commit. So don’t think
> this is a genuine issue. May be this build was tried in different tree,
> where this commit is not added yet?

Yeah our topic trees aren't pushed into linux-next, 0day can't find them.
Usually it will then fail to apply (and in that case it doesn't complain),
but it does complain if everything applies but doesn't build.
-Daniel

> 
> commit 1626eab70ebc61d015e69a4bc3479d9228539343
> Author: Ramalingam C <ramalingam.c@intel.com>
> Date:   Fri Feb 15 14:04:58 2019 +0530
> 
>     drm/i915: header for i915 - MEI_HDCP interface
> 
> v15 is now part of github.
> 
> Best Regards,
> Ramalingam C
> 
> 
> > -----Original Message-----
> > From: Winkler, Tomas
> > Sent: Monday, February 25, 2019 1:45 AM
> > To: C, Ramalingam <ramalingam.c@intel.com>; intel-gfx@lists.freedesktop.org;
> > dri-devel@lists.freedesktop.org; daniel.vetter@ffwll.ch; Shankar, Uma
> > <uma.shankar@intel.com>
> > Subject: RE: [PATCH v15 00/16] drm/i915: Implement HDCP2.2
> > 
> > Have you fixed the lkp issue?
> > I didn't see you pushed the code to github.
> > Thanks
> > 
> > 
> > > -----Original Message-----
> > > From: C, Ramalingam
> > > Sent: Sunday, February 24, 2019 18:33
> > > To: intel-gfx@lists.freedesktop.org; dri-devel@lists.freedesktop.org;
> > > daniel.vetter@ffwll.ch; Winkler, Tomas <tomas.winkler@intel.com>;
> > > Shankar, Uma <uma.shankar@intel.com>
> > > Subject: Re: [PATCH v15 00/16] drm/i915: Implement HDCP2.2
> > >
> > > Tomas,
> > >
> > > Could you please help to review and give final "Go" for the series?
> > >
> > > Thanks
> > > --Ram.
> > >
> > > On 2/21/2019 11:41 PM, Ramalingam C wrote:
> > > > This series enables the HDCP2.2 Type 0 for I915. The sequence for
> > > > HDCP2.2 authentication and encryption is implemented as a generic
> > > > flow between HDMI and DP. Encoder specific implementations are moved
> > > > into hdcp_shim.
> > > >
> > > > Intel HWs supports HDCP2.2 through ME FW. Hence this series
> > > > introduces a client driver for mei bus, so that for HDCP2.2
> > > > authentication,
> > > > HDCP2.2 stack in I915 can avail the services from ME FW. To enable
> > > > this client driver set the config variable CONFIG_INTEL_MEI_HDCP.
> > > >
> > > > Userspace interface remains unchanged as version agnostic. When
> > > > userspace request for HDCP enable, Kernel will detect the HDCP
> > > > source and sink's HDCP version(1.4/2.2)capability and enable the
> > > > best capable version for that combination.
> > > >
> > > > This series enables the HDCP2.2 for Type0 content streams.
> > > >
> > > > Test-with:
> > > > <1549566452-30175-1-git-send-email-ramalingam.c@intel.com>
> > > > So that CP will be tested on BAT machine too.
> > > >
> > > > Major changes in v15
> > > >    - All I915 patches are merged. So dropping them.
> > > >    - Few minor suggestions are incorporated at mei changes.
> > > >
> > > > To ease the review process, series is hosted at
> > > > https://github.com/ramalingampc2008/drm-tip.git hdcp2_2_v15
> > > >
> > > > Ramalingam C (15):
> > > >    misc/mei/hdcp: Client driver for HDCP application
> > > >    misc/mei/hdcp: Define ME FW interface for HDCP2.2
> > > >    misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session
> > > >    misc/mei/hdcp: Verify Receiver Cert and prepare km
> > > >    misc/mei/hdcp: Verify H_prime
> > > >    misc/mei/hdcp: Store the HDCP Pairing info
> > > >    misc/mei/hdcp: Initiate Locality check
> > > >    misc/mei/hdcp: Verify L_prime
> > > >    misc/mei/hdcp: Prepare Session Key
> > > >    misc/mei/hdcp: Repeater topology verification and ack
> > > >    misc/mei/hdcp: Verify M_prime
> > > >    misc/mei/hdcp: Enabling the HDCP authentication
> > > >    misc/mei/hdcp: Closing wired HDCP2.2 Tx Session
> > > >    misc/mei/hdcp: Component framework for I915 Interface
> > > >    FOR_TEST_ONLY: i915/Kconfig: Select mei_hdcp by I915
> > > >
> > > > Tomas Winkler (1):
> > > >    mei: bus: whitelist hdcp client
> > > >
> > > >   drivers/misc/mei/Kconfig         |  11 +
> > > >   drivers/misc/mei/Makefile        |   2 +
> > > >   drivers/misc/mei/bus-fixup.c     |  16 +
> > > >   drivers/misc/mei/hdcp/Makefile   |   7 +
> > > >   drivers/misc/mei/hdcp/mei_hdcp.c | 849
> > > +++++++++++++++++++++++++++++++++++++++
> > > >   drivers/misc/mei/hdcp/mei_hdcp.h | 377 +++++++++++++++++
> > > >   6 files changed, 1262 insertions(+)
> > > >   create mode 100644 drivers/misc/mei/hdcp/Makefile
> > > >   create mode 100644 drivers/misc/mei/hdcp/mei_hdcp.c
> > > >   create mode 100644 drivers/misc/mei/hdcp/mei_hdcp.h
> > > >
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 34+ messages in thread

* ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Implement HDCP2.2 (rev2)
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (19 preceding siblings ...)
  2019-02-24 16:33 ` [PATCH v15 00/16] " C, Ramalingam
@ 2019-02-25  9:01 ` Patchwork
  2019-02-25  9:04 ` ✗ Fi.CI.SPARSE: " Patchwork
                   ` (2 subsequent siblings)
  23 siblings, 0 replies; 34+ messages in thread
From: Patchwork @ 2019-02-25  9:01 UTC (permalink / raw)
  To: intel-gfx

== Series Details ==

Series: drm/i915: Implement HDCP2.2 (rev2)
URL   : https://patchwork.freedesktop.org/series/57037/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
28035a8723cc mei: bus: whitelist hdcp client
5eb2c31723c1 misc/mei/hdcp: Client driver for HDCP application
-:82: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#82: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 89 lines checked
09a2be93b7a0 misc/mei/hdcp: Define ME FW interface for HDCP2.2
-:32: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#32: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 366 lines checked
3484221901e4 misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session
750814ae1aa9 misc/mei/hdcp: Verify Receiver Cert and prepare km
334946798e8f misc/mei/hdcp: Verify H_prime
1c21f1b7045b misc/mei/hdcp: Store the HDCP Pairing info
0d73f8dd8237 misc/mei/hdcp: Initiate Locality check
0be9f3d963dd misc/mei/hdcp: Verify L_prime
e5cf396eb147 misc/mei/hdcp: Prepare Session Key
a1d45c3a48b6 misc/mei/hdcp: Repeater topology verification and ack
879ebb26ac20 misc/mei/hdcp: Verify M_prime
444c2c7be0b1 misc/mei/hdcp: Enabling the HDCP authentication
b9cb735b3ebd misc/mei/hdcp: Closing wired HDCP2.2 Tx Session
98e90808d3b7 misc/mei/hdcp: Component framework for I915 Interface
576dc9dbdfeb FOR_TEST_ONLY: i915/Kconfig: Select mei_hdcp by I915

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 34+ messages in thread

* ✗ Fi.CI.SPARSE: warning for drm/i915: Implement HDCP2.2 (rev2)
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (20 preceding siblings ...)
  2019-02-25  9:01 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Implement HDCP2.2 (rev2) Patchwork
@ 2019-02-25  9:04 ` Patchwork
  2019-02-25  9:25 ` ✓ Fi.CI.BAT: success " Patchwork
  2019-02-25 11:11 ` ✓ Fi.CI.IGT: " Patchwork
  23 siblings, 0 replies; 34+ messages in thread
From: Patchwork @ 2019-02-25  9:04 UTC (permalink / raw)
  To: intel-gfx

== Series Details ==

Series: drm/i915: Implement HDCP2.2 (rev2)
URL   : https://patchwork.freedesktop.org/series/57037/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: mei: bus: whitelist hdcp client
Okay!

Commit: misc/mei/hdcp: Client driver for HDCP application
+Error in reading or end of file.

Commit: misc/mei/hdcp: Define ME FW interface for HDCP2.2
Okay!

Commit: misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session
Okay!

Commit: misc/mei/hdcp: Verify Receiver Cert and prepare km
Okay!

Commit: misc/mei/hdcp: Verify H_prime
Okay!

Commit: misc/mei/hdcp: Store the HDCP Pairing info
Okay!

Commit: misc/mei/hdcp: Initiate Locality check
Okay!

Commit: misc/mei/hdcp: Verify L_prime
Okay!

Commit: misc/mei/hdcp: Prepare Session Key
Okay!

Commit: misc/mei/hdcp: Repeater topology verification and ack
Okay!

Commit: misc/mei/hdcp: Verify M_prime
Okay!

Commit: misc/mei/hdcp: Enabling the HDCP authentication
Okay!

Commit: misc/mei/hdcp: Closing wired HDCP2.2 Tx Session
Okay!

Commit: misc/mei/hdcp: Component framework for I915 Interface
Okay!

Commit: FOR_TEST_ONLY: i915/Kconfig: Select mei_hdcp by I915
Okay!

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 34+ messages in thread

* ✓ Fi.CI.BAT: success for drm/i915: Implement HDCP2.2 (rev2)
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (21 preceding siblings ...)
  2019-02-25  9:04 ` ✗ Fi.CI.SPARSE: " Patchwork
@ 2019-02-25  9:25 ` Patchwork
  2019-02-25 11:11 ` ✓ Fi.CI.IGT: " Patchwork
  23 siblings, 0 replies; 34+ messages in thread
From: Patchwork @ 2019-02-25  9:25 UTC (permalink / raw)
  To: intel-gfx

== Series Details ==

Series: drm/i915: Implement HDCP2.2 (rev2)
URL   : https://patchwork.freedesktop.org/series/57037/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5657 -> Patchwork_12295
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/57037/revisions/2/mbox/

Known issues
------------

  Here are the changes found in Patchwork_12295 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_basic@readonly-bsd2:
    - fi-pnv-d510:        NOTRUN -> SKIP [fdo#109271] +78

  * igt@kms_busy@basic-flip-a:
    - fi-apl-guc:         PASS -> SKIP [fdo#109271] +5

  * igt@kms_busy@basic-flip-b:
    - fi-cfl-guc:         PASS -> SKIP [fdo#109271] +5
    - fi-skl-guc:         PASS -> SKIP [fdo#109271] +5

  * igt@kms_busy@basic-flip-c:
    - fi-byt-j1900:       NOTRUN -> SKIP [fdo#109271] / [fdo#109278]
    - fi-pnv-d510:        NOTRUN -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_chamelium@hdmi-crc-fast:
    - fi-byt-j1900:       NOTRUN -> SKIP [fdo#109271] +54

  * igt@kms_content_protection@atomic:
    - fi-skl-gvtdvm:      NOTRUN -> FAIL [fdo#108597] / [fdo#108739] +1
    - fi-ivb-3520m:       NOTRUN -> SKIP [fdo#109271] +4
    - fi-whl-u:           NOTRUN -> SKIP [fdo#109271] +1
    - fi-icl-u2:          NOTRUN -> FAIL [fdo#108597] / [fdo#108739] +1
    - fi-bdw-5557u:       NOTRUN -> SKIP [fdo#109271] +1
    - fi-hsw-peppy:       NOTRUN -> SKIP [fdo#109271] +1
    - fi-hsw-4770r:       NOTRUN -> SKIP [fdo#109271] +1
    - fi-byt-n2820:       NOTRUN -> SKIP [fdo#109271] +2
    - fi-kbl-7560u:       NOTRUN -> SKIP [fdo#109271] +1
    - fi-skl-6600u:       NOTRUN -> SKIP [fdo#109271] +1
    - fi-apl-guc:         NOTRUN -> FAIL [fdo#108597] / [fdo#108739] +1

  * igt@kms_content_protection@legacy:
    - fi-cfl-guc:         NOTRUN -> SKIP [fdo#109271] +2
    - fi-bsw-kefka:       NOTRUN -> SKIP [fdo#109271] +1
    - fi-bxt-j4205:       NOTRUN -> SKIP [fdo#109271] +2
    - fi-kbl-r:           NOTRUN -> SKIP [fdo#109271] +1
    - fi-cfl-8109u:       NOTRUN -> FAIL [fdo#108739] +1
    - fi-kbl-guc:         NOTRUN -> SKIP [fdo#109271] +5
    - fi-gdg-551:         NOTRUN -> SKIP [fdo#109271] +6
    - fi-hsw-4770:        NOTRUN -> SKIP [fdo#109271] +2
    - fi-bsw-n3050:       NOTRUN -> SKIP [fdo#109271] +2

  * igt@pm_backlight@basic-brightness:
    - fi-bdw-5557u:       NOTRUN -> SKIP [fdo#109271] / [fdo#109527]
    - fi-kbl-7567u:       NOTRUN -> SKIP [fdo#109271]
    - fi-skl-guc:         NOTRUN -> SKIP [fdo#109271] +2
    - fi-cfl-8109u:       NOTRUN -> SKIP [fdo#109271]
    - fi-cfl-8700k:       NOTRUN -> SKIP [fdo#109271] +2
    - fi-ilk-650:         NOTRUN -> SKIP [fdo#109271] / [fdo#109527]
    - fi-elk-e7500:       NOTRUN -> SKIP [fdo#109271] / [fdo#109527]
    - fi-kbl-x1275:       NOTRUN -> SKIP [fdo#109271]
    - fi-kbl-7500u:       NOTRUN -> SKIP [fdo#109271] / [fdo#109527]
    - fi-apl-guc:         NOTRUN -> SKIP [fdo#109271]
    - fi-skl-6260u:       NOTRUN -> SKIP [fdo#109271]
    - fi-hsw-4770r:       NOTRUN -> SKIP [fdo#109271] / [fdo#109527]
    - fi-skl-6700k2:      NOTRUN -> SKIP [fdo#109271]

  * igt@pm_rpm@basic-pci-d3-state:
    - fi-kbl-8809g:       NOTRUN -> SKIP [fdo#109271] +4

  * igt@pm_rpm@basic-rte:
    - fi-skl-gvtdvm:      NOTRUN -> SKIP [fdo#109271] +3
    - fi-elk-e7500:       NOTRUN -> SKIP [fdo#109271] +5
    - fi-ilk-650:         NOTRUN -> SKIP [fdo#109271] +5
    - fi-bdw-gvtdvm:      NOTRUN -> SKIP [fdo#109271] +5
    - fi-snb-2520m:       NOTRUN -> SKIP [fdo#109271] +4

  * igt@pm_rpm@module-reload:
    - fi-ivb-3770:        NOTRUN -> SKIP [fdo#109271] +5

  * igt@pm_rps@basic-api:
    - fi-bwr-2160:        NOTRUN -> SKIP [fdo#109271] +6

  * igt@prime_vgem@basic-wait-default:
    - fi-kbl-guc:         PASS -> SKIP [fdo#109271] +12

  
#### Possible fixes ####

  * igt@i915_hangman@error-state-basic:
    - fi-kbl-guc:         SKIP [fdo#109271] -> PASS
    - fi-apl-guc:         SKIP [fdo#109271] -> PASS
    - fi-skl-guc:         SKIP [fdo#109271] -> PASS
    - fi-cfl-guc:         SKIP [fdo#109271] -> PASS

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-kbl-7567u:       WARN [fdo#109380] -> PASS

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       FAIL [fdo#109485] -> PASS

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-c:
    - fi-kbl-7567u:       SKIP [fdo#109271] -> PASS +31

  * igt@prime_vgem@basic-fence-flip:
    - fi-kbl-7500u:       SKIP [fdo#109271] -> PASS +31

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#108597]: https://bugs.freedesktop.org/show_bug.cgi?id=108597
  [fdo#108739]: https://bugs.freedesktop.org/show_bug.cgi?id=108739
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109380]: https://bugs.freedesktop.org/show_bug.cgi?id=109380
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485
  [fdo#109527]: https://bugs.freedesktop.org/show_bug.cgi?id=109527
  [fdo#109567]: https://bugs.freedesktop.org/show_bug.cgi?id=109567


Participating hosts (40 -> 39)
------------------------------

  Additional (2): fi-byt-j1900 fi-pnv-d510 
  Missing    (3): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan 


Build changes
-------------

    * IGT: IGT_4853 -> IGTPW_2356
    * Linux: CI_DRM_5657 -> Patchwork_12295

  CI_DRM_5657: 3dd976663b985375368c6229903a1c47971c2a71 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2356: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2356/
  IGT_4853: 8afdfd8fa9ce17043d9105dedca46ad4555fdcdb @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12295: 576dc9dbdfebb3241600def7f9078c8f7abbff2c @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

576dc9dbdfeb FOR_TEST_ONLY: i915/Kconfig: Select mei_hdcp by I915
98e90808d3b7 misc/mei/hdcp: Component framework for I915 Interface
b9cb735b3ebd misc/mei/hdcp: Closing wired HDCP2.2 Tx Session
444c2c7be0b1 misc/mei/hdcp: Enabling the HDCP authentication
879ebb26ac20 misc/mei/hdcp: Verify M_prime
a1d45c3a48b6 misc/mei/hdcp: Repeater topology verification and ack
e5cf396eb147 misc/mei/hdcp: Prepare Session Key
0be9f3d963dd misc/mei/hdcp: Verify L_prime
0d73f8dd8237 misc/mei/hdcp: Initiate Locality check
1c21f1b7045b misc/mei/hdcp: Store the HDCP Pairing info
334946798e8f misc/mei/hdcp: Verify H_prime
750814ae1aa9 misc/mei/hdcp: Verify Receiver Cert and prepare km
3484221901e4 misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session
09a2be93b7a0 misc/mei/hdcp: Define ME FW interface for HDCP2.2
5eb2c31723c1 misc/mei/hdcp: Client driver for HDCP application
28035a8723cc mei: bus: whitelist hdcp client

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12295/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 34+ messages in thread

* ✓ Fi.CI.IGT: success for drm/i915: Implement HDCP2.2 (rev2)
  2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
                   ` (22 preceding siblings ...)
  2019-02-25  9:25 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2019-02-25 11:11 ` Patchwork
  23 siblings, 0 replies; 34+ messages in thread
From: Patchwork @ 2019-02-25 11:11 UTC (permalink / raw)
  To: intel-gfx

== Series Details ==

Series: drm/i915: Implement HDCP2.2 (rev2)
URL   : https://patchwork.freedesktop.org/series/57037/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5657_full -> Patchwork_12295_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Known issues
------------

  Here are the changes found in Patchwork_12295_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_busy@busy-bsd2:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109276] +7

  * igt@gem_busy@extended-semaphore-bsd1:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109275] / [fdo#109276]

  * igt@gem_ctx_isolation@vecs0-clean:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109281]

  * igt@gem_pwrite@stolen-normal:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109277] +1

  * igt@i915_query@query-topology-unsupported:
    - shard-apl:          NOTRUN -> SKIP [fdo#109271] +66

  * igt@i915_suspend@shrink:
    - shard-apl:          NOTRUN -> DMESG-WARN [fdo#107886] / [fdo#109244]
    - shard-kbl:          NOTRUN -> DMESG-WARN [fdo#109244]
    - shard-snb:          NOTRUN -> DMESG-WARN [fdo#109244]
    - shard-hsw:          NOTRUN -> DMESG-WARN [fdo#109244]
    - shard-iclb:         NOTRUN -> DMESG-WARN [fdo#107886] / [fdo#109244]
    - shard-glk:          NOTRUN -> DMESG-WARN [fdo#109244]

  * igt@kms_atomic_transition@3x-modeset-transitions-fencing:
    - shard-apl:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +2

  * igt@kms_atomic_transition@3x-modeset-transitions-nonblocking:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109278] +1

  * igt@kms_busy@basic-modeset-d:
    - shard-glk:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_busy@extended-modeset-hang-newfb-render-e:
    - shard-kbl:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b:
    - shard-iclb:         NOTRUN -> DMESG-WARN [fdo#107956] +1

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
    - shard-apl:          PASS -> FAIL [fdo#106510] / [fdo#108145] +1

  * igt@kms_chamelium@hdmi-hpd:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109284]

  * igt@kms_cursor_crc@cursor-256x256-dpms:
    - shard-kbl:          PASS -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-512x512-onscreen:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109279]

  * igt@kms_cursor_crc@cursor-64x21-random:
    - shard-apl:          PASS -> FAIL [fdo#103232] +5

  * igt@kms_cursor_crc@cursor-64x64-suspend:
    - shard-iclb:         NOTRUN -> FAIL [fdo#103232] +1
    - shard-apl:          PASS -> FAIL [fdo#103191] / [fdo#103232]

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109274] +3

  * igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic:
    - shard-glk:          NOTRUN -> FAIL [fdo#105454] / [fdo#106509]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
    - shard-glk:          PASS -> FAIL [fdo#103167] +5

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc:
    - shard-iclb:         NOTRUN -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
    - shard-iclb:         PASS -> FAIL [fdo#103167] +2
    - shard-apl:          PASS -> FAIL [fdo#103167] +1

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109280] +12

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-onoff:
    - shard-snb:          NOTRUN -> SKIP [fdo#109271] +131

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-cpu:
    - shard-kbl:          NOTRUN -> SKIP [fdo#109271] +29

  * igt@kms_pipe_crc_basic@read-crc-pipe-b:
    - shard-snb:          PASS -> INCOMPLETE [fdo#105411]

  * igt@kms_plane@pixel-format-pipe-b-planes-source-clamping:
    - shard-iclb:         NOTRUN -> FAIL [fdo#108948]

  * igt@kms_plane_alpha_blend@pipe-b-alpha-transparant-fb:
    - shard-apl:          NOTRUN -> FAIL [fdo#108145] +1
    - shard-snb:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +7

  * igt@kms_plane_multiple@atomic-pipe-a-tiling-none:
    - shard-glk:          NOTRUN -> FAIL [fdo#103166]

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-none:
    - shard-glk:          PASS -> FAIL [fdo#103166] +3
    - shard-apl:          PASS -> FAIL [fdo#103166] +3
    - shard-iclb:         NOTRUN -> FAIL [fdo#103166]

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-x:
    - shard-apl:          NOTRUN -> FAIL [fdo#103166]

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
    - shard-iclb:         PASS -> FAIL [fdo#103166] +2

  * igt@kms_psr@no_drrs:
    - shard-iclb:         PASS -> FAIL [fdo#108341]

  * igt@perf@unprivileged-single-ctx-counters:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109289] +2

  * igt@pm_backlight@fade_with_suspend:
    - shard-iclb:         NOTRUN -> FAIL [fdo#107847]

  * igt@pm_lpsp@edp-native:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109301] +3

  * igt@pm_rpm@gem-execbuf-stress-pc8:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109506]

  * igt@pm_rpm@modeset-lpsp:
    - shard-glk:          NOTRUN -> SKIP [fdo#109271] +29

  * igt@pm_rpm@modeset-non-lpsp-stress-no-wait:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109308] +4

  * igt@pm_rpm@modeset-pc8-residency-stress:
    - shard-hsw:          NOTRUN -> SKIP [fdo#109271] +16
    - shard-iclb:         NOTRUN -> SKIP [fdo#109293] +1

  * igt@pm_rps@min-max-config-loaded:
    - shard-iclb:         NOTRUN -> FAIL [fdo#102250]

  * igt@pm_rps@reset:
    - shard-iclb:         NOTRUN -> FAIL [fdo#102250] / [fdo#108059] +1

  * igt@pm_rps@waitboost:
    - shard-hsw:          NOTRUN -> INCOMPLETE [fdo#103540]

  * igt@pm_sseu@full-enable:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109288]

  * igt@prime_nv_pcopy@test2:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109291] +1

  
#### Possible fixes ####

  * igt@i915_suspend@fence-restore-tiled2untiled:
    - shard-snb:          INCOMPLETE [fdo#105411] -> PASS

  * igt@i915_suspend@fence-restore-untiled:
    - shard-kbl:          INCOMPLETE [fdo#103665] -> PASS

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
    - shard-apl:          INCOMPLETE [fdo#103927] -> PASS

  * igt@kms_busy@extended-modeset-hang-newfb-render-a:
    - shard-kbl:          DMESG-WARN [fdo#107956] -> PASS

  * igt@kms_busy@extended-pageflip-hang-newfb-render-a:
    - shard-glk:          DMESG-WARN [fdo#107956] -> PASS

  * igt@kms_ccs@pipe-b-crc-sprite-planes-basic:
    - shard-glk:          FAIL [fdo#108145] -> PASS
    - shard-kbl:          FAIL [fdo#107725] / [fdo#108145] -> PASS

  * igt@kms_color@pipe-b-ctm-max:
    - shard-apl:          FAIL [fdo#108147] -> PASS

  * igt@kms_color@pipe-b-degamma:
    - shard-apl:          FAIL [fdo#104782] -> PASS +1

  * igt@kms_color@pipe-c-legacy-gamma:
    - shard-glk:          FAIL [fdo#104782] -> PASS

  * igt@kms_cursor_crc@cursor-128x128-suspend:
    - shard-apl:          FAIL [fdo#103191] / [fdo#103232] -> PASS

  * igt@kms_cursor_crc@cursor-256x256-random:
    - shard-apl:          FAIL [fdo#103232] -> PASS +2

  * igt@kms_cursor_crc@cursor-64x64-random:
    - shard-kbl:          FAIL [fdo#103232] -> PASS

  * igt@kms_cursor_crc@cursor-alpha-opaque:
    - shard-glk:          FAIL [fdo#109350] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen:
    - shard-glk:          FAIL [fdo#103167] -> PASS
    - shard-apl:          FAIL [fdo#103167] -> PASS +1
    - shard-kbl:          FAIL [fdo#103167] -> PASS +1

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite:
    - shard-iclb:         FAIL [fdo#103167] -> PASS +5

  * igt@kms_plane@pixel-format-pipe-b-planes-source-clamping:
    - shard-apl:          FAIL [fdo#108948] -> PASS

  * igt@kms_plane@pixel-format-pipe-c-planes:
    - shard-glk:          FAIL [fdo#103166] -> PASS +1

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
    - shard-iclb:         INCOMPLETE [fdo#107713] -> PASS

  * igt@kms_plane@plane-position-covered-pipe-a-planes:
    - shard-iclb:         FAIL [fdo#103166] -> PASS +2

  * igt@kms_plane_multiple@atomic-pipe-a-tiling-none:
    - shard-kbl:          FAIL [fdo#103166] -> PASS
    - shard-apl:          FAIL [fdo#103166] -> PASS

  * igt@kms_rotation_crc@multiplane-rotation-cropping-top:
    - shard-kbl:          FAIL [fdo#109016] -> PASS

  * igt@kms_setmode@basic:
    - shard-kbl:          FAIL [fdo#99912] -> PASS

  * igt@kms_vblank@pipe-a-ts-continuation-dpms-rpm:
    - shard-apl:          FAIL [fdo#104894] -> PASS

  * igt@perf_pmu@rc6:
    - shard-kbl:          SKIP [fdo#109271] -> PASS

  
  [fdo#102250]: https://bugs.freedesktop.org/show_bug.cgi?id=102250
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104782]: https://bugs.freedesktop.org/show_bug.cgi?id=104782
  [fdo#104894]: https://bugs.freedesktop.org/show_bug.cgi?id=104894
  [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
  [fdo#105454]: https://bugs.freedesktop.org/show_bug.cgi?id=105454
  [fdo#106509]: https://bugs.freedesktop.org/show_bug.cgi?id=106509
  [fdo#106510]: https://bugs.freedesktop.org/show_bug.cgi?id=106510
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107725]: https://bugs.freedesktop.org/show_bug.cgi?id=107725
  [fdo#107847]: https://bugs.freedesktop.org/show_bug.cgi?id=107847
  [fdo#107886]: https://bugs.freedesktop.org/show_bug.cgi?id=107886
  [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
  [fdo#108059]: https://bugs.freedesktop.org/show_bug.cgi?id=108059
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108147]: https://bugs.freedesktop.org/show_bug.cgi?id=108147
  [fdo#108341]: https://bugs.freedesktop.org/show_bug.cgi?id=108341
  [fdo#108948]: https://bugs.freedesktop.org/show_bug.cgi?id=108948
  [fdo#109016]: https://bugs.freedesktop.org/show_bug.cgi?id=109016
  [fdo#109244]: https://bugs.freedesktop.org/show_bug.cgi?id=109244
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109275]: https://bugs.freedesktop.org/show_bug.cgi?id=109275
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109277]: https://bugs.freedesktop.org/show_bug.cgi?id=109277
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109281]: https://bugs.freedesktop.org/show_bug.cgi?id=109281
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109288]: https://bugs.freedesktop.org/show_bug.cgi?id=109288
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
  [fdo#109293]: https://bugs.freedesktop.org/show_bug.cgi?id=109293
  [fdo#109301]: https://bugs.freedesktop.org/show_bug.cgi?id=109301
  [fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308
  [fdo#109350]: https://bugs.freedesktop.org/show_bug.cgi?id=109350
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (7 -> 6)
------------------------------

  Missing    (1): shard-skl 


Build changes
-------------

    * IGT: IGT_4853 -> IGTPW_2356
    * Linux: CI_DRM_5657 -> Patchwork_12295

  CI_DRM_5657: 3dd976663b985375368c6229903a1c47971c2a71 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2356: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2356/
  IGT_4853: 8afdfd8fa9ce17043d9105dedca46ad4555fdcdb @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12295: 576dc9dbdfebb3241600def7f9078c8f7abbff2c @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12295/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH v15 00/16] drm/i915: Implement HDCP2.2
  2019-02-25  8:18       ` Daniel Vetter
@ 2019-02-25 15:13         ` Winkler, Tomas
  2019-02-25 17:54           ` Daniel Vetter
  0 siblings, 1 reply; 34+ messages in thread
From: Winkler, Tomas @ 2019-02-25 15:13 UTC (permalink / raw)
  To: Daniel Vetter, C, Ramalingam; +Cc: daniel.vetter, intel-gfx, dri-devel

> On Mon, Feb 25, 2019 at 05:12:09AM +0000, C, Ramalingam wrote:
> > Tomas,
> >
> > Lkp issue is complaining about the header
> > drm/i915_mei_hdcp_interface.h, Which is already merged in drm-tip
> > through below commit. So don’t think this is a genuine issue. May be
> > this build was tried in different tree, where this commit is not added yet?
> 
> Yeah our topic trees aren't pushed into linux-next, 0day can't find them.
> Usually it will then fail to apply (and in that case it doesn't complain), but it
> does complain if everything applies but doesn't build.
> -Daniel
> 
> >
> > commit 1626eab70ebc61d015e69a4bc3479d9228539343
> > Author: Ramalingam C <ramalingam.c@intel.com>
> > Date:   Fri Feb 15 14:04:58 2019 +0530
> >
> >     drm/i915: header for i915 - MEI_HDCP interface
> >
> > v15 is now part of github.

I'm okay to go with this.
Thanks
Tomas

> >
> > Best Regards,
> > Ramalingam C
> >
> >
> > > -----Original Message-----
> > > From: Winkler, Tomas
> > > Sent: Monday, February 25, 2019 1:45 AM
> > > To: C, Ramalingam <ramalingam.c@intel.com>;
> > > intel-gfx@lists.freedesktop.org; dri-devel@lists.freedesktop.org;
> > > daniel.vetter@ffwll.ch; Shankar, Uma <uma.shankar@intel.com>
> > > Subject: RE: [PATCH v15 00/16] drm/i915: Implement HDCP2.2
> > >
> > > Have you fixed the lkp issue?
> > > I didn't see you pushed the code to github.
> > > Thanks
> > >
> > >
> > > > -----Original Message-----
> > > > From: C, Ramalingam
> > > > Sent: Sunday, February 24, 2019 18:33
> > > > To: intel-gfx@lists.freedesktop.org;
> > > > dri-devel@lists.freedesktop.org; daniel.vetter@ffwll.ch; Winkler,
> > > > Tomas <tomas.winkler@intel.com>; Shankar, Uma
> > > > <uma.shankar@intel.com>
> > > > Subject: Re: [PATCH v15 00/16] drm/i915: Implement HDCP2.2
> > > >
> > > > Tomas,
> > > >
> > > > Could you please help to review and give final "Go" for the series?
> > > >
> > > > Thanks
> > > > --Ram.
> > > >
> > > > On 2/21/2019 11:41 PM, Ramalingam C wrote:
> > > > > This series enables the HDCP2.2 Type 0 for I915. The sequence
> > > > > for
> > > > > HDCP2.2 authentication and encryption is implemented as a
> > > > > generic flow between HDMI and DP. Encoder specific
> > > > > implementations are moved into hdcp_shim.
> > > > >
> > > > > Intel HWs supports HDCP2.2 through ME FW. Hence this series
> > > > > introduces a client driver for mei bus, so that for HDCP2.2
> > > > > authentication,
> > > > > HDCP2.2 stack in I915 can avail the services from ME FW. To
> > > > > enable this client driver set the config variable
> CONFIG_INTEL_MEI_HDCP.
> > > > >
> > > > > Userspace interface remains unchanged as version agnostic. When
> > > > > userspace request for HDCP enable, Kernel will detect the HDCP
> > > > > source and sink's HDCP version(1.4/2.2)capability and enable the
> > > > > best capable version for that combination.
> > > > >
> > > > > This series enables the HDCP2.2 for Type0 content streams.
> > > > >
> > > > > Test-with:
> > > > > <1549566452-30175-1-git-send-email-ramalingam.c@intel.com>
> > > > > So that CP will be tested on BAT machine too.
> > > > >
> > > > > Major changes in v15
> > > > >    - All I915 patches are merged. So dropping them.
> > > > >    - Few minor suggestions are incorporated at mei changes.
> > > > >
> > > > > To ease the review process, series is hosted at
> > > > > https://github.com/ramalingampc2008/drm-tip.git hdcp2_2_v15
> > > > >
> > > > > Ramalingam C (15):
> > > > >    misc/mei/hdcp: Client driver for HDCP application
> > > > >    misc/mei/hdcp: Define ME FW interface for HDCP2.2
> > > > >    misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session
> > > > >    misc/mei/hdcp: Verify Receiver Cert and prepare km
> > > > >    misc/mei/hdcp: Verify H_prime
> > > > >    misc/mei/hdcp: Store the HDCP Pairing info
> > > > >    misc/mei/hdcp: Initiate Locality check
> > > > >    misc/mei/hdcp: Verify L_prime
> > > > >    misc/mei/hdcp: Prepare Session Key
> > > > >    misc/mei/hdcp: Repeater topology verification and ack
> > > > >    misc/mei/hdcp: Verify M_prime
> > > > >    misc/mei/hdcp: Enabling the HDCP authentication
> > > > >    misc/mei/hdcp: Closing wired HDCP2.2 Tx Session
> > > > >    misc/mei/hdcp: Component framework for I915 Interface
> > > > >    FOR_TEST_ONLY: i915/Kconfig: Select mei_hdcp by I915
> > > > >
> > > > > Tomas Winkler (1):
> > > > >    mei: bus: whitelist hdcp client
> > > > >
> > > > >   drivers/misc/mei/Kconfig         |  11 +
> > > > >   drivers/misc/mei/Makefile        |   2 +
> > > > >   drivers/misc/mei/bus-fixup.c     |  16 +
> > > > >   drivers/misc/mei/hdcp/Makefile   |   7 +
> > > > >   drivers/misc/mei/hdcp/mei_hdcp.c | 849
> > > > +++++++++++++++++++++++++++++++++++++++
> > > > >   drivers/misc/mei/hdcp/mei_hdcp.h | 377 +++++++++++++++++
> > > > >   6 files changed, 1262 insertions(+)
> > > > >   create mode 100644 drivers/misc/mei/hdcp/Makefile
> > > > >   create mode 100644 drivers/misc/mei/hdcp/mei_hdcp.c
> > > > >   create mode 100644 drivers/misc/mei/hdcp/mei_hdcp.h
> > > > >
> >
> 
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH v15 00/16] drm/i915: Implement HDCP2.2
  2019-02-25 15:13         ` Winkler, Tomas
@ 2019-02-25 17:54           ` Daniel Vetter
  0 siblings, 0 replies; 34+ messages in thread
From: Daniel Vetter @ 2019-02-25 17:54 UTC (permalink / raw)
  To: Winkler, Tomas; +Cc: intel-gfx, dri-devel, daniel.vetter

On Mon, Feb 25, 2019 at 03:13:04PM +0000, Winkler, Tomas wrote:
> > On Mon, Feb 25, 2019 at 05:12:09AM +0000, C, Ramalingam wrote:
> > > Tomas,
> > >
> > > Lkp issue is complaining about the header
> > > drm/i915_mei_hdcp_interface.h, Which is already merged in drm-tip
> > > through below commit. So don’t think this is a genuine issue. May be
> > > this build was tried in different tree, where this commit is not added yet?
> > 
> > Yeah our topic trees aren't pushed into linux-next, 0day can't find them.
> > Usually it will then fail to apply (and in that case it doesn't complain), but it
> > does complain if everything applies but doesn't build.
> > -Daniel
> > 
> > >
> > > commit 1626eab70ebc61d015e69a4bc3479d9228539343
> > > Author: Ramalingam C <ramalingam.c@intel.com>
> > > Date:   Fri Feb 15 14:04:58 2019 +0530
> > >
> > >     drm/i915: header for i915 - MEI_HDCP interface
> > >
> > > v15 is now part of github.
> 
> I'm okay to go with this.

Ok, merged all the 15 patches into a topic branch. Assuming nothing goes
wrong I'll send a pull to Greg tomorrow. And then it's up to him to take
it for 5.1 or delay for 5.2.

Thanks a lot for patches&review.
-Daniel

> Thanks
> Tomas
> 
> > >
> > > Best Regards,
> > > Ramalingam C
> > >
> > >
> > > > -----Original Message-----
> > > > From: Winkler, Tomas
> > > > Sent: Monday, February 25, 2019 1:45 AM
> > > > To: C, Ramalingam <ramalingam.c@intel.com>;
> > > > intel-gfx@lists.freedesktop.org; dri-devel@lists.freedesktop.org;
> > > > daniel.vetter@ffwll.ch; Shankar, Uma <uma.shankar@intel.com>
> > > > Subject: RE: [PATCH v15 00/16] drm/i915: Implement HDCP2.2
> > > >
> > > > Have you fixed the lkp issue?
> > > > I didn't see you pushed the code to github.
> > > > Thanks
> > > >
> > > >
> > > > > -----Original Message-----
> > > > > From: C, Ramalingam
> > > > > Sent: Sunday, February 24, 2019 18:33
> > > > > To: intel-gfx@lists.freedesktop.org;
> > > > > dri-devel@lists.freedesktop.org; daniel.vetter@ffwll.ch; Winkler,
> > > > > Tomas <tomas.winkler@intel.com>; Shankar, Uma
> > > > > <uma.shankar@intel.com>
> > > > > Subject: Re: [PATCH v15 00/16] drm/i915: Implement HDCP2.2
> > > > >
> > > > > Tomas,
> > > > >
> > > > > Could you please help to review and give final "Go" for the series?
> > > > >
> > > > > Thanks
> > > > > --Ram.
> > > > >
> > > > > On 2/21/2019 11:41 PM, Ramalingam C wrote:
> > > > > > This series enables the HDCP2.2 Type 0 for I915. The sequence
> > > > > > for
> > > > > > HDCP2.2 authentication and encryption is implemented as a
> > > > > > generic flow between HDMI and DP. Encoder specific
> > > > > > implementations are moved into hdcp_shim.
> > > > > >
> > > > > > Intel HWs supports HDCP2.2 through ME FW. Hence this series
> > > > > > introduces a client driver for mei bus, so that for HDCP2.2
> > > > > > authentication,
> > > > > > HDCP2.2 stack in I915 can avail the services from ME FW. To
> > > > > > enable this client driver set the config variable
> > CONFIG_INTEL_MEI_HDCP.
> > > > > >
> > > > > > Userspace interface remains unchanged as version agnostic. When
> > > > > > userspace request for HDCP enable, Kernel will detect the HDCP
> > > > > > source and sink's HDCP version(1.4/2.2)capability and enable the
> > > > > > best capable version for that combination.
> > > > > >
> > > > > > This series enables the HDCP2.2 for Type0 content streams.
> > > > > >
> > > > > > Test-with:
> > > > > > <1549566452-30175-1-git-send-email-ramalingam.c@intel.com>
> > > > > > So that CP will be tested on BAT machine too.
> > > > > >
> > > > > > Major changes in v15
> > > > > >    - All I915 patches are merged. So dropping them.
> > > > > >    - Few minor suggestions are incorporated at mei changes.
> > > > > >
> > > > > > To ease the review process, series is hosted at
> > > > > > https://github.com/ramalingampc2008/drm-tip.git hdcp2_2_v15
> > > > > >
> > > > > > Ramalingam C (15):
> > > > > >    misc/mei/hdcp: Client driver for HDCP application
> > > > > >    misc/mei/hdcp: Define ME FW interface for HDCP2.2
> > > > > >    misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session
> > > > > >    misc/mei/hdcp: Verify Receiver Cert and prepare km
> > > > > >    misc/mei/hdcp: Verify H_prime
> > > > > >    misc/mei/hdcp: Store the HDCP Pairing info
> > > > > >    misc/mei/hdcp: Initiate Locality check
> > > > > >    misc/mei/hdcp: Verify L_prime
> > > > > >    misc/mei/hdcp: Prepare Session Key
> > > > > >    misc/mei/hdcp: Repeater topology verification and ack
> > > > > >    misc/mei/hdcp: Verify M_prime
> > > > > >    misc/mei/hdcp: Enabling the HDCP authentication
> > > > > >    misc/mei/hdcp: Closing wired HDCP2.2 Tx Session
> > > > > >    misc/mei/hdcp: Component framework for I915 Interface
> > > > > >    FOR_TEST_ONLY: i915/Kconfig: Select mei_hdcp by I915
> > > > > >
> > > > > > Tomas Winkler (1):
> > > > > >    mei: bus: whitelist hdcp client
> > > > > >
> > > > > >   drivers/misc/mei/Kconfig         |  11 +
> > > > > >   drivers/misc/mei/Makefile        |   2 +
> > > > > >   drivers/misc/mei/bus-fixup.c     |  16 +
> > > > > >   drivers/misc/mei/hdcp/Makefile   |   7 +
> > > > > >   drivers/misc/mei/hdcp/mei_hdcp.c | 849
> > > > > +++++++++++++++++++++++++++++++++++++++
> > > > > >   drivers/misc/mei/hdcp/mei_hdcp.h | 377 +++++++++++++++++
> > > > > >   6 files changed, 1262 insertions(+)
> > > > > >   create mode 100644 drivers/misc/mei/hdcp/Makefile
> > > > > >   create mode 100644 drivers/misc/mei/hdcp/mei_hdcp.c
> > > > > >   create mode 100644 drivers/misc/mei/hdcp/mei_hdcp.h
> > > > > >
> > >
> > 
> > --
> > Daniel Vetter
> > Software Engineer, Intel Corporation
> > http://blog.ffwll.ch

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 34+ messages in thread

* ✗ Fi.CI.BAT: failure for drm/i915: Implement HDCP2.2
  2019-02-15  8:34 [PATCH v14 00/35] " Ramalingam C
@ 2019-02-16 21:07 ` Patchwork
  0 siblings, 0 replies; 34+ messages in thread
From: Patchwork @ 2019-02-16 21:07 UTC (permalink / raw)
  To: intel-gfx

== Series Details ==

Series: drm/i915: Implement HDCP2.2
URL   : https://patchwork.freedesktop.org/series/56709/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_5615 -> Patchwork_12238
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_12238 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_12238, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/56709/revisions/1/mbox/

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_12238:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_module_load@reload-with-fault-injection:
    - fi-skl-6770hq:      PASS -> DMESG-WARN +2

  
Known issues
------------

  Here are the changes found in Patchwork_12238 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live_evict:
    - fi-bsw-kefka:       PASS -> DMESG-WARN [fdo#107709]

  * igt@kms_chamelium@dp-hpd-fast:
    - fi-kbl-7500u:       PASS -> DMESG-WARN [fdo#102505] / [fdo#103558] / [fdo#105602]

  * igt@kms_content_protection@legacy:
    - fi-skl-6770hq:      NOTRUN -> FAIL [fdo#108597]
    - fi-cfl-8109u:       NOTRUN -> FAIL [fdo#108739] +1

  * igt@kms_pipe_crc_basic@bad-source:
    - fi-skl-6770hq:      PASS -> DMESG-WARN [fdo#108833]

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - fi-byt-clapper:     PASS -> FAIL [fdo#103191] / [fdo#107362] +1

  
#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s3:
    - fi-blb-e6850:       INCOMPLETE [fdo#107718] -> PASS

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-b:
    - fi-byt-clapper:     FAIL [fdo#103191] / [fdo#107362] -> PASS

  * igt@kms_pipe_crc_basic@read-crc-pipe-a:
    - fi-byt-clapper:     FAIL [fdo#107362] -> PASS

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#102505]: https://bugs.freedesktop.org/show_bug.cgi?id=102505
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#103558]: https://bugs.freedesktop.org/show_bug.cgi?id=103558
  [fdo#105602]: https://bugs.freedesktop.org/show_bug.cgi?id=105602
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#107709]: https://bugs.freedesktop.org/show_bug.cgi?id=107709
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108597]: https://bugs.freedesktop.org/show_bug.cgi?id=108597
  [fdo#108739]: https://bugs.freedesktop.org/show_bug.cgi?id=108739
  [fdo#108833]: https://bugs.freedesktop.org/show_bug.cgi?id=108833
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278


Participating hosts (43 -> 35)
------------------------------

  Missing    (8): fi-kbl-soraka fi-skl-gvtdvm fi-byt-j1900 fi-byt-squawks fi-bsw-cyan fi-apl-guc fi-icl-y fi-snb-2600 


Build changes
-------------

    * IGT: IGT_4833 -> IGTPW_2356
    * Linux: CI_DRM_5615 -> Patchwork_12238

  CI_DRM_5615: a6e4cbf00557faf0c2d68fdff81b1afb9242aa4d @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2356: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2356/
  IGT_4833: 7802324e86ddf947cba847e910f75b1a8affe8d7 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12238: e74811c5d1dd68b20bf6f275f8c54213b28ce25b @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

e74811c5d1dd FOR_TEST_ONLY: i915/Kconfig: Select mei_hdcp by I915
c096b09c955c misc/mei/hdcp: Component framework for I915 Interface
c66270cd55b4 misc/mei/hdcp: Closing wired HDCP2.2 Tx Session
49b4317edb2b misc/mei/hdcp: Enabling the HDCP authentication
eb9e0fdc8273 misc/mei/hdcp: Verify M_prime
cee64cee180c misc/mei/hdcp: Repeater topology verification and ack
e6a19a2c38ad misc/mei/hdcp: Prepare Session Key
f33b9aa5683e misc/mei/hdcp: Verify L_prime
59f1bd47b7a4 misc/mei/hdcp: Initiate Locality check
f239e14d4092 misc/mei/hdcp: Store the HDCP Pairing info
e1cb8a4b07d4 misc/mei/hdcp: Verify H_prime
84915fdc77fc misc/mei/hdcp: Verify Receiver Cert and prepare km
1715710942d5 misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session
744392ef0c89 misc/mei/hdcp: Define ME FW interface for HDCP2.2
ab439687f1c5 misc/mei/hdcp: Client driver for HDCP application
ad892ad8031c mei: bus: export to_mei_cl_device for mei client device drivers
cceb02eb73cc mei: bus: whitelist hdcp client
d024861aee9a drm/i915: Fix KBL HDCP2.2 encrypt status signalling
1a9cb4c8017d drm/i915: CP_IRQ handling for DP HDCP2.2 msgs
5035b873ac1d drm/i915: Implement the HDCP2.2 support for HDMI
154d7b7550f3 drm/i915: Implement the HDCP2.2 support for DP
f2c0b243d6b8 drm: removing the DP Errata msg and its msg id
768aec01891d drm/i915: Handle HDCP2.2 downstream topology change
b2f6dbfe1487 drm/i915: Implement HDCP2.2 link integrity check
94e8b241a3ef drm: HDCP2.2 link check period
31f14b086bec drm/i915: Implement HDCP2.2 repeater authentication
a9f9c6915dd2 drm/i915: Implement HDCP2.2 receiver authentication
7ac1afbb6240 drm/i915: Enable and Disable of HDCP2.2
f7cf8628f53a drm/i915: hdcp1.4 CP_IRQ handling and SW encryption tracking
c09684499ff1 drm/i915: MEI interface definition
5be91322642e drm/i915: Initialize HDCP2.2
f4ecc0d8796a drm/i915: Gathering the HDCP1.4 routines together

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12238/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 34+ messages in thread

* ✗ Fi.CI.BAT: failure for drm/i915: Implement HDCP2.2
  2019-02-15 20:50 [PATCH v14 00/32] drm/i915: Implement HDCP2.2 Ramalingam C
@ 2019-02-15 23:30 ` Patchwork
  0 siblings, 0 replies; 34+ messages in thread
From: Patchwork @ 2019-02-15 23:30 UTC (permalink / raw)
  To: intel-gfx

== Series Details ==

Series: drm/i915: Implement HDCP2.2
URL   : https://patchwork.freedesktop.org/series/56757/
State : failure

== Summary ==

CALL    scripts/checksyscalls.sh
  DESCEND  objtool
  CHK     include/generated/compile.h
  CC [M]  drivers/gpu/drm/i915/intel_hdcp.o
In file included from ./include/drm/i915_component.h:27:0,
                 from drivers/gpu/drm/i915/intel_hdcp.c:10:
./include/drm/drm_audio_component.h:25:36: error: ‘struct device’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  unsigned long (*get_power)(struct device *);
                                    ^~~~~~
./include/drm/drm_audio_component.h:31:27: error: ‘struct device’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  void (*put_power)(struct device *, unsigned long);
                           ^~~~~~
./include/drm/drm_audio_component.h:35:37: error: ‘struct device’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  void (*codec_wake_override)(struct device *, bool enable);
                                     ^~~~~~
./include/drm/drm_audio_component.h:39:31: error: ‘struct device’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  int (*get_cdclk_freq)(struct device *);
                               ^~~~~~
./include/drm/drm_audio_component.h:46:32: error: ‘struct device’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  int (*sync_audio_rate)(struct device *, int port, int pipe, int rate);
                                ^~~~~~
./include/drm/drm_audio_component.h:59:24: error: ‘struct device’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  int (*get_eld)(struct device *, int port, int pipe, bool *enabled,
                        ^~~~~~
./include/drm/drm_audio_component.h:93:28: error: ‘struct device’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  int (*master_bind)(struct device *dev, struct drm_audio_component *);
                            ^~~~~~
./include/drm/drm_audio_component.h:100:31: error: ‘struct device’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  void (*master_unbind)(struct device *dev, struct drm_audio_component *);
                               ^~~~~~
cc1: all warnings being treated as errors
scripts/Makefile.build:276: recipe for target 'drivers/gpu/drm/i915/intel_hdcp.o' failed
make[4]: *** [drivers/gpu/drm/i915/intel_hdcp.o] Error 1
scripts/Makefile.build:492: recipe for target 'drivers/gpu/drm/i915' failed
make[3]: *** [drivers/gpu/drm/i915] Error 2
scripts/Makefile.build:492: recipe for target 'drivers/gpu/drm' failed
make[2]: *** [drivers/gpu/drm] Error 2
scripts/Makefile.build:492: recipe for target 'drivers/gpu' failed
make[1]: *** [drivers/gpu] Error 2
Makefile:1043: recipe for target 'drivers' failed
make: *** [drivers] Error 2

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 34+ messages in thread

* ✗ Fi.CI.BAT: failure for drm/i915: Implement HDCP2.2
  2018-02-14 14:13 [PATCH 00/43] " Ramalingam C
@ 2018-02-14 15:20 ` Patchwork
  0 siblings, 0 replies; 34+ messages in thread
From: Patchwork @ 2018-02-14 15:20 UTC (permalink / raw)
  To: Ramalingam C; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Implement HDCP2.2
URL   : https://patchwork.freedesktop.org/series/38254/
State : failure

== Summary ==

Series 38254v1 drm/i915: Implement HDCP2.2
https://patchwork.freedesktop.org/api/1.0/series/38254/revisions/1/mbox/

Warning: Kernel 32bit buildtest failed
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_8020/build_32bit.log

Test prime_vgem:
        Subgroup basic-fence-flip:
                pass       -> FAIL       (fi-ivb-3770)

fi-bdw-5557u     total:288  pass:267  dwarn:0   dfail:0   fail:0   skip:21  time:421s
fi-bdw-gvtdvm    total:288  pass:264  dwarn:0   dfail:0   fail:0   skip:24  time:426s
fi-blb-e6850     total:288  pass:223  dwarn:1   dfail:0   fail:0   skip:64  time:374s
fi-bsw-n3050     total:288  pass:242  dwarn:0   dfail:0   fail:0   skip:46  time:481s
fi-bwr-2160      total:288  pass:183  dwarn:0   dfail:0   fail:0   skip:105 time:286s
fi-bxt-j4205     total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  time:483s
fi-byt-j1900     total:288  pass:253  dwarn:0   dfail:0   fail:0   skip:35  time:468s
fi-byt-n2820     total:288  pass:249  dwarn:0   dfail:0   fail:0   skip:39  time:460s
fi-cfl-s2        total:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  time:569s
fi-cnl-y3        total:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  time:575s
fi-elk-e7500     total:288  pass:229  dwarn:0   dfail:0   fail:0   skip:59  time:416s
fi-gdg-551       total:288  pass:179  dwarn:0   dfail:0   fail:1   skip:108 time:283s
fi-glk-1         total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  time:508s
fi-hsw-4770      total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:393s
fi-ilk-650       total:288  pass:228  dwarn:0   dfail:0   fail:0   skip:60  time:408s
fi-ivb-3520m     total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  time:460s
fi-ivb-3770      total:288  pass:254  dwarn:0   dfail:0   fail:1   skip:33  time:414s
fi-kbl-7500u     total:288  pass:263  dwarn:1   dfail:0   fail:0   skip:24  time:466s
fi-kbl-7560u     total:288  pass:269  dwarn:0   dfail:0   fail:0   skip:19  time:496s
fi-kbl-r         total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:498s
fi-pnv-d510      total:288  pass:222  dwarn:1   dfail:0   fail:0   skip:65  time:591s
fi-skl-6260u     total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  time:425s
fi-skl-6600u     total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:502s
fi-skl-6700hq    total:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  time:526s
fi-skl-6770hq    total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  time:475s
fi-skl-guc       total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  time:415s
fi-skl-gvtdvm    total:288  pass:265  dwarn:0   dfail:0   fail:0   skip:23  time:433s
fi-snb-2520m     total:288  pass:248  dwarn:0   dfail:0   fail:0   skip:40  time:531s
fi-snb-2600      total:288  pass:248  dwarn:0   dfail:0   fail:0   skip:40  time:396s
Blacklisted hosts:
fi-glk-dsi       total:117  pass:104  dwarn:0   dfail:0   fail:0   skip:12 
fi-kbl-7567u     total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  time:455s

8ee739e0bcde50bd5ce8d40d57a1a146e167756d drm-tip: 2018y-02m-14d-13h-29m-07s UTC integration manifest
5861779e9c77 drm/i915: Invoke check link on CP_IRQ of DP
58bfa8db9fc1 drm/i915: Add HDCP2.2 support for HDMI connectors
b6591b246d17 drm/i915: Add HDCP2.2 support for DP connectors
5881b526e56b drm/i915: Implement the HDCP2.2 support for HDMI
c96813667cb3 drm/i915: Implement the HDCP2.2 support for DP
1a0379398cba drm/i915: Implement gmbus burst read
971feef04aa9 drm/i915: Initialize HDCP2.2 and its MEI interface
4d312fa8cd5d drm/i915: Enable HDCP1.4 incase of HDCP2.2 failure
2bd224c8c6fb drm/i915: Enable HDCP version that is best capable
0b3cd631abdb drm/i915: Pullout the bksv read and validation
62725e6f987e drm/i915: Handle HDCP2.2 downstream topology change
d836b690d159 drm/i915: Implement HDCP2.2 link integrity check
c88ffb1709ab drm/i915: Implement HDCP2.2 En/Dis-able
437465874f5c drm/i915: Enable and Disable HDCP2.2 port encryption
d1815daf31b6 drm/i915: Implement HDCP2.2 repeater authentication
58537bfc577f drm/i915: Implement HDCP2.2 receiver authentication
13fc3345b736 drm/i915: Wrappers for mei HDCP2.2 services
84cb7e6697af drm/i915: Define Intel HDCP2.2 registers
cc0288bf486c drm/i915: Define HDCP2.2 related variables
50ed77735dca drm/i915: wait for cp_irq
545ca59b5352 drm/i915: wrapping all hdcp var into intel_hdcp
5b37fb6fbbd5 drm/i915: Async execution of hdcp authentication
14071a5ac502 misc/mei/hdcp: Closing wired HDCP2.2 Tx Session
71bdfa1c451c misc/mei/hdcp: Enabling the HDCP authentication
5d658c67aff6 misc/mei/hdcp: Verify M_prime
241758068d42 misc/mei/hdcp: Repeater topology verifcation and ack
c8237dc86040 misc/mei/hdcp: Prepare Session Key
5be0d5e5532e misc/mei/hdcp: Verify L_prime
8ec87cbd6a8e misc/mei/hdcp: Initiate Locality check
95ee2b2ff838 misc/mei/hdcp: Store the HDCP Pairing info
baa2ef6c2ae8 misc/mei/hdcp: Verify H_prime
dcf38a21f754 misc/mei/hdcp: Verify Receiver Cert and prepare km
e4285cab5df4 misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session
721f27c37de4 linux/mei: Header for mei_hdcp driver interface
ef20982b92c8 misc/mei/hdcp: Define ME FW interface for HDCP2.2
83915af0e87e misc/mei/hdcp: Get & Put for mei cl_device
53619c62c9a4 misc/mei/hdcp: Verify mei client device status
40a7bcdc33f5 misc/mei/hdcp: Add KBuild for mei hdcp driver
720b23af0b72 misc/mei/hdcp: Client driver for HDCP application
d357ae57a883 mei: me: add gemini lake devices ids
a5578ed4a012 mei: bus: whitelist hdcp client
3b68aa846b62 drm: HDMI and DP specific HDCP2.2 defines
f736f4ccc6d7 drm: hdcp2.2 authentication msg definitions

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_8020/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2019-02-25 17:54 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-21 18:11 [PATCH v15 00/16] drm/i915: Implement HDCP2.2 Ramalingam C
2019-02-21 18:11 ` [PATCH v15 01/16] mei: bus: whitelist hdcp client Ramalingam C
2019-02-21 18:11 ` [PATCH v15 02/16] misc/mei/hdcp: Client driver for HDCP application Ramalingam C
2019-02-21 18:11 ` [PATCH v15 03/16] misc/mei/hdcp: Define ME FW interface for HDCP2.2 Ramalingam C
2019-02-21 18:11 ` [PATCH v15 04/16] misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session Ramalingam C
2019-02-23  0:34   ` kbuild test robot
2019-02-21 18:11 ` [PATCH v15 05/16] misc/mei/hdcp: Verify Receiver Cert and prepare km Ramalingam C
2019-02-21 18:12 ` [PATCH v15 06/16] misc/mei/hdcp: Verify H_prime Ramalingam C
2019-02-21 18:12 ` [PATCH v15 07/16] misc/mei/hdcp: Store the HDCP Pairing info Ramalingam C
2019-02-21 18:12 ` [PATCH v15 08/16] misc/mei/hdcp: Initiate Locality check Ramalingam C
2019-02-21 18:12 ` [PATCH v15 09/16] misc/mei/hdcp: Verify L_prime Ramalingam C
2019-02-21 18:12 ` [PATCH v15 10/16] misc/mei/hdcp: Prepare Session Key Ramalingam C
2019-02-21 18:12 ` [PATCH v15 11/16] misc/mei/hdcp: Repeater topology verification and ack Ramalingam C
2019-02-21 18:12 ` [PATCH v15 12/16] misc/mei/hdcp: Verify M_prime Ramalingam C
2019-02-21 18:12 ` [PATCH v15 13/16] misc/mei/hdcp: Enabling the HDCP authentication Ramalingam C
2019-02-21 18:12 ` [PATCH v15 14/16] misc/mei/hdcp: Closing wired HDCP2.2 Tx Session Ramalingam C
2019-02-21 18:12 ` [PATCH v15 15/16] misc/mei/hdcp: Component framework for I915 Interface Ramalingam C
2019-02-21 18:12 ` [PATCH v15 16/16] FOR_TEST_ONLY: i915/Kconfig: Select mei_hdcp by I915 Ramalingam C
2019-02-21 18:26 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Implement HDCP2.2 Patchwork
2019-02-21 18:29 ` ✗ Fi.CI.SPARSE: " Patchwork
2019-02-21 19:05 ` ✗ Fi.CI.BAT: failure " Patchwork
2019-02-24 16:33 ` [PATCH v15 00/16] " C, Ramalingam
2019-02-24 20:14   ` Winkler, Tomas
2019-02-25  5:12     ` C, Ramalingam
2019-02-25  8:18       ` Daniel Vetter
2019-02-25 15:13         ` Winkler, Tomas
2019-02-25 17:54           ` Daniel Vetter
2019-02-25  9:01 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Implement HDCP2.2 (rev2) Patchwork
2019-02-25  9:04 ` ✗ Fi.CI.SPARSE: " Patchwork
2019-02-25  9:25 ` ✓ Fi.CI.BAT: success " Patchwork
2019-02-25 11:11 ` ✓ Fi.CI.IGT: " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2019-02-15 20:50 [PATCH v14 00/32] drm/i915: Implement HDCP2.2 Ramalingam C
2019-02-15 23:30 ` ✗ Fi.CI.BAT: failure for " Patchwork
2019-02-15  8:34 [PATCH v14 00/35] " Ramalingam C
2019-02-16 21:07 ` ✗ Fi.CI.BAT: failure for " Patchwork
2018-02-14 14:13 [PATCH 00/43] " Ramalingam C
2018-02-14 15:20 ` ✗ Fi.CI.BAT: failure for " Patchwork

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.