[PATCH 1/2] drm/amdgpu: Drop amdgpu_plane
Deucher, Alexander
Alexander.Deucher at amd.com
Mon Nov 5 20:52:41 UTC 2018
> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of
> Harry Wentland
> Sent: Monday, November 5, 2018 3:45 PM
> To: amd-gfx at lists.freedesktop.org
> Cc: Wentland, Harry <Harry.Wentland at amd.com>
> Subject: [PATCH 1/2] drm/amdgpu: Drop amdgpu_plane
>
> It's unnecessarily duplicating drm_plane_type.
>
> Signed-off-by: Harry Wentland <harry.wentland at amd.com>
Reviewed-by: Alex Deucher <alexander.deucher at 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 f8ec8a146663..595ed8a757d3 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -105,7 +105,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,
> @@ -1633,18 +1633,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
> @@ -1735,7 +1735,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;
> }
> @@ -3532,49 +3532,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;
> @@ -3585,7 +3585,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;
>
> @@ -3593,7 +3593,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);
> @@ -3604,7 +3604,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.19.1
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list