summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
diff options
context:
space:
mode:
authorBin Yang <yangbin@rock-chips.com>2017-03-13 18:02:59 +0800
committerHuang, Tao <huangtao@rock-chips.com>2017-03-16 14:26:48 +0800
commitc3749364645273d0727ce552ae91c65305a827ce (patch)
tree09e4a9531e2c443196a2fbb8d9ff12d9339273b6 /drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
parentf030ff821d480685d63e7d7320f3d3646298e140 (diff)
drm/bridge: dw_hdmi: clear ih_mute register when system resume
HDMI PD is power off when system suspend, so ih_mute register bit0 mute_all_interrupt will be reset to 1 when system resume. HPD interrupt will be mask, that would cause hdmi plugin could not be detected. Change-Id: I3bf2e6116e902cd516a7ac69fbe8569ca943e853 Signed-off-by: Bin Yang <yangbin@rock-chips.com>
Diffstat (limited to 'drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c')
-rw-r--r--drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
index 5b25a8f53ba5..4cbefe86b6ef 100644
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
@@ -464,12 +464,32 @@ static int dw_hdmi_rockchip_remove(struct platform_device *pdev)
return 0;
}
+static int dw_hdmi_rockchip_suspend(struct device *dev)
+{
+ dw_hdmi_suspend(dev);
+
+ return 0;
+}
+
+static int dw_hdmi_rockchip_resume(struct device *dev)
+{
+ dw_hdmi_resume(dev);
+
+ return 0;
+}
+
+static const struct dev_pm_ops dw_hdmi_pm_ops = {
+ SET_SYSTEM_SLEEP_PM_OPS(dw_hdmi_rockchip_suspend,
+ dw_hdmi_rockchip_resume)
+};
+
static struct platform_driver dw_hdmi_rockchip_pltfm_driver = {
.probe = dw_hdmi_rockchip_probe,
.remove = dw_hdmi_rockchip_remove,
.driver = {
.name = "dwhdmi-rockchip",
.of_match_table = dw_hdmi_rockchip_dt_ids,
+ .pm = &dw_hdmi_pm_ops,
},
};