[Openchrome-devel] drm-openchrome: Branch 'drm-next-3.19' - 2 commits - drivers/gpu/drm

Kevin Brace kevinbrace at kemper.freedesktop.org
Wed Mar 28 04:17:16 UTC 2018


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

New commits:
commit 15f26a470d1b3d707f6d3245660cae8f4f2efc15
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Tue Mar 27 20:50:19 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 <kevinbrace at gmx.com>

diff --git a/drivers/gpu/drm/openchrome/via_drv.h b/drivers/gpu/drm/openchrome/via_drv.h
index 82a35c650d97..a86c9b5250a5 100644
--- a/drivers/gpu/drm/openchrome/via_drv.h
+++ b/drivers/gpu/drm/openchrome/via_drv.h
@@ -30,11 +30,11 @@
 #define DRIVER_AUTHOR       "OpenChrome Project"
 #define DRIVER_NAME         "openchrome"
 #define DRIVER_DESC         "OpenChrome DRM for VIA Technologies Chrome IGP"
-#define DRIVER_DATE         "20180314"
+#define DRIVER_DATE         "20180327"
 
 #define DRIVER_MAJOR		3
 #define DRIVER_MINOR		0
-#define DRIVER_PATCHLEVEL	78
+#define DRIVER_PATCHLEVEL	79
 
 #include <linux/module.h>
 
commit 259ecea2de9c63abfc29d22bd16a78e4ecf56420
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Tue Mar 27 20:48:45 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 <kevinbrace at gmx.com>

diff --git a/drivers/gpu/drm/openchrome/via_crtc.c b/drivers/gpu/drm/openchrome/via_crtc.c
index a1ea671939ab..ea559b04468a 100644
--- a/drivers/gpu/drm/openchrome/via_crtc.c
+++ b/drivers/gpu/drm/openchrome/via_crtc.c
@@ -394,6 +394,9 @@ static int via_crtc_cursor_move(struct drm_crtc *crtc, int x, int y)
 		VIA_WRITE(HI_CENTEROFFSET, ((xoff << 16) | (yoff & 0x07ff)));
 		break;
 	}
+
+	via_show_cursor(crtc);
+
 	return 0;
 }
 
@@ -1939,9 +1942,6 @@ static void via_iga1_crtc_prepare(struct drm_crtc *crtc)
 {
 	DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
-	/* Turn off the cursor */
-	via_hide_cursor(crtc);
-
 	/* Blank the screen */
 	if (crtc->enabled)
 		via_iga1_crtc_dpms(crtc, DRM_MODE_DPMS_OFF);
@@ -1953,9 +1953,6 @@ static void via_iga1_crtc_commit(struct drm_crtc *crtc)
 {
 	DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
-	/* Turn on the cursor */
-	via_show_cursor(crtc);
-
 	/* Turn on the monitor */
 	if (crtc->enabled)
 		via_iga1_crtc_dpms(crtc, DRM_MODE_DPMS_ON);
@@ -2112,6 +2109,11 @@ static int 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;
@@ -2228,9 +2230,6 @@ static void via_iga2_crtc_prepare(struct drm_crtc *crtc)
 {
 	DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
-	/* Turn off the cursor */
-	via_hide_cursor(crtc);
-
 	/* Blank the screen */
 	if (crtc->enabled)
 		via_iga2_crtc_dpms(crtc, DRM_MODE_DPMS_OFF);
@@ -2242,9 +2241,6 @@ static void via_iga2_crtc_commit(struct drm_crtc *crtc)
 {
 	DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
-	/* Turn on the cursor */
-	via_show_cursor(crtc);
-
 	/* Turn on the monitor */
 	if (crtc->enabled)
 		via_iga2_crtc_dpms(crtc, DRM_MODE_DPMS_ON);
@@ -2435,6 +2431,11 @@ static int 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;


More information about the Openchrome-devel mailing list