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

New commits:
commit cb11d9db71dab54cd0799291b977c251cac42577
Author: Kevin Brace <kevinbr...@bracecomputerlab.com>
Date:   Wed Jul 26 18:02:36 2023 -0500

    drm/via: Version bumped to 3.6.9
    
    Improve the cursor plane behavior somewhat.
    
    Signed-off-by: Kevin Brace <kevinbr...@bracecomputerlab.com>

diff --git a/drivers/gpu/drm/via/via_drv.h b/drivers/gpu/drm/via/via_drv.h
index b650fb5986e1..fed60e2cb2a6 100644
--- a/drivers/gpu/drm/via/via_drv.h
+++ b/drivers/gpu/drm/via/via_drv.h
@@ -44,10 +44,10 @@
 
 #define DRIVER_MAJOR           3
 #define DRIVER_MINOR           6
-#define DRIVER_PATCHLEVEL      8
+#define DRIVER_PATCHLEVEL      9
 #define DRIVER_NAME            "via"
 #define DRIVER_DESC            "OpenChrome DRM for VIA Technologies Chrome"
-#define DRIVER_DATE            "20230522"
+#define DRIVER_DATE            "20230726"
 #define DRIVER_AUTHOR          "OpenChrome Project"
 
 
commit 25ceadef0072178b7fcca1b64a5a6ef118c97484
Author: Kevin Brace <kevinbr...@bracecomputerlab.com>
Date:   Wed Jul 26 17:57:52 2023 -0500

    drm/via: Use atomic_enable callback for the cursor plane
    
    This appears to improve the cursor behavior, but more work is needed to
    fix the issue completely.
    
    Signed-off-by: Kevin Brace <kevinbr...@bracecomputerlab.com>

diff --git a/drivers/gpu/drm/via/via_cursor.c b/drivers/gpu/drm/via/via_cursor.c
index 956d53052b78..1132c45ac1c6 100644
--- a/drivers/gpu/drm/via/via_cursor.c
+++ b/drivers/gpu/drm/via/via_cursor.c
@@ -365,6 +365,18 @@ static void via_cursor_atomic_update(struct drm_plane 
*plane,
        via_show_cursor(crtc);
 }
 
+static void via_cursor_atomic_enable(struct drm_plane *plane,
+                                       struct drm_atomic_state *state)
+{
+       struct drm_plane_state *new_state =
+                       drm_atomic_get_new_plane_state(state, plane);
+       struct drm_crtc *crtc = new_state->crtc;
+
+       if (crtc) {
+               via_show_cursor(crtc);
+       }
+}
+
 void via_cursor_atomic_disable(struct drm_plane *plane,
                                        struct drm_atomic_state *state)
 {
@@ -382,6 +394,7 @@ const struct drm_plane_helper_funcs 
via_cursor_drm_plane_helper_funcs = {
        .cleanup_fb     = via_cursor_cleanup_fb,
        .atomic_check   = via_cursor_atomic_check,
        .atomic_update  = via_cursor_atomic_update,
+       .atomic_enable  = via_cursor_atomic_enable,
        .atomic_disable = via_cursor_atomic_disable,
 };
 

Reply via email to