diff options
author | Joonyoung Shim <jy0922.shim@samsung.com> | 2011-11-14 15:20:49 +0900 |
---|---|---|
committer | Inki Dae <inki.dae@samsung.com> | 2011-11-17 10:05:39 +0900 |
commit | 396464dfbba8f734c57346489b871e7ed64dcdd1 (patch) | |
tree | b862472543faa424af6fe537d5759660844115d7 /drivers/gpu/drm/exynos/exynos_drm_encoder.c | |
parent | 4f9eb94f7be3d357e811ec74a53027bd27f1748f (diff) | |
download | linux-396464dfbba8f734c57346489b871e7ed64dcdd1.tar.gz linux-396464dfbba8f734c57346489b871e7ed64dcdd1.tar.xz linux-396464dfbba8f734c57346489b871e7ed64dcdd1.zip |
drm/exynos: Add disable of manager
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_encoder.c')
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_encoder.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_encoder.c b/drivers/gpu/drm/exynos/exynos_drm_encoder.c index 866f419f485b..153061415baf 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_encoder.c +++ b/drivers/gpu/drm/exynos/exynos_drm_encoder.c @@ -53,9 +53,27 @@ static void exynos_drm_encoder_dpms(struct drm_encoder *encoder, int mode) struct drm_device *dev = encoder->dev; struct drm_connector *connector; struct exynos_drm_manager *manager = exynos_drm_get_manager(encoder); + struct exynos_drm_manager_ops *manager_ops = manager->ops; DRM_DEBUG_KMS("%s, encoder dpms: %d\n", __FILE__, mode); + switch (mode) { + case DRM_MODE_DPMS_ON: + if (manager_ops && manager_ops->commit) + manager_ops->commit(manager->dev); + break; + case DRM_MODE_DPMS_STANDBY: + case DRM_MODE_DPMS_SUSPEND: + case DRM_MODE_DPMS_OFF: + /* TODO */ + if (manager_ops && manager_ops->disable) + manager_ops->disable(manager->dev); + break; + default: + DRM_ERROR("unspecified mode %d\n", mode); + break; + } + list_for_each_entry(connector, &dev->mode_config.connector_list, head) { if (connector->encoder == encoder) { struct exynos_drm_display_ops *display_ops = |