drivers/gpu/drm/via/via_drv.h |    4 +--
 drivers/gpu/drm/via/via_fp.c  |   54 ++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 54 insertions(+), 4 deletions(-)

New commits:
commit ca2df04f390a7877ec8fe8150743c00795431add
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Tue Jul 4 01:26:25 2017 -0500

    Version bumped to 3.0.37
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/via/via_drv.h b/drivers/gpu/drm/via/via_drv.h
index 9c7cbd85e0c..6704b382f80 100644
--- a/drivers/gpu/drm/via/via_drv.h
+++ b/drivers/gpu/drm/via/via_drv.h
@@ -30,11 +30,11 @@
 #define DRIVER_AUTHOR       "The OpenChrome Project"
 #define DRIVER_NAME         "via"
 #define DRIVER_DESC         "OpenChrome DRM for VIA Technologies Chrome IGP"
-#define DRIVER_DATE         "20170629"
+#define DRIVER_DATE         "20170704"
 
 #define DRIVER_MAJOR           3
 #define DRIVER_MINOR           0
-#define DRIVER_PATCHLEVEL      36
+#define DRIVER_PATCHLEVEL      37
 
 #include <linux/module.h>
 
commit 685738b467ddd825462e954f3d134c19b3fa04f0
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Tue Jul 4 01:25:13 2017 -0500

    Now actively controlling FP I/O state from via_fp_dpms
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/via/via_fp.c b/drivers/gpu/drm/via/via_fp.c
index 98896f8fec3..b7e90b8ac0d 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;
        }
 }
commit 9bf17e465982450b2eaf0f4813210a442e6c9fc0
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Tue Jul 4 00:34:23 2017 -0500

    Added via_fp_io_pad_state
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/via/via_fp.c b/drivers/gpu/drm/via/via_fp.c
index 9714bddac40..98896f8fec3 100644
--- a/drivers/gpu/drm/via/via_fp.c
+++ b/drivers/gpu/drm/via/via_fp.c
@@ -228,6 +228,53 @@ via_disable_internal_lvds(struct drm_encoder *encoder)
 }
 
 /*
+ * Sets flat panel I/O pad state.
+ */
+static void
+via_fp_io_pad_state(struct via_device *dev_priv, u32 di_port, bool io_pad_on)
+{
+       DRM_DEBUG_KMS("Entered via_fp_io_pad_state.\n");
+
+       switch(di_port) {
+       case VIA_DI_PORT_DVP0:
+               via_dvp0_set_io_pad_state(VGABASE, io_pad_on ? 0x03 : 0x00);
+               break;
+       case VIA_DI_PORT_DVP1:
+               via_dvp1_set_io_pad_state(VGABASE, io_pad_on ? 0x03 : 0x00);
+               break;
+       case VIA_DI_PORT_FPDPLOW:
+               via_fpdp_low_set_io_pad_state(VGABASE, io_pad_on ? 0x03 : 0x00);
+               break;
+       case VIA_DI_PORT_FPDPHIGH:
+               via_fpdp_high_set_io_pad_state(VGABASE, io_pad_on ? 0x03 : 
0x00);
+               break;
+       case (VIA_DI_PORT_FPDPLOW |
+             VIA_DI_PORT_FPDPHIGH):
+               via_fpdp_low_set_io_pad_state(VGABASE, io_pad_on ? 0x03 : 0x00);
+               via_fpdp_high_set_io_pad_state(VGABASE, io_pad_on ? 0x03 : 
0x00);
+               break;
+       case VIA_DI_PORT_LVDS1:
+               via_lvds1_set_io_pad_setting(VGABASE, io_pad_on ? 0x03 : 0x00);
+               break;
+       case VIA_DI_PORT_LVDS2:
+               via_lvds2_set_io_pad_setting(VGABASE, io_pad_on ? 0x03 : 0x00);
+               break;
+       case (VIA_DI_PORT_LVDS1 |
+             VIA_DI_PORT_LVDS2):
+               via_lvds1_set_io_pad_setting(VGABASE, io_pad_on ? 0x03 : 0x00);
+               via_lvds2_set_io_pad_setting(VGABASE, io_pad_on ? 0x03 : 0x00);
+               break;
+       default:
+               break;
+       }
+
+       DRM_DEBUG_KMS("FP I/O Pad: %s\n", io_pad_on ? "On": "Off");
+
+       DRM_DEBUG_KMS("Exiting via_fp_io_pad_state.\n");
+}
+
+
+/*
  * Sets flat panel display source.
  */
 static void
commit ddf727fddb2a6f12aa7fc4dd541bc3ec2190e2b7
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Mon Jul 3 23:46:40 2017 -0500

    Rename via_lvds_dpms to via_fp_dpms
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/via/via_fp.c b/drivers/gpu/drm/via/via_fp.c
index be8d621fd4a..9714bddac40 100644
--- a/drivers/gpu/drm/via/via_fp.c
+++ b/drivers/gpu/drm/via/via_fp.c
@@ -279,7 +279,7 @@ via_fp_display_source(struct via_device *dev_priv, u32 
di_port, int index)
 }
 
 static void
-via_lvds_dpms(struct drm_encoder *encoder, int mode)
+via_fp_dpms(struct drm_encoder *encoder, int mode)
 {
        struct via_device *dev_priv = encoder->dev->dev_private;
        struct drm_device *dev = encoder->dev;
@@ -386,7 +386,7 @@ via_lvds_mode_fixup(struct drm_encoder *encoder,
 }
 
 const struct drm_encoder_helper_funcs via_lvds_helper_funcs = {
-       .dpms = via_lvds_dpms,
+       .dpms = via_fp_dpms,
        .mode_fixup = via_lvds_mode_fixup,
        .mode_set = via_set_sync_polarity,
        .prepare = via_encoder_prepare,
_______________________________________________
Openchrome-devel mailing list
Openchrome-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/openchrome-devel

Reply via email to