aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Yao <yzq@rock-chips.com>2015-04-01 01:48:53 -0400
committerMark Yao <mark.yao@rock-chips.com>2015-04-03 02:23:36 -0400
commit5d82d1a785155fe4ff65628a88b677cfacea863b (patch)
tree3c12d30f49c9ebd33c3eac44a1efc358bdb26581
parentb340b3fb71473291ea924a47e0069828c83da729 (diff)
drm/rockchip: vop: add vop power domain support
Reference the power domain incase vop power down when in use. Signed-off-by: Mark Yao <yzq@rock-chips.com>
-rw-r--r--drivers/gpu/drm/rockchip/rockchip_drm_vop.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
index 6115898efe6b..ccb0ce073ef2 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
@@ -421,6 +421,12 @@ static void vop_enable(struct drm_crtc *crtc)
421 if (vop->is_enabled) 421 if (vop->is_enabled)
422 return; 422 return;
423 423
424 ret = pm_runtime_get_sync(vop->dev);
425 if (ret < 0) {
426 dev_err(vop->dev, "failed to get pm runtime: %d\n", ret);
427 return;
428 }
429
424 ret = clk_enable(vop->hclk); 430 ret = clk_enable(vop->hclk);
425 if (ret < 0) { 431 if (ret < 0) {
426 dev_err(vop->dev, "failed to enable hclk - %d\n", ret); 432 dev_err(vop->dev, "failed to enable hclk - %d\n", ret);
@@ -517,6 +523,7 @@ static void vop_disable(struct drm_crtc *crtc)
517 clk_disable(vop->dclk); 523 clk_disable(vop->dclk);
518 clk_disable(vop->aclk); 524 clk_disable(vop->aclk);
519 clk_disable(vop->hclk); 525 clk_disable(vop->hclk);
526 pm_runtime_put(vop->dev);
520} 527}
521 528
522/* 529/*