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 <kevinbr...@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 <kevinbr...@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 <kevinbr...@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 <kevinbr...@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; _______________________________________________ Openchrome-devel mailing list Openchrome-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/openchrome-devel