Move around some modesetting code before dropping simple-KMS helpers.
Makes the next patch more readable. No functional changes.

Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
Reviewed-by: Jocelyn Falempe <jfale...@redhat.com>
Tested-by: Jocelyn Falempe <jfale...@redhat.com>
Acked-by: Sam Ravnborg <s...@ravnborg.org>
---
 drivers/gpu/drm/mgag200/mgag200_mode.c | 95 +++++++++++++-------------
 1 file changed, 47 insertions(+), 48 deletions(-)

diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c 
b/drivers/gpu/drm/mgag200/mgag200_mode.c
index 93e55f820eb5..67795135d4dd 100644
--- a/drivers/gpu/drm/mgag200/mgag200_mode.c
+++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
@@ -603,42 +603,31 @@ static void mgag200_disable_display(struct mga_device 
*mdev)
        WREG_ECRT(0x01, crtcext1);
 }
 
-/*
- * Connector
- */
-
-static int mgag200_vga_connector_helper_get_modes(struct drm_connector 
*connector)
+static void mgag200_handle_damage(struct mga_device *mdev, const struct 
iosys_map *vmap,
+                                 struct drm_framebuffer *fb, const struct 
drm_rect *clip)
 {
-       struct mga_device *mdev = to_mga_device(connector->dev);
-       int ret;
-
-       /*
-        * Protect access to I/O registers from concurrent modesetting
-        * by acquiring the I/O-register lock.
-        */
-       mutex_lock(&mdev->rmmio_lock);
-       ret = drm_connector_helper_get_modes_from_ddc(connector);
-       mutex_unlock(&mdev->rmmio_lock);
+       void __iomem *dst = mdev->vram;
+       void *vaddr = vmap[0].vaddr; /* TODO: Use mapping abstraction properly 
*/
 
-       return ret;
+       dst += drm_fb_clip_offset(fb->pitches[0], fb->format, clip);
+       drm_fb_memcpy_toio(dst, fb->pitches[0], vaddr, fb, clip);
 }
 
-static const struct drm_connector_helper_funcs mga_vga_connector_helper_funcs 
= {
-       .get_modes  = mgag200_vga_connector_helper_get_modes,
-};
-
-static const struct drm_connector_funcs mga_vga_connector_funcs = {
-       .reset                  = drm_atomic_helper_connector_reset,
-       .fill_modes             = drm_helper_probe_single_connector_modes,
-       .destroy                = drm_connector_cleanup,
-       .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
-       .atomic_destroy_state   = drm_atomic_helper_connector_destroy_state,
-};
-
 /*
  * Simple Display Pipe
  */
 
+static const uint32_t mgag200_simple_display_pipe_formats[] = {
+       DRM_FORMAT_XRGB8888,
+       DRM_FORMAT_RGB565,
+       DRM_FORMAT_RGB888,
+};
+
+static const uint64_t mgag200_simple_display_pipe_fmtmods[] = {
+       DRM_FORMAT_MOD_LINEAR,
+       DRM_FORMAT_MOD_INVALID
+};
+
 static enum drm_mode_status
 mgag200_simple_display_pipe_mode_valid(struct drm_simple_display_pipe *pipe,
                                       const struct drm_display_mode *mode)
@@ -670,17 +659,6 @@ mgag200_simple_display_pipe_mode_valid(struct 
drm_simple_display_pipe *pipe,
        return MODE_OK;
 }
 
-static void
-mgag200_handle_damage(struct mga_device *mdev, struct drm_framebuffer *fb,
-                     struct drm_rect *clip, const struct iosys_map *map)
-{
-       void __iomem *dst = mdev->vram;
-       void *vmap = map->vaddr; /* TODO: Use mapping abstraction properly */
-
-       dst += drm_fb_clip_offset(fb->pitches[0], fb->format, clip);
-       drm_fb_memcpy_toio(dst, fb->pitches[0], vmap, fb, clip);
-}
-
 static void
 mgag200_simple_display_pipe_enable(struct drm_simple_display_pipe *pipe,
                                   struct drm_crtc_state *crtc_state,
@@ -728,7 +706,7 @@ mgag200_simple_display_pipe_enable(struct 
drm_simple_display_pipe *pipe,
 
        mgag200_enable_display(mdev);
 
-       mgag200_handle_damage(mdev, fb, &fullscreen, 
&shadow_plane_state->data[0]);
+       mgag200_handle_damage(mdev, shadow_plane_state->data, fb, &fullscreen);
 
        /* Always scanout image at VRAM offset 0 */
        mgag200_set_startadd(mdev, (u32)0);
@@ -809,7 +787,7 @@ mgag200_simple_display_pipe_update(struct 
drm_simple_display_pipe *pipe,
 
        drm_atomic_helper_damage_iter_init(&iter, old_state, state);
        drm_atomic_for_each_plane_damage(&iter, &damage) {
-               mgag200_handle_damage(mdev, fb, &damage, 
&shadow_plane_state->data[0]);
+               mgag200_handle_damage(mdev, shadow_plane_state->data, fb, 
&damage);
        }
        /* Always scanout image at VRAM offset 0 */
        mgag200_set_startadd(mdev, (u32)0);
@@ -877,15 +855,36 @@ mgag200_simple_display_pipe_funcs = {
        DRM_GEM_SIMPLE_DISPLAY_PIPE_SHADOW_PLANE_FUNCS,
 };
 
-static const uint32_t mgag200_simple_display_pipe_formats[] = {
-       DRM_FORMAT_XRGB8888,
-       DRM_FORMAT_RGB565,
-       DRM_FORMAT_RGB888,
+/*
+ * Connector
+ */
+
+static int mgag200_vga_connector_helper_get_modes(struct drm_connector 
*connector)
+{
+       struct mga_device *mdev = to_mga_device(connector->dev);
+       int ret;
+
+       /*
+        * Protect access to I/O registers from concurrent modesetting
+        * by acquiring the I/O-register lock.
+        */
+       mutex_lock(&mdev->rmmio_lock);
+       ret = drm_connector_helper_get_modes_from_ddc(connector);
+       mutex_unlock(&mdev->rmmio_lock);
+
+       return ret;
+}
+
+static const struct drm_connector_helper_funcs mga_vga_connector_helper_funcs 
= {
+       .get_modes  = mgag200_vga_connector_helper_get_modes,
 };
 
-static const uint64_t mgag200_simple_display_pipe_fmtmods[] = {
-       DRM_FORMAT_MOD_LINEAR,
-       DRM_FORMAT_MOD_INVALID
+static const struct drm_connector_funcs mga_vga_connector_funcs = {
+       .reset                  = drm_atomic_helper_connector_reset,
+       .fill_modes             = drm_helper_probe_single_connector_modes,
+       .destroy                = drm_connector_cleanup,
+       .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
+       .atomic_destroy_state   = drm_atomic_helper_connector_destroy_state,
 };
 
 /*
-- 
2.37.1

Reply via email to