[Intel-gfx] [PATCH v2 13/13] drm/i915: Pass the plane to icl_program_input_csc_coeff()
Shankar, Uma
uma.shankar at intel.com
Thu Nov 15 11:18:45 UTC 2018
>-----Original Message-----
>From: Ville Syrjala [mailto:ville.syrjala at linux.intel.com]
>Sent: Thursday, November 15, 2018 2:37 AM
>To: intel-gfx at lists.freedesktop.org
>Cc: Shankar, Uma <uma.shankar at intel.com>; Maarten Lankhorst
><maarten.lankhorst at linux.intel.com>
>Subject: [PATCH v2 13/13] drm/i915: Pass the plane to
>icl_program_input_csc_coeff()
>
>From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
>On icl+ the plane state that gets passed to update_slave() is not the plane state of
>the plane we're programming. With NV12 the plane state would be coming from
>the master (UV) plane whereas the plane we're programming is the slave (Y)
>plane. For that reason we need to explicitly pass around the slave plane (or we'd
>have to otherwise deduce it by checking whether we were called via
>.update_plane() or .update_slave()).
>
>In the case of icl_program_input_csc_coeff() it's actually OK to assume that we
>are always the master plane because the input CSC only exists on HDR planes
>which can never be a slave plane. But for consistency let's pass in the plane
>explicitly anyway.
>
>While at it drop the "_coeff" from the function name since it's kinda redundant,
>and this makes the name a bit shorter :)
Changes look ok to me.
Reviewed-by: Uma Shankar <uma.shankar at intel.com>
>Cc: Uma Shankar <uma.shankar at intel.com>
>Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
>Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
>---
> drivers/gpu/drm/i915/intel_sprite.c | 14 ++++++--------
> 1 file changed, 6 insertions(+), 8 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/intel_sprite.c
>b/drivers/gpu/drm/i915/intel_sprite.c
>index 0262159e7084..ee4c37a613f7 100644
>--- a/drivers/gpu/drm/i915/intel_sprite.c
>+++ b/drivers/gpu/drm/i915/intel_sprite.c
>@@ -373,14 +373,12 @@ skl_program_scaler(struct intel_plane *plane,
> #define BOFF(x) (((x) & 0xffff) << 16)
>
> static void
>-icl_program_input_csc_coeff(const struct intel_crtc_state *crtc_state,
>- const struct intel_plane_state *plane_state)
>+icl_program_input_csc(struct intel_plane *plane,
>+ const struct intel_crtc_state *crtc_state,
>+ const struct intel_plane_state *plane_state)
> {
>- struct drm_i915_private *dev_priv =
>- to_i915(plane_state->base.plane->dev);
>- struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
>- enum pipe pipe = crtc->pipe;
>- struct intel_plane *plane = to_intel_plane(plane_state->base.plane);
>+ struct drm_i915_private *dev_priv = to_i915(plane->base.dev);
>+ enum pipe pipe = plane->pipe;
> enum plane_id plane_id = plane->id;
>
> static const u16 input_csc_matrix[][9] = { @@ -540,7 +538,7 @@
>skl_program_plane(struct intel_plane *plane,
> plane_state->color_ctl);
>
> if (fb->format->is_yuv && icl_is_hdr_plane(plane))
>- icl_program_input_csc_coeff(crtc_state, plane_state);
>+ icl_program_input_csc(plane, crtc_state, plane_state);
>
> skl_write_plane_wm(plane, crtc_state);
>
>--
>2.18.1
More information about the Intel-gfx
mailing list