aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/0752-drm-amdgpu-Drop-amdgpu_plane.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/0752-drm-amdgpu-Drop-amdgpu_plane.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/0752-drm-amdgpu-Drop-amdgpu_plane.patch183
1 files changed, 183 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/0752-drm-amdgpu-Drop-amdgpu_plane.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/0752-drm-amdgpu-Drop-amdgpu_plane.patch
new file mode 100644
index 00000000..fd288a5d
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/0752-drm-amdgpu-Drop-amdgpu_plane.patch
@@ -0,0 +1,183 @@
+From 5cd6525c75833a49d5f1141659e56e1baaf232ac Mon Sep 17 00:00:00 2001
+From: Harry Wentland <harry.wentland@amd.com>
+Date: Fri, 5 Oct 2018 11:58:34 -0400
+Subject: [PATCH 0752/2940] drm/amdgpu: Drop amdgpu_plane
+
+It's unnecessarily duplicating drm_plane_type.
+
+Signed-off-by: Harry Wentland <harry.wentland@amd.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 8 +---
+ .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 38 +++++++++----------
+ 2 files changed, 20 insertions(+), 26 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
+index f91a9bdcd63c..1627dd3413c7 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
+@@ -57,7 +57,6 @@ struct amdgpu_hpd;
+ #define to_amdgpu_connector(x) container_of(x, struct amdgpu_connector, base)
+ #define to_amdgpu_encoder(x) container_of(x, struct amdgpu_encoder, base)
+ #define to_amdgpu_framebuffer(x) container_of(x, struct amdgpu_framebuffer, base)
+-#define to_amdgpu_plane(x) container_of(x, struct amdgpu_plane, base)
+
+ #define to_dm_plane_state(x) container_of(x, struct dm_plane_state, base);
+
+@@ -325,7 +324,7 @@ struct amdgpu_mode_info {
+ struct card_info *atom_card_info;
+ bool mode_config_initialized;
+ struct amdgpu_crtc *crtcs[AMDGPU_MAX_CRTCS];
+- struct amdgpu_plane *planes[AMDGPU_MAX_PLANES];
++ struct drm_plane *planes[AMDGPU_MAX_PLANES];
+ struct amdgpu_afmt *afmt[AMDGPU_MAX_AFMT_BLOCKS];
+ /* DVI-I properties */
+ struct drm_property *coherent_mode_property;
+@@ -438,11 +437,6 @@ struct amdgpu_crtc {
+ struct drm_pending_vblank_event *event;
+ };
+
+-struct amdgpu_plane {
+- struct drm_plane base;
+- enum drm_plane_type plane_type;
+-};
+-
+ struct amdgpu_encoder_atom_dig {
+ bool linkb;
+ /* atom dig */
+diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+index 4f8dcde5dbe7..4372ea9e5aaf 100644
+--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+@@ -99,7 +99,7 @@ static void
+ amdgpu_dm_update_connector_after_detect(struct amdgpu_dm_connector *aconnector);
+
+ static int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm,
+- struct amdgpu_plane *aplane,
++ struct drm_plane *plane,
+ unsigned long possible_crtcs);
+ static int amdgpu_dm_crtc_init(struct amdgpu_display_manager *dm,
+ struct drm_plane *plane,
+@@ -1640,18 +1640,18 @@ static int initialize_plane(struct amdgpu_display_manager *dm,
+ struct amdgpu_mode_info *mode_info,
+ int plane_id)
+ {
+- struct amdgpu_plane *plane;
++ struct drm_plane *plane;
+ unsigned long possible_crtcs;
+ int ret = 0;
+
+- plane = kzalloc(sizeof(struct amdgpu_plane), GFP_KERNEL);
++ plane = kzalloc(sizeof(struct drm_plane), GFP_KERNEL);
+ mode_info->planes[plane_id] = plane;
+
+ if (!plane) {
+ DRM_ERROR("KMS: Failed to allocate plane\n");
+ return -ENOMEM;
+ }
+- plane->base.type = mode_info->plane_type[plane_id];
++ plane->type = mode_info->plane_type[plane_id];
+
+ /*
+ * HACK: IGT tests expect that each plane can only have
+@@ -1742,7 +1742,7 @@ static int amdgpu_dm_initialize_drm_device(struct amdgpu_device *adev)
+ }
+
+ for (i = 0; i < dm->dc->caps.max_streams; i++)
+- if (amdgpu_dm_crtc_init(dm, &mode_info->planes[i]->base, i)) {
++ if (amdgpu_dm_crtc_init(dm, mode_info->planes[i], i)) {
+ DRM_ERROR("KMS: Failed to initialize crtc\n");
+ goto fail;
+ }
+@@ -3557,49 +3557,49 @@ static const u32 cursor_formats[] = {
+ };
+
+ static int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm,
+- struct amdgpu_plane *aplane,
++ struct drm_plane *plane,
+ unsigned long possible_crtcs)
+ {
+ int res = -EPERM;
+
+- switch (aplane->base.type) {
++ switch (plane->type) {
+ case DRM_PLANE_TYPE_PRIMARY:
+ res = drm_universal_plane_init(
+ dm->adev->ddev,
+- &aplane->base,
++ plane,
+ possible_crtcs,
+ &dm_plane_funcs,
+ rgb_formats,
+ ARRAY_SIZE(rgb_formats),
+- NULL, aplane->base.type, NULL);
++ NULL, plane->type, NULL);
+ break;
+ case DRM_PLANE_TYPE_OVERLAY:
+ res = drm_universal_plane_init(
+ dm->adev->ddev,
+- &aplane->base,
++ plane,
+ possible_crtcs,
+ &dm_plane_funcs,
+ yuv_formats,
+ ARRAY_SIZE(yuv_formats),
+- NULL, aplane->base.type, NULL);
++ NULL, plane->type, NULL);
+ break;
+ case DRM_PLANE_TYPE_CURSOR:
+ res = drm_universal_plane_init(
+ dm->adev->ddev,
+- &aplane->base,
++ plane,
+ possible_crtcs,
+ &dm_plane_funcs,
+ cursor_formats,
+ ARRAY_SIZE(cursor_formats),
+- NULL, aplane->base.type, NULL);
++ NULL, plane->type, NULL);
+ break;
+ }
+
+- drm_plane_helper_add(&aplane->base, &dm_plane_helper_funcs);
++ drm_plane_helper_add(plane, &dm_plane_helper_funcs);
+
+ /* Create (reset) the plane state */
+- if (aplane->base.funcs->reset)
+- aplane->base.funcs->reset(&aplane->base);
++ if (plane->funcs->reset)
++ plane->funcs->reset(plane);
+
+
+ return res;
+@@ -3610,7 +3610,7 @@ static int amdgpu_dm_crtc_init(struct amdgpu_display_manager *dm,
+ uint32_t crtc_index)
+ {
+ struct amdgpu_crtc *acrtc = NULL;
+- struct amdgpu_plane *cursor_plane;
++ struct drm_plane *cursor_plane;
+
+ int res = -ENOMEM;
+
+@@ -3618,7 +3618,7 @@ static int amdgpu_dm_crtc_init(struct amdgpu_display_manager *dm,
+ if (!cursor_plane)
+ goto fail;
+
+- cursor_plane->base.type = DRM_PLANE_TYPE_CURSOR;
++ cursor_plane->type = DRM_PLANE_TYPE_CURSOR;
+ res = amdgpu_dm_plane_init(dm, cursor_plane, 0);
+
+ acrtc = kzalloc(sizeof(struct amdgpu_crtc), GFP_KERNEL);
+@@ -3629,7 +3629,7 @@ static int amdgpu_dm_crtc_init(struct amdgpu_display_manager *dm,
+ dm->ddev,
+ &acrtc->base,
+ plane,
+- &cursor_plane->base,
++ cursor_plane,
+ &amdgpu_dm_crtc_funcs, NULL);
+
+ if (res)
+--
+2.17.1
+