diff options
author | Sean Paul <seanpaul@chromium.org> | 2014-10-29 15:33:35 -0400 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2014-11-13 16:12:04 +0100 |
commit | 0bfad396715a24e28d12d35f4a6ce87f65194609 (patch) | |
tree | 98805a12fc8014158c4d660e4c1b7546ae028a19 /drivers/gpu/drm/tegra | |
parent | dc670e49e75d63174b838fd9e3405f481e50ab19 (diff) | |
download | talos-op-linux-0bfad396715a24e28d12d35f4a6ce87f65194609.tar.gz talos-op-linux-0bfad396715a24e28d12d35f4a6ce87f65194609.zip |
drm/tegra: DPMS off/on in encoder prepare/commit
Previously the panel and output were only enabled on encoder->dpms(). If
userspace called dpms on before doing a modeset, the driver would get into
a state where the connector had a dpms state of ON, but the encoder and output
were not enabled (because the encoder is not yet attached to the connector).
Subsequent dpms ON calls are ignored b/c the connector's state already matches
the desired state.
This patch enables/disables the panel and output on modeset as well, so we
can catch the above case.
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Diffstat (limited to 'drivers/gpu/drm/tegra')
-rw-r--r-- | drivers/gpu/drm/tegra/output.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/tegra/output.c b/drivers/gpu/drm/tegra/output.c index 6b393cfbb5e7..e6cfbde36f97 100644 --- a/drivers/gpu/drm/tegra/output.c +++ b/drivers/gpu/drm/tegra/output.c @@ -157,10 +157,12 @@ static bool tegra_encoder_mode_fixup(struct drm_encoder *encoder, static void tegra_encoder_prepare(struct drm_encoder *encoder) { + tegra_encoder_dpms(encoder, DRM_MODE_DPMS_OFF); } static void tegra_encoder_commit(struct drm_encoder *encoder) { + tegra_encoder_dpms(encoder, DRM_MODE_DPMS_ON); } static void tegra_encoder_mode_set(struct drm_encoder *encoder, |