From: Zheng Yang Date: Thu, 18 Feb 2016 02:08:58 +0000 (+0800) Subject: video: rockchip: hdmi: delete cec grf register operation X-Git-Tag: firefly_0821_release~642 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=5bbc1f6637cc83a39eda894a92158a08ac51cee3;p=firefly-linux-kernel-4.4.55.git video: rockchip: hdmi: delete cec grf register operation CEC GRF register can be replaced by hdmi cec register CEC_CTRL BIT 5. Change-Id: Ic27eb242e23c4a9b4de6a77032372eac11b5247c Signed-off-by: Zheng Yang (cherry picked from commit 3a94990c47760102a6b314e7b83c75c86af788e6) --- diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2.c b/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2.c index 2fe24374eff2..fe61586bde45 100644 --- a/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2.c +++ b/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2.c @@ -553,9 +553,8 @@ static int rockchip_hdmiv2_parse_dt(struct hdmi_dev *hdmi_dev) #ifdef CONFIG_MFD_SYSCON hdmi_dev->grf_base = syscon_regmap_lookup_by_phandle(np, "rockchip,grf"); - if (IS_ERR(hdmi_dev->grf_base)) { + if (IS_ERR(hdmi_dev->grf_base)) hdmi_dev->grf_base = NULL; - } #endif return 0; } diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2.h b/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2.h index 885527755de8..67e4bd76671b 100644 --- a/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2.h +++ b/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2.h @@ -36,8 +36,6 @@ struct hdmi_dev { void __iomem *regbase; void __iomem *phybase; struct regmap *grf_base; - int grf_reg_offset; - int grf_reg_shift; struct reset_control *reset; struct clk *pd; struct clk *pclk; diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_cec.c b/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_cec.c index fb7eba309b9d..fcccc355fdc6 100644 --- a/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_cec.c +++ b/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_cec.c @@ -113,15 +113,7 @@ void rockchip_hdmiv2_cec_init(struct hdmi *hdmi) init = 0; /* init_waitqueue_head(&wait); */ } - /* - * Enable sending all message even if sink refuse - * message broadcasted by us. - */ - if (hdmi_dev->grf_base) - regmap_write(hdmi_dev->grf_base, - hdmi_dev->grf_reg_offset, - (1 << hdmi_dev->grf_reg_shift) | - (1 << (hdmi_dev->grf_reg_shift + 16))); + hdmi_writel(hdmi_dev, IH_MUTE_CEC_STAT0, m_ERR_INITIATOR | m_ARB_LOST | m_NACK | m_DONE); CECDBG("%s", __func__); diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.h b/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.h index 37a015b851c8..0d763007c3ca 100644 --- a/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.h +++ b/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.h @@ -1356,10 +1356,14 @@ enum { #define CEC_ENGINE_BASE 0x7d00 #define CEC_CTRL 0x7d00 + #define m_CEC_BC_S_NCK BIT(5) /* Ignore ack of sending + * broadcast message. + */ #define m_CEC_STANBY BIT(4) #define m_CEC_BC_NCK BIT(3) #define m_CEC_FRAME_TYPE (3 << 1) #define m_CEC_SEND BIT(0) + #define v_CEC_BC_S_NCK(n) (((n) & 0x1) << 4) #define v_CEC_STANBY(n) ((n & 0x1) << 4) #define v_CEC_BC_NCK(n) ((n & 0x1) << 3) #define v_CEC_FRAME_TYPE(n) ((n & 0x3) << 1)