diff options
author | Mark Yao <yzq@rock-chips.com> | 2015-04-01 01:48:53 -0400 |
---|---|---|
committer | Mark Yao <mark.yao@rock-chips.com> | 2015-04-03 02:23:36 -0400 |
commit | 5d82d1a785155fe4ff65628a88b677cfacea863b (patch) | |
tree | 3c12d30f49c9ebd33c3eac44a1efc358bdb26581 | |
parent | b340b3fb71473291ea924a47e0069828c83da729 (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.c | 7 |
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 | /* |