RE: [PATCH v3 04/40] misc/mei/hdcp: Client driver for HDCP application

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




>-----Original Message-----
>From: dri-devel [mailto:dri-devel-bounces@xxxxxxxxxxxxxxxxxxxxx] On Behalf Of
>Ramalingam C
>Sent: Tuesday, April 3, 2018 7:27 PM
>To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx; dri-devel@xxxxxxxxxxxxxxxxxxxxx;
>seanpaul@xxxxxxxxxxxx; daniel@xxxxxxxx; chris@xxxxxxxxxxxxxxxxxx;
>jani.nikula@xxxxxxxxxxxxxxx; Winkler, Tomas <tomas.winkler@xxxxxxxxx>;
>Usyskin, Alexander <alexander.usyskin@xxxxxxxxx>
>Cc: Vivi, Rodrigo <rodrigo.vivi@xxxxxxxxx>
>Subject: [PATCH v3 04/40] misc/mei/hdcp: Client driver for HDCP application
>
>ME FW is contributes a vital role in HDCP2.2 authentication.

Remove "is".

>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

Drop "and HDCP2.2" here.

>spec. With such parameter Driver prepares HDCP2.2 auth messages and
>communicate with HDCP2.2 sink.
>
>Similarly HDCP2. sink's response is shared with ME FW for decrypt and

Drop "HDCP2.". Its implicit, no need to call multiple times.

>verification.
>
>Once All the steps of HDCP2.2 authentications are complete on driver's request

Change "All to all". Drop "s" from authentication. Add a "," after complete.

>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]
>
>Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx>
>Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx>
>---
> drivers/misc/mei/Kconfig         |  6 ++++
> drivers/misc/mei/Makefile        |  2 ++
> drivers/misc/mei/hdcp/Makefile   |  6 ++++
> drivers/misc/mei/hdcp/mei_hdcp.c | 74
>++++++++++++++++++++++++++++++++++++++++
> 4 files changed, 88 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..90977132d1e2 100644
>--- a/drivers/misc/mei/Kconfig
>+++ b/drivers/misc/mei/Kconfig
>@@ -43,3 +43,9 @@ config INTEL_MEI_TXE
>
> 	  Supported SoCs:
> 	  Intel Bay Trail
>+
>+config INTEL_MEI_HDCP
>+	tristate "Intel HDCP2.2 services of ME Interface"
>+	depends on INTEL_MEI && DRM_I915
>+	help
>+	  MEI Support for HDCP2.2 Services on Intel SoCs.
>diff --git a/drivers/misc/mei/Makefile b/drivers/misc/mei/Makefile index
>cd6825afa8e1..e64d1212fb85 100644
>--- a/drivers/misc/mei/Makefile
>+++ b/drivers/misc/mei/Makefile
>@@ -23,3 +23,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..75ac50203223
>--- /dev/null
>+++ b/drivers/misc/mei/hdcp/Makefile
>@@ -0,0 +1,6 @@
>+# SPDX-License-Identifier: GPL-2.0
>+#
>+# Makefile - HDCP client driver for Intel MEI Bus Driver.
>+# Copyright (c) 2010-2014, Intel Corporation.
>+#
>+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..b334615728a7
>--- /dev/null
>+++ b/drivers/misc/mei/hdcp/mei_hdcp.c
>@@ -0,0 +1,74 @@
>+/* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */
>+/*
>+ * Copyright © 2017-2018 Intel Corporation
>+ *
>+ * Mei_hdcp.c: HDCP client driver for mei bus
>+ *
>+ * Permission is hereby granted, free of charge, to any person
>+obtaining a
>+ * copy of this software and associated documentation files (the
>+"Software"),
>+ * to deal in the Software without restriction, including without
>+limitation
>+ * the rights to use, copy, modify, merge, publish, distribute,
>+sublicense,
>+ * and/or sell copies of the Software, and to permit persons to whom
>+the
>+ * Software is furnished to do so, subject to the following conditions:
>+ *
>+ * The above copyright notice and this permission notice (including the
>+next
>+ * paragraph) shall be included in all copies or substantial portions
>+of the
>+ * Software.
>+ *
>+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
>+EXPRESS OR
>+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>+MERCHANTABILITY,
>+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO
>EVENT
>+SHALL
>+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
>DAMAGES OR
>+OTHER
>+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
>+ARISING
>+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
>OTHER
>+ * DEALINGS IN THE SOFTWARE.
>+ *
>+ * Authors:
>+ *	Ramalingam C <ramalingam.c@xxxxxxxxx>
>+ */
>+
>+#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) {
>+	mei_cldev_set_drvdata(cldev, NULL);
>+	return mei_cldev_disable(cldev);
>+}
>+
>+#define MEI_UUID_HDCP		UUID_LE(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("Dual BSD/GPL");
>+MODULE_DESCRIPTION("HDCP");
>--
>2.7.4
>
>_______________________________________________
>dri-devel mailing list
>dri-devel@xxxxxxxxxxxxxxxxxxxxx
>https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux