drm/msm/hdmi: add runtime PM calls to DDC transfer function
We must be sure that the HDMI controller is powered on, while performing the DDC transfer. Add corresponding runtime PM calls to msm_hdmi_i2c_xfer(). Reviewed-by: Jessica Zhang <quic_jesszhan@quicinc.com> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Patchwork: https://patchwork.freedesktop.org/patch/651727/ Link: https://lore.kernel.org/r/20250505-fd-hdmi-hpd-v5-8-48541f76318c@oss.qualcomm.com Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
This commit is contained in:
parent
81aa834197
commit
531b4e2c20
|
|
@ -107,11 +107,15 @@ static int msm_hdmi_i2c_xfer(struct i2c_adapter *i2c,
|
|||
if (num == 0)
|
||||
return num;
|
||||
|
||||
ret = pm_runtime_resume_and_get(&hdmi->pdev->dev);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
init_ddc(hdmi_i2c);
|
||||
|
||||
ret = ddc_clear_irq(hdmi_i2c);
|
||||
if (ret)
|
||||
return ret;
|
||||
goto fail;
|
||||
|
||||
for (i = 0; i < num; i++) {
|
||||
struct i2c_msg *p = &msgs[i];
|
||||
|
|
@ -169,7 +173,7 @@ static int msm_hdmi_i2c_xfer(struct i2c_adapter *i2c,
|
|||
hdmi_read(hdmi, REG_HDMI_DDC_SW_STATUS),
|
||||
hdmi_read(hdmi, REG_HDMI_DDC_HW_STATUS),
|
||||
hdmi_read(hdmi, REG_HDMI_DDC_INT_CTRL));
|
||||
return ret;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
ddc_status = hdmi_read(hdmi, REG_HDMI_DDC_SW_STATUS);
|
||||
|
|
@ -202,7 +206,13 @@ static int msm_hdmi_i2c_xfer(struct i2c_adapter *i2c,
|
|||
}
|
||||
}
|
||||
|
||||
pm_runtime_put(&hdmi->pdev->dev);
|
||||
|
||||
return i;
|
||||
|
||||
fail:
|
||||
pm_runtime_put(&hdmi->pdev->dev);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static u32 msm_hdmi_i2c_func(struct i2c_adapter *adapter)
|
||||
|
|
|
|||
Loading…
Reference in New Issue