media: rockchip: hdmirx: reconfig cec after resume

Change-Id: I5333531f09d26558b023858566b392df0ae284f0
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
This commit is contained in:
Chen Shunqing
2023-02-23 13:09:15 +00:00
committed by Tao Huang
parent a180b8d5c8
commit 53edaaa977

View File

@@ -942,13 +942,13 @@ static void hdmirx_cec_state_reconfiguration(struct rk_hdmirx_dev *hdmirx_dev, b
{
unsigned int irqs;
if (en) {
hdmirx_update_bits(hdmirx_dev, GLOBAL_SWENABLE, CEC_ENABLE, CEC_ENABLE);
hdmirx_update_bits(hdmirx_dev, CEC_CONFIG, RX_AUTO_DRIVE_ACKNOWLEDGE,
RX_AUTO_DRIVE_ACKNOWLEDGE);
irqs = CECTX_LINE_ERR | CECTX_NACK | CECRX_EOM | CECTX_DONE;
hdmirx_writel(hdmirx_dev, CEC_INT_MASK_N, irqs);
}
hdmirx_update_bits(hdmirx_dev, GLOBAL_SWENABLE, CEC_ENABLE, CEC_ENABLE);
hdmirx_update_bits(hdmirx_dev, CEC_CONFIG, RX_AUTO_DRIVE_ACKNOWLEDGE,
RX_AUTO_DRIVE_ACKNOWLEDGE);
hdmirx_writel(hdmirx_dev, CEC_ADDR, hdmirx_dev->cec->addresses);
irqs = CECTX_LINE_ERR | CECTX_NACK | CECRX_EOM | CECTX_DONE;
hdmirx_writel(hdmirx_dev, CEC_INT_MASK_N, irqs);
cec_queue_pin_hpd_event(hdmirx_dev->cec->adap, en, ktime_get());
}
@@ -3490,6 +3490,9 @@ static int hdmirx_runtime_resume(struct device *dev)
hdmirx_edid_init_config(hdmirx_dev);
if (hdmirx_dev->cec && hdmirx_dev->cec->adap)
hdmirx_cec_state_reconfiguration(hdmirx_dev, false);
if (hdmirx_dev->initialized) {
enable_irq(hdmirx_dev->hdmi_irq);
enable_irq(hdmirx_dev->dma_irq);