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

Kevin Brace kevinbrace at kemper.freedesktop.org
Mon Nov 9 17:12:55 UTC 2020


 drivers/gpu/drm/openchrome/openchrome_crtc.c    |   64 +++++++-----------------
 drivers/gpu/drm/openchrome/openchrome_display.c |   26 +--------
 drivers/gpu/drm/openchrome/openchrome_drv.h     |   11 +---
 3 files changed, 25 insertions(+), 76 deletions(-)

New commits:
commit d7ef4c5017cbc434c8be8a03af78fe73dd13fdf5
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Mon Nov 9 09:12:07 2020 -0800

    drm/openchrome: Version bumped to 3.4.2
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.h b/drivers/gpu/drm/openchrome/openchrome_drv.h
index 1ddc1cf4f7d0..812da9f64c3a 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.h
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.h
@@ -61,10 +61,10 @@
 
 #define DRIVER_MAJOR		3
 #define DRIVER_MINOR		4
-#define DRIVER_PATCHLEVEL	1
+#define DRIVER_PATCHLEVEL	2
 #define DRIVER_NAME		"openchrome"
 #define DRIVER_DESC		"OpenChrome DRM for VIA Technologies Chrome IGP"
-#define DRIVER_DATE		"20201027"
+#define DRIVER_DATE		"20201109"
 #define DRIVER_AUTHOR		"OpenChrome Project"
 
 
commit 1e96451aeee4d0bf248408df33c0017849770446
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Mon Nov 9 09:10:25 2020 -0800

    Revert "drm/openchrome: Initialize plane and crtc separately"
    
    This reverts commit e3a26f777b06e0d8a02868cbd2916484b51da940.

diff --git a/drivers/gpu/drm/openchrome/openchrome_crtc.c b/drivers/gpu/drm/openchrome/openchrome_crtc.c
index b8499e21aa34..fcce3fbbe33a 100644
--- a/drivers/gpu/drm/openchrome/openchrome_crtc.c
+++ b/drivers/gpu/drm/openchrome/openchrome_crtc.c
@@ -2239,23 +2239,17 @@ static const uint32_t openchrome_primary_formats[] = {
 	DRM_FORMAT_RGB332,
 };
 
-int openchrome_plane_init(struct openchrome_drm_private *dev_private,
-				struct drm_plane **p_primary,
-				struct drm_plane **p_cursor)
+int openchrome_crtc_init(struct openchrome_drm_private *dev_private,
+				uint32_t index)
 {
 	struct drm_device *dev = dev_private->dev;
-	struct drm_plane *primary = NULL;
-	struct drm_plane *cursor = NULL;
+	struct via_crtc *iga;
+	struct drm_plane *primary;
+	struct drm_plane *cursor;
 	uint32_t possible_crtcs;
-	uint32_t i;
 	int ret;
 
-	DRM_DEBUG_KMS("Entered %s.\n", __func__);
-
-	possible_crtcs = 0;
-	for (i = 0; i < OPENCHROME_MAX_CRTC; i++) {
-		possible_crtcs |= 1 << i;
-	}
+	possible_crtcs = 1 << index;
 
 	primary = kzalloc(sizeof(struct drm_plane), GFP_KERNEL);
 	if (!primary) {
@@ -2293,43 +2287,15 @@ int openchrome_plane_init(struct openchrome_drm_private *dev_private,
 		goto free_cursor;
 	}
 
-	goto exit;
-free_cursor:
-	kfree(cursor);
-	cursor = NULL;
-cleanup_primary:
-	drm_plane_cleanup(primary);
-free_primary:
-	kfree(primary);
-	primary = NULL;
-exit:
-	*p_primary = primary;
-	*p_cursor = cursor;
-
-	DRM_DEBUG_KMS("Exiting %s.\n", __func__);
-	return ret;
-}
-
-int openchrome_crtc_init(struct openchrome_drm_private *dev_private,
-				struct drm_plane *primary,
-				struct drm_plane *cursor,
-				uint32_t i)
-{
-	struct drm_device *dev = dev_private->dev;
-	struct via_crtc *iga;
-	int ret;
-
-	DRM_DEBUG_KMS("Entered %s.\n", __func__);
-
 	iga = kzalloc(sizeof(struct via_crtc), GFP_KERNEL);
 	if (!iga) {
 		ret = -ENOMEM;
 		DRM_ERROR("Failed to allocate CRTC storage.\n");
-		goto exit;
+		goto cleanup_cursor;
 	}
 
 	drm_crtc_helper_add(&iga->base,
-				&openchrome_drm_crtc_helper_funcs);
+			&openchrome_drm_crtc_helper_funcs);
 	ret = drm_crtc_init_with_planes(dev, &iga->base,
 					primary, cursor,
 					&openchrome_drm_crtc_funcs,
@@ -2339,12 +2305,20 @@ int openchrome_crtc_init(struct openchrome_drm_private *dev_private,
 		goto free_crtc;
 	}
 
-	iga->index = i;
-	openchrome_crtc_param_init(dev_private, &iga->base, i);
+	iga->index = index;
+
+	openchrome_crtc_param_init(dev_private, &iga->base, index);
 	goto exit;
 free_crtc:
 	kfree(iga);
+cleanup_cursor:
+	drm_plane_cleanup(cursor);
+free_cursor:
+	kfree(cursor);
+cleanup_primary:
+	drm_plane_cleanup(primary);
+free_primary:
+	kfree(primary);
 exit:
-	DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 	return ret;
 }
diff --git a/drivers/gpu/drm/openchrome/openchrome_display.c b/drivers/gpu/drm/openchrome/openchrome_display.c
index 36c65df1c7d4..a7ebc4926a4b 100644
--- a/drivers/gpu/drm/openchrome/openchrome_display.c
+++ b/drivers/gpu/drm/openchrome/openchrome_display.c
@@ -460,13 +460,9 @@ int
 via_modeset_init(struct drm_device *dev)
 {
 	struct openchrome_drm_private *dev_private = dev->dev_private;
-	struct drm_plane *primary;
-	struct drm_plane *cursor;
 	uint32_t i;
 	int ret = 0;
 
-	DRM_DEBUG_KMS("Entered %s.\n", __func__);
-
 	openchrome_mode_config_init(dev_private);
 
 	/* Initialize the number of display connectors. */
@@ -484,20 +480,10 @@ via_modeset_init(struct drm_device *dev)
 
 	via_hwcursor_init(dev_private);
 
-	ret = openchrome_plane_init(dev_private, &primary, &cursor);
-	if (ret) {
-		DRM_ERROR("Failed to initialize planes!\n");
-		goto free_i2c;
-	}
-
 	for (i = 0; i < OPENCHROME_MAX_CRTC; i++) {
-		ret = openchrome_crtc_init(dev_private,
-						primary,
-						cursor,
-						i);
+		ret = openchrome_crtc_init(dev_private, i);
 		if (ret) {
-			DRM_ERROR("Failed to initialize CRTC!\n");
-			goto free_crtc;
+			goto exit;
 		}
 	}
 
@@ -527,17 +513,11 @@ via_modeset_init(struct drm_device *dev)
 	/* Initialize the frame buffer device. */
 	ret = openchrome_fb_init(dev);
 	if (ret) {
-		goto free_crtc;
+		goto exit;
 	}
 
 	drm_kms_helper_poll_init(dev);
-	goto exit;
-free_crtc:
-	drm_mode_config_cleanup(dev);
-free_i2c:
-	via_i2c_exit();
 exit:
-	DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 	return ret;
 }
 
diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.h b/drivers/gpu/drm/openchrome/openchrome_drv.h
index f6214933157e..1ddc1cf4f7d0 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.h
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.h
@@ -453,13 +453,8 @@ extern void openchrome_fb_fini(struct drm_device *dev);
 /* crtc */
 extern void via_load_crtc_pixel_timing(struct drm_crtc *crtc,
 					struct drm_display_mode *mode);
-int openchrome_plane_init(struct openchrome_drm_private *dev_private,
-				struct drm_plane **p_primary,
-				struct drm_plane **p_cursor);
 int openchrome_crtc_init(struct openchrome_drm_private *dev_private,
-				struct drm_plane *primary,
-				struct drm_plane *cursor,
-				uint32_t i);
+				uint32_t index);
 
 /* encoders */
 extern void via_set_sync_polarity(struct drm_encoder *encoder,


More information about the openchrome-devel mailing list