drm/rockchip: dw_hdmi: add power domain control

close pd when suspend, no when plug out because hotplug detect need it.

make hdmi probe before dp otherwise the shared power domain will be
close after dp probe and cause splash screen when starting kernel if
hdmi uboot logo display

Change-Id: I82ba1abdaf7567173df9ad900d57eca0e6be3932
Signed-off-by: Huicong Xu <xhc@rock-chips.com>
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
This commit is contained in:
Huicong Xu
2017-03-29 11:39:26 +08:00
committed by Tao Huang
parent 901d4890ec
commit 36549072d7

View File

@@ -9,6 +9,7 @@
#include <linux/platform_device.h>
#include <linux/phy/phy.h>
#include <linux/regmap.h>
#include <linux/pm_runtime.h>
#include <drm/bridge/dw_hdmi.h>
#include <drm/drm_edid.h>
@@ -676,12 +677,16 @@ static const struct component_ops dw_hdmi_rockchip_ops = {
static int dw_hdmi_rockchip_probe(struct platform_device *pdev)
{
pm_runtime_enable(&pdev->dev);
pm_runtime_get_sync(&pdev->dev);
return component_add(&pdev->dev, &dw_hdmi_rockchip_ops);
}
static int dw_hdmi_rockchip_remove(struct platform_device *pdev)
{
component_del(&pdev->dev, &dw_hdmi_rockchip_ops);
pm_runtime_disable(&pdev->dev);
return 0;
}
@@ -691,6 +696,7 @@ static int dw_hdmi_rockchip_suspend(struct device *dev)
struct rockchip_hdmi *hdmi = dev_get_drvdata(dev);
dw_hdmi_suspend(hdmi->hdmi);
pm_runtime_put_sync(dev);
return 0;
}
@@ -700,6 +706,7 @@ static int dw_hdmi_rockchip_resume(struct device *dev)
struct rockchip_hdmi *hdmi = dev_get_drvdata(dev);
dw_hdmi_resume(hdmi->hdmi);
pm_runtime_get_sync(dev);
return 0;
}