From 90e99a4c359e2609512feb7433670b10815593b4 Mon Sep 17 00:00:00 2001 From: Zheng Yang Date: Tue, 23 Jun 2015 16:48:52 +0800 Subject: [PATCH] HDMI: modify callback and events for HDCP 2nd auth. Signed-off-by: Zheng Yang --- drivers/video/rockchip/hdmi/rockchip-hdmi-core.c | 8 ++++++-- drivers/video/rockchip/hdmi/rockchip-hdmi.h | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmi-core.c b/drivers/video/rockchip/hdmi/rockchip-hdmi-core.c index 74a81483c032..1844372c2514 100644 --- a/drivers/video/rockchip/hdmi/rockchip-hdmi-core.c +++ b/drivers/video/rockchip/hdmi/rockchip-hdmi-core.c @@ -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; diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmi.h b/drivers/video/rockchip/hdmi/rockchip-hdmi.h index 0f16d43ea779..db9b651f8c2b 100644 --- a/drivers/video/rockchip/hdmi/rockchip-hdmi.h +++ b/drivers/video/rockchip/hdmi/rockchip-hdmi.h @@ -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 -- 2.34.1