mei: bus: whitelist hdcp client
authorTomas Winkler <tomas.winkler@intel.com>
Thu, 21 Feb 2019 18:11:55 +0000 (23:41 +0530)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 25 Feb 2019 16:01:11 +0000 (17:01 +0100)
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>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/1550772730-23280-2-git-send-email-ramalingam.c@intel.com
drivers/misc/mei/bus-fixup.c

index 80215c312f0e8d538dc92344a8c00b8719e5e0ee..5fcac02233af9d961444b79cea043a49cdb6871d 100644 (file)
@@ -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),
 };
 
 /**