[Openchrome-devel] xf86-video-openchrome: 4 commits - configure.ac src/via_fp.c src/via_ums.h

Kevin Brace kevinbrace at kemper.freedesktop.org
Fri Apr 28 07:40:35 UTC 2017


 configure.ac  |    2 +-
 src/via_fp.c  |    5 +++++
 src/via_ums.h |   34 ++++++++++++++++++++++++++++++++++
 3 files changed, 40 insertions(+), 1 deletion(-)

New commits:
commit 966b7d9f2911571ce7183c15716418e648c65a9d
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Fri Apr 28 00:38:37 2017 -0700

    Version bumped to 0.6.113
    
    This version fixes a regression with the FP restoration when resuming
    from standby. CX700 chipset through VX900 chipset were affected by the
    regression.
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/configure.ac b/configure.ac
index 80efe51..6c5df77 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-openchrome],
-        [0.6.112],
+        [0.6.113],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/openchrome],
         [xf86-video-openchrome])
 
commit 3514f8ee923442aa8fdb7a564775bdccda3f12fa
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Fri Apr 28 00:35:24 2017 -0700

    Fix for FP not getting restored when resuming from standby
    
    Commit 873c352 caused a regression in restoring FP on some models
    (CX700 chipset through VX900 chipset). This commit should fix the
    bug.
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/src/via_fp.c b/src/via_fp.c
index fe89a2e..e3252f7 100644
--- a/src/via_fp.c
+++ b/src/via_fp.c
@@ -908,19 +908,24 @@ viaFPPower(ScrnInfoPtr pScrn, Bool powerState, CARD8 diPortType)
         if ((diPortType & VIA_DI_PORT_LVDS1)
             && (diPortType & VIA_DI_PORT_LVDS2)) {
             ViaLVDSSoftwarePowerFirstSequence(pScrn, powerState);
+            viaLVDS1SetPower(pScrn, powerState);
             ViaLVDSSoftwarePowerSecondSequence(pScrn, powerState);
+            viaLVDS2SetPower(pScrn, powerState);
         } else if ((diPortType & VIA_DI_PORT_LVDS1)
                     && (~(diPortType & VIA_DI_PORT_LVDS2))) {
             ViaLVDSSoftwarePowerFirstSequence(pScrn, powerState);
+            viaLVDS1SetPower(pScrn, powerState);
         } else if ((~(diPortType & VIA_DI_PORT_LVDS1))
                         && (diPortType & VIA_DI_PORT_LVDS2)) {
             ViaLVDSSoftwarePowerSecondSequence(pScrn, powerState);
+            viaLVDS2SetPower(pScrn, powerState);
         }
 
          break;
     case VIA_VX855:
     case VIA_VX900:
         ViaLVDSHardwarePowerFirstSequence(pScrn, powerState);
+        viaLVDS1SetPower(pScrn, powerState);
         break;
     default:
         break;
commit ff046ab451c1dcda04ee59c99fa333e4b3f91338
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Thu Apr 27 21:45:13 2017 -0700

    Added viaLVDS2SetPower
    
    This inline function was added to via_ums.h.
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/src/via_ums.h b/src/via_ums.h
index 1ca760c..8d38d4d 100644
--- a/src/via_ums.h
+++ b/src/via_ums.h
@@ -452,6 +452,23 @@ viaLVDS1SetSoftDisplayPeriod(ScrnInfoPtr pScrn, Bool softOn)
 }
 
 /*
+ * Sets CX700 / VX700 and VX800 chipsets' LVDS2 power state.
+ */
+static inline void
+viaLVDS2SetPower(ScrnInfoPtr pScrn, Bool powerState)
+{
+    /* Set LVDS2 power state. */
+    /* 3X5.D2[6] - Power Down (Active High) for Channel 2 LVDS
+     *             0: LVDS2 power on
+     *             1: LVDS2 power down */
+    ViaCrtcMask(VGAHWPTR(pScrn), 0xD2, powerState ? 0x00 : BIT(6),
+                BIT(6));
+    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+                        "LVDS2 Power State: %s\n",
+                        powerState ? "On" : "Off"));
+}
+
+/*
  * Sets CX700 / VX700 and VX800 chipsets' TMDS (DVI) power state.
  */
 static inline void
commit ca6c44fdea569ff8dbc77301d38f088b4aa30981
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Thu Apr 27 21:41:09 2017 -0700

    Added viaLVDS1SetPower
    
    This inline function was added to via_ums.h.
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/src/via_ums.h b/src/via_ums.h
index bac71c7..1ca760c 100644
--- a/src/via_ums.h
+++ b/src/via_ums.h
@@ -364,6 +364,23 @@ viaFPSetPrimaryHardPower(ScrnInfoPtr pScrn, Bool powerState)
 }
 
 /*
+ * Sets CX700 or later chipset's LVDS1 power state.
+ */
+static inline void
+viaLVDS1SetPower(ScrnInfoPtr pScrn, Bool powerState)
+{
+    /* Set LVDS1 power state. */
+    /* 3X5.D2[7] - Power Down (Active High) for Channel 1 LVDS
+     *             0: LVDS1 power on
+     *             1: LVDS1 power down */
+    ViaCrtcMask(VGAHWPTR(pScrn), 0xD2, powerState ? 0x00 : BIT(7),
+                BIT(7));
+    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+                        "LVDS1 Power State: %s\n",
+                        powerState ? "On" : "Off"));
+}
+
+/*
  * Sets CX700 or later single chipset's LVDS1 power sequence type.
  */
 static inline void


More information about the Openchrome-devel mailing list