summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiu Ying <victor.liu@nxp.com>2018-11-30 13:50:53 +0800
committerBryan O'Donoghue <bryan.odonoghue@linaro.org>2019-05-01 17:43:30 +0100
commit3fa3b8ec9af44d736d9734b22b13c5cae3aeb773 (patch)
treef1ff2224a03d5eb46a8b82e39229dfff492fd2ad
parent16fadfab28f751344049b854c8b9d795daa86916 (diff)
MLK-20508 drm/imx: dpu: plane: Revert a patch related to tile to linear fb switch
The root cause of the on-the-fly switch from tile to linear fb switch issue is identified, so the full modeset workaround is no more needed. Patch "MLK-20506 gpu: imx: imx8_dprc: Set CROP_ULC_X/Y to be zero for linear fb" is the correct fix for this issue. Revert "MLK-20470 drm/imx: dpu: plane: Do full modeset for tile to linear fb switch" This reverts commit 9245bbf650fdeb79ebf869d48b6bd1b43c2bcf3b. Signed-off-by: Liu Ying <victor.liu@nxp.com> (cherry picked from commit 7812bebe9c60a6ce954ce5ad504a6be002835462)
-rw-r--r--drivers/gpu/drm/imx/dpu/dpu-plane.c20
1 files changed, 0 insertions, 20 deletions
diff --git a/drivers/gpu/drm/imx/dpu/dpu-plane.c b/drivers/gpu/drm/imx/dpu/dpu-plane.c
index c14f9db57c7e..ca49176a7624 100644
--- a/drivers/gpu/drm/imx/dpu/dpu-plane.c
+++ b/drivers/gpu/drm/imx/dpu/dpu-plane.c
@@ -20,7 +20,6 @@
#include <drm/drm_plane_helper.h>
#include <video/dpu.h>
#include <video/imx8-prefetch.h>
-#include "dpu-crtc.h"
#include "dpu-plane.h"
#include "imx-drm.h"
@@ -246,10 +245,7 @@ static int dpu_plane_atomic_check(struct drm_plane *plane,
struct dpu_plane_state *old_dpstate = to_dpu_plane_state(plane->state);
struct dpu_plane_res *res = &dplane->grp->res;
struct drm_crtc_state *crtc_state;
- struct imx_crtc_state *imx_crtc_state;
- struct dpu_crtc_state *dcstate;
struct drm_framebuffer *fb = state->fb;
- struct drm_framebuffer *old_fb = plane->state->fb;
struct dpu_fetchunit *fu;
struct dprc *dprc;
dma_addr_t baseaddr, uv_baseaddr = 0;
@@ -335,22 +331,6 @@ static int dpu_plane_atomic_check(struct drm_plane *plane,
(dpstate->base_y != old_dpstate->base_y))
crtc_state->mode_changed = true;
- /*
- * FIXME:
- * When pixel combiner is used, it turns out that on-the-fly
- * switch from tile fb to linear fb would cause hardware
- * malfunction - right half display would be missing and
- * master&slave content shadow load done event won't come.
- * Thus, go for a full modeset as a workaround. This could
- * be over-kill for some cases, however, since we usually
- * don't do this kind of switch in real graphics, it should
- * be fine.
- */
- imx_crtc_state = to_imx_crtc_state(crtc_state);
- dcstate = to_dpu_crtc_state(imx_crtc_state);
- if (dcstate->use_pc && old_fb && old_fb->modifier && !fb->modifier)
- crtc_state->mode_changed = true;
-
if (state->crtc_x + state->crtc_w >
crtc_state->adjusted_mode.hdisplay)
return -EINVAL;