drivers/gpu/drm/openchrome/via_crtc.c |   24 ++++++++++++------------
 drivers/gpu/drm/openchrome/via_drv.h  |    5 ++---
 2 files changed, 14 insertions(+), 15 deletions(-)

New commits:
commit f9e35ef676897d21f1b5c1fc25228545f6daf9d2
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Tue Mar 27 15:30:57 2018 -0700

    drm/openchrome: Version bumped to 3.0.79
    
    This version fixes corrupted hardware cursor(s) after standby resume
    and hardware cursor(s) being left displayed after switching to VT
    (Virtual Terminal). It will cause a minor regression of hardware
    cursor(s) being turned off right after standby resume, although it
    will turn back on when the associated input device is moved around the
    screen.
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/via_drv.h 
b/drivers/gpu/drm/openchrome/via_drv.h
index df2eb0a4f36d..c1beef590ece 100644
--- a/drivers/gpu/drm/openchrome/via_drv.h
+++ b/drivers/gpu/drm/openchrome/via_drv.h
@@ -30,12 +30,11 @@
 #define DRIVER_AUTHOR       "OpenChrome Project"
 #define DRIVER_NAME         "openchrome"
 #define DRIVER_DESC         "OpenChrome DRM for VIA Technologies Chrome IGP"
-#define DRIVER_DATE         "20180309"
+#define DRIVER_DATE         "20180327"
 
 #define DRIVER_MAJOR           3
 #define DRIVER_MINOR           0
-#define DRIVER_PATCHLEVEL      78
-
+#define DRIVER_PATCHLEVEL      79
 #include <linux/module.h>
 
 #include "ttm/ttm_bo_api.h"
commit ad7ae852aba77aee36d67640028e218c0afcbd94
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Tue Mar 27 15:19:39 2018 -0700

    drm/openchrome: Fix for corrupted cursor(s) after standby resume
    
    This commit fixes corrupted hardware cursor(s) after standby resume
    likely introduced by commit 981d27b3a95a7df6fb6c6887b467f576bf8a8b97.
    Furthermore, it also fixes a bug that causes hardware cursor(s) to stay
    displayed after switching over to VT (Virtual Terminal). That being
    said, this commit will cause a minor regression of turning off the
    hardware cursor(s) right after standby resume, although they will be
    displayed again when the input device is moved around the screen.
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/via_crtc.c 
b/drivers/gpu/drm/openchrome/via_crtc.c
index 5a9dee74e8e5..502293529234 100644
--- a/drivers/gpu/drm/openchrome/via_crtc.c
+++ b/drivers/gpu/drm/openchrome/via_crtc.c
@@ -392,6 +392,8 @@ static int via_crtc_cursor_move(struct drm_crtc *crtc, int 
x, int y)
                break;
        }
 
+       via_show_cursor(crtc);
+
        return 0;
 }
 
@@ -1845,9 +1847,6 @@ via_iga1_crtc_prepare(struct drm_crtc *crtc)
 {
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
-       /* Turn off the cursor */
-       via_hide_cursor(crtc);
-
        drm_crtc_vblank_off(crtc);
 
        /* Blank the screen */
@@ -1862,9 +1861,6 @@ via_iga1_crtc_commit(struct drm_crtc *crtc)
 {
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
-       /* Turn on the cursor */
-       via_show_cursor(crtc);
-
        drm_crtc_vblank_on(crtc);
 
        /* Turn on the monitor */
@@ -2022,6 +2018,11 @@ via_iga1_crtc_mode_set(struct drm_crtc *crtc,
 
        ret = via_iga1_crtc_mode_set_base(crtc, x, y, fb);
 
+       /* Specify the cursor pattern. */
+       via_cursor_address(crtc);
+
+       /* Turn off the cursor. */
+       via_hide_cursor(crtc);
 exit:
        DRM_DEBUG_KMS("Exiting %s.\n", __func__);
        return ret;
@@ -2128,9 +2129,6 @@ via_iga2_crtc_prepare(struct drm_crtc *crtc)
 {
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
-       /* Turn off the cursor */
-       via_hide_cursor(crtc);
-
        drm_crtc_vblank_off(crtc);
 
        /* Blank the screen */
@@ -2145,9 +2143,6 @@ via_iga2_crtc_commit(struct drm_crtc *crtc)
 {
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
-       /* Turn on the cursor */
-       via_show_cursor(crtc);
-
        drm_crtc_vblank_on(crtc);
 
        /* Turn on the monitor */
@@ -2334,6 +2329,11 @@ via_iga2_crtc_mode_set(struct drm_crtc *crtc,
 
        ret = via_iga2_crtc_mode_set_base(crtc, x, y, fb);
 
+       /* Specify the cursor pattern. */
+       via_cursor_address(crtc);
+
+       /* Turn off the cursor. */
+       via_hide_cursor(crtc);
 exit:
        DRM_DEBUG_KMS("Exiting %s.\n", __func__);
        return ret;
_______________________________________________
Openchrome-devel mailing list
Openchrome-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/openchrome-devel

Reply via email to