[Intel-gfx] [PATCH 07/12] drm/i915: Add aliases for uapi and hw to plane_state
Ville Syrjälä
ville.syrjala at linux.intel.com
Thu Oct 31 14:53:15 UTC 2019
On Thu, Oct 31, 2019 at 12:26:05PM +0100, Maarten Lankhorst wrote:
> Prepare to split up hw and uapi machinally, by adding a uapi and
> hw alias. We will remove the base in a bit. This is a split from the
> original uapi/hw patch, which did it all in one go.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> ---
> .../gpu/drm/i915/display/intel_atomic_plane.c | 16 ++++++++--------
> .../gpu/drm/i915/display/intel_display_types.h | 8 ++++++--
> 2 files changed, 14 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> index 4558c0b29fc1..393fb97a3dca 100644
> --- a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> +++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> @@ -80,22 +80,20 @@ void intel_plane_free(struct intel_plane *plane)
> struct drm_plane_state *
> intel_plane_duplicate_state(struct drm_plane *plane)
> {
> - struct drm_plane_state *state;
> struct intel_plane_state *intel_state;
>
> - intel_state = kmemdup(plane->state, sizeof(*intel_state), GFP_KERNEL);
> + intel_state = to_intel_plane_state(plane->state);
> + intel_state = kmemdup(intel_state, sizeof(*intel_state), GFP_KERNEL);
>
> if (!intel_state)
> return NULL;
>
> - state = &intel_state->base;
> -
> - __drm_atomic_helper_plane_duplicate_state(plane, state);
> + __drm_atomic_helper_plane_duplicate_state(plane, &intel_state->base);
>
> intel_state->vma = NULL;
> intel_state->flags = 0;
>
> - return state;
> + return &intel_state->base;
Could use a bit of cleanup on the variable names, but let's do that
later.
Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> }
>
> /**
> @@ -110,9 +108,11 @@ void
> intel_plane_destroy_state(struct drm_plane *plane,
> struct drm_plane_state *state)
> {
> - WARN_ON(to_intel_plane_state(state)->vma);
> + struct intel_plane_state *plane_state = to_intel_plane_state(state);
> + WARN_ON(plane_state->vma);
>
> - drm_atomic_helper_plane_destroy_state(plane, state);
> + __drm_atomic_helper_plane_destroy_state(&plane_state->base);
> + kfree(plane_state);
> }
>
> unsigned int intel_plane_data_rate(const struct intel_crtc_state *crtc_state,
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 9319ca682105..6036b2b3980b 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -523,7 +523,11 @@ struct intel_atomic_state {
> };
>
> struct intel_plane_state {
> - struct drm_plane_state base;
> + union {
> + struct drm_plane_state base;
> + struct drm_plane_state uapi;
> + struct drm_plane_state hw;
> + };
> struct i915_ggtt_view view;
> struct i915_vma *vma;
> unsigned long flags;
> @@ -1143,7 +1147,7 @@ struct cxsr_latency {
> #define to_intel_encoder(x) container_of(x, struct intel_encoder, base)
> #define to_intel_framebuffer(x) container_of(x, struct intel_framebuffer, base)
> #define to_intel_plane(x) container_of(x, struct intel_plane, base)
> -#define to_intel_plane_state(x) container_of(x, struct intel_plane_state, base)
> +#define to_intel_plane_state(x) container_of(x, struct intel_plane_state, uapi)
> #define intel_fb_obj(x) ((x) ? to_intel_bo((x)->obj[0]) : NULL)
>
> struct intel_hdmi {
> --
> 2.24.0.rc1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ville Syrjälä
Intel
More information about the Intel-gfx
mailing list