diff options
author | Liu Ying <victor.liu@nxp.com> | 2018-11-30 13:50:53 +0800 |
---|---|---|
committer | Bryan O'Donoghue <bryan.odonoghue@linaro.org> | 2019-01-25 16:14:21 +0000 |
commit | 5d0494b7621f938e3d7adb7171fc60da81660ecd (patch) | |
tree | c454ec317f50919ebe07815c9d0be6f35431f609 | |
parent | 414551c356be25c3cb3ca107f2aa3fd531e562b5 (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.c | 20 |
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; |