FAILED: patch "[PATCH] drm/imx: ipuv3-plane: Skip setting u/vbo only when we don't" failed to apply to 4.8-stable tree
Subsystems (4)
[email protected]
maintainerThe patch below does not apply to the 4.8-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
81d553545a1510ff7c7c00cbc9b57d6172d411a4Mon Sep 17 00:00:00 2001
From: Liu Ying <[email protected]>
Date: Mon, 10 Oct 2016 14:50:07 +0800
Subject: [PATCH] drm/imx: ipuv3-plane: Skip setting u/vbo only when we don't
need modeset
We added active plane reconfiguration support by forcing a full modeset operation. So, looking at old_plane_state->fb to determine whether we need to set u/v offset(aka, u/vbo for IPUv3) in ipu_plane_atomic_set_base() or not is no more correct. Instead, we should do that only when we don't need modeset.
drivers/gpu/drm/imx/ipuv3-plane.c +4 -5
@@ -103,8 +103,7 @@ drm_plane_state_to_vbo(struct drm_plane_state *state) (state->src_x >>16 ) /2 - eba; } -static void ipu_plane_atomic_set_base (struct ipu_plane *ipu_plane, -struct drm_plane_state *old_state) +static void ipu_plane_atomic_set_base (struct ipu_plane *ipu_plane) {struct drm_plane *plane = &ipu_plane->base;struct drm_plane_state *state = plane->state;
@@ -118,7 +117,7 @@ static void ipu_plane_atomic_set_base(struct ipu_plane *ipu_plane,switch (fb->pixel_format) {case DRM_FORMAT_YUV420 :case DRM_FORMAT_YVU420 : -if (old_state->fb) +if (!drm_atomic_crtc_needs_modeset (crtc_state))break ;/*
@@ -393,7 +392,7 @@ static void ipu_plane_atomic_update(struct drm_plane *plane,struct drm_crtc_state *crtc_state = state->crtc->state;if (!drm_atomic_crtc_needs_modeset (crtc_state)) { -ipu_plane_atomic_set_base (ipu_plane, old_state); +ipu_plane_atomic_set_base (ipu_plane);return ; } }
@@ -438,7 +437,7 @@ static void ipu_plane_atomic_update(struct drm_plane *plane,ipu_cpmem_set_high_priority (ipu_plane->ipu_ch);ipu_idmac_set_double_buffer (ipu_plane->ipu_ch,1 );ipu_cpmem_set_stride (ipu_plane->ipu_ch, state->fb->pitches[0 ]); -ipu_plane_atomic_set_base (ipu_plane, old_state); +ipu_plane_atomic_set_base (ipu_plane);ipu_plane_enable (ipu_plane); }