mirror of
https://github.com/armbian/build.git
synced 2025-08-15 07:36:57 +02:00
76 lines
2.4 KiB
Diff
76 lines
2.4 KiB
Diff
From 5c2859b3cccd1b1b3f1700fd70c06770f418247a Mon Sep 17 00:00:00 2001
|
|
From: Jernej Skrabec <jernej.skrabec@gmail.com>
|
|
Date: Sun, 29 Sep 2024 22:04:36 +1300
|
|
Subject: drm: sun4i: de2: Initialize layer fields earlier
|
|
|
|
drm_universal_plane_init() can already call some callbacks, like
|
|
format_mod_supported, during initialization. Because of that, fields
|
|
should be initialized beforehand.
|
|
|
|
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
|
|
Co-developed-by: Ryan Walklin <ryan@testtoast.com>
|
|
Signed-off-by: Ryan Walklin <ryan@testtoast.com>
|
|
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
|
|
---
|
|
drivers/gpu/drm/sun4i/sun8i_ui_layer.c | 9 +++++----
|
|
drivers/gpu/drm/sun4i/sun8i_vi_layer.c | 9 +++++----
|
|
2 files changed, 10 insertions(+), 8 deletions(-)
|
|
|
|
diff --git a/drivers/gpu/drm/sun4i/sun8i_ui_layer.c b/drivers/gpu/drm/sun4i/sun8i_ui_layer.c
|
|
index aa987bca1dbb..cb9b694fef10 100644
|
|
--- a/drivers/gpu/drm/sun4i/sun8i_ui_layer.c
|
|
+++ b/drivers/gpu/drm/sun4i/sun8i_ui_layer.c
|
|
@@ -295,6 +295,11 @@ struct sun8i_layer *sun8i_ui_layer_init_one(struct drm_device *drm,
|
|
if (!layer)
|
|
return ERR_PTR(-ENOMEM);
|
|
|
|
+ layer->mixer = mixer;
|
|
+ layer->type = SUN8I_LAYER_TYPE_UI;
|
|
+ layer->channel = channel;
|
|
+ layer->overlay = 0;
|
|
+
|
|
if (index == 0)
|
|
type = DRM_PLANE_TYPE_PRIMARY;
|
|
|
|
@@ -325,10 +330,6 @@ struct sun8i_layer *sun8i_ui_layer_init_one(struct drm_device *drm,
|
|
}
|
|
|
|
drm_plane_helper_add(&layer->plane, &sun8i_ui_layer_helper_funcs);
|
|
- layer->mixer = mixer;
|
|
- layer->type = SUN8I_LAYER_TYPE_UI;
|
|
- layer->channel = channel;
|
|
- layer->overlay = 0;
|
|
|
|
return layer;
|
|
}
|
|
diff --git a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c b/drivers/gpu/drm/sun4i/sun8i_vi_layer.c
|
|
index f3a5329351ca..3c657b069d1f 100644
|
|
--- a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c
|
|
+++ b/drivers/gpu/drm/sun4i/sun8i_vi_layer.c
|
|
@@ -478,6 +478,11 @@ struct sun8i_layer *sun8i_vi_layer_init_one(struct drm_device *drm,
|
|
if (!layer)
|
|
return ERR_PTR(-ENOMEM);
|
|
|
|
+ layer->mixer = mixer;
|
|
+ layer->type = SUN8I_LAYER_TYPE_VI;
|
|
+ layer->channel = index;
|
|
+ layer->overlay = 0;
|
|
+
|
|
if (mixer->cfg->is_de3) {
|
|
formats = sun8i_vi_layer_de3_formats;
|
|
format_count = ARRAY_SIZE(sun8i_vi_layer_de3_formats);
|
|
@@ -536,10 +541,6 @@ struct sun8i_layer *sun8i_vi_layer_init_one(struct drm_device *drm,
|
|
}
|
|
|
|
drm_plane_helper_add(&layer->plane, &sun8i_vi_layer_helper_funcs);
|
|
- layer->mixer = mixer;
|
|
- layer->type = SUN8I_LAYER_TYPE_VI;
|
|
- layer->channel = index;
|
|
- layer->overlay = 0;
|
|
|
|
return layer;
|
|
}
|
|
--
|
|
2.35.3
|
|
|