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)