diff options
author | Bin Yang <yangbin@rock-chips.com> | 2017-03-13 18:02:59 +0800 |
---|---|---|
committer | Huang, Tao <huangtao@rock-chips.com> | 2017-03-16 14:26:48 +0800 |
commit | c3749364645273d0727ce552ae91c65305a827ce (patch) | |
tree | 09e4a9531e2c443196a2fbb8d9ff12d9339273b6 /drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | |
parent | f030ff821d480685d63e7d7320f3d3646298e140 (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.c | 20 |
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, }, }; |