summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Brace <kevinbrace@gmx.com>2017-07-04 01:25:13 -0500
committerKevin Brace <kevinbrace@gmx.com>2017-07-04 01:25:13 -0500
commit685738b467ddd825462e954f3d134c19b3fa04f0 (patch)
treef04d2ca53590f2765078ecd385909aebed4f8071
parent9bf17e465982450b2eaf0f4813210a442e6c9fc0 (diff)
Now actively controlling FP I/O state from via_fp_dpms
Signed-off-by: Kevin Brace <kevinbrace@gmx.com>
-rw-r--r--drivers/gpu/drm/via/via_fp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/via/via_fp.c b/drivers/gpu/drm/via/via_fp.c
index 98896f8fec3a..b7e90b8ac0d6 100644
--- a/drivers/gpu/drm/via/via_fp.c
+++ b/drivers/gpu/drm/via/via_fp.c
@@ -328,6 +328,7 @@ via_fp_display_source(struct via_device *dev_priv, u32 di_port, int index)
static void
via_fp_dpms(struct drm_encoder *encoder, int mode)
{
+ struct via_encoder *enc = container_of(encoder, struct via_encoder, base);
struct via_device *dev_priv = encoder->dev->dev_private;
struct drm_device *dev = encoder->dev;
struct via_crtc *iga = NULL;
@@ -357,12 +358,14 @@ via_fp_dpms(struct drm_encoder *encoder, int mode)
svga_wseq_mask(VGABASE, 0x1E, BIT(3), BIT(3));
}
via_enable_internal_lvds(encoder);
+ via_fp_io_pad_state(dev_priv, enc->di_port, true);
break;
case DRM_MODE_DPMS_STANDBY:
case DRM_MODE_DPMS_SUSPEND:
case DRM_MODE_DPMS_OFF:
via_disable_internal_lvds(encoder);
+ via_fp_io_pad_state(dev_priv, enc->di_port, false);
break;
}
}