HDMI: modify callback and events for HDCP 2nd auth.
authorZheng Yang <zhengyang@rock-chips.com>
Tue, 23 Jun 2015 08:48:52 +0000 (16:48 +0800)
committerZheng Yang <zhengyang@rock-chips.com>
Tue, 23 Jun 2015 08:48:52 +0000 (16:48 +0800)
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
drivers/video/rockchip/hdmi/rockchip-hdmi-core.c
drivers/video/rockchip/hdmi/rockchip-hdmi.h

index 74a81483c032e971bedecd2f29fd5d0ed146041c..1844372c25145872336d38af170058e11965846d 100644 (file)
@@ -235,8 +235,7 @@ static void hdmi_wq_insert(struct hdmi *hdmi)
                #endif
                hdmi_wq_set_audio(hdmi);
                hdmi_wq_set_output(hdmi, hdmi->mute);
-               if (hdmi->ops->hdcp_cb)
-                       hdmi->ops->hdcp_cb(hdmi);
+               hdmi_submit_work(hdmi, HDMI_ENABLE_HDCP, 100, NULL);
                if (hdmi->ops->setcec)
                        hdmi->ops->setcec(hdmi);
        }
@@ -409,6 +408,11 @@ static void hdmi_work_queue(struct work_struct *work)
                if (hdmi->hotplug == HDMI_HPD_ACTIVED && hdmi->ops->hdcp_cb)
                        hdmi->ops->hdcp_cb(hdmi);
                break;
+       case HDMI_HDCP_AUTH_2ND:
+               if (hdmi->hotplug == HDMI_HPD_ACTIVED &&
+                   hdmi->ops->hdcp_auth2nd)
+                       hdmi->ops->hdcp_auth2nd(hdmi);
+               break;
        default:
                pr_err("HDMI: hdmi_work_queue() unkown event\n");
                break;
index 0f16d43ea779b0f19c3688fd7e6890cd9284d3b3..db9b651f8c2b53dd54877f618071eb3d74232612 100644 (file)
@@ -317,9 +317,10 @@ struct hdmi_ops {
        int (*setcec)(struct hdmi *);
        /* call back for hdcp operatoion */
        void (*hdcp_cb)(struct hdmi *);
+       void (*hdcp_auth2nd)(struct hdmi *);
        void (*hdcp_irq_cb)(int);
        int (*hdcp_power_on_cb)(void);
-       void (*hdcp_power_off_cb)(void);
+       void (*hdcp_power_off_cb)(struct hdmi *);
 };
 
 enum rk_hdmi_feature {
@@ -447,6 +448,7 @@ struct hdmi {
 #define HDMI_UNMUTE_AUDIO              (HDMI_SYSFS_SRC         | 9)
 #define HDMI_SET_COLOR                 (HDMI_SYSFS_SRC         | 10)
 #define HDMI_ENABLE_HDCP               (HDMI_SYSFS_SRC         | 11)
+#define HDMI_HDCP_AUTH_2ND             (HDMI_IRQ_SRC           | 12)
 
 #define HDMI_DEFAULT_SCALE             95
 #define HDMI_AUTO_CONFIG               false