diff options
author | Mark Yao <mark.yao@rock-chips.com> | 2015-07-20 11:02:47 +0300 |
---|---|---|
committer | Mark Yao <mark.yao@rock-chips.com> | 2015-08-26 09:16:26 +0300 |
commit | acf8c3e0a9eb5658e6ac4379cba51dba9b941083 (patch) | |
tree | 328187e6ddc25199cd33c6e00b04e128bc10ca89 /drivers/gpu/drm/rockchip | |
parent | f1c79abef5bae62aefcadf16917905cb7f98dc19 (diff) | |
download | linux-acf8c3e0a9eb5658e6ac4379cba51dba9b941083.tar.xz |
drm/rockchip: vop: Fix window dest start point
Dest start point use crtc_x/y is wrong, crtc_x/y is not equal
to dest.x1/y1 at plane scale.
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Diffstat (limited to 'drivers/gpu/drm/rockchip')
-rw-r--r-- | drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c index 6b447318ef51..da72de9eb3d5 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -657,11 +657,9 @@ static int vop_update_plane_event(struct drm_plane *plane, actual_w = (src.x2 - src.x1) >> 16; actual_h = (src.y2 - src.y1) >> 16; - crtc_x = max(0, crtc_x); - crtc_y = max(0, crtc_y); - dsp_stx = crtc_x + crtc->mode.htotal - crtc->mode.hsync_start; - dsp_sty = crtc_y + crtc->mode.vtotal - crtc->mode.vsync_start; + dsp_stx = dest.x1 + crtc->mode.htotal - crtc->mode.hsync_start; + dsp_sty = dest.y1 + crtc->mode.vtotal - crtc->mode.vsync_start; offset = (src.x1 >> 16) * (fb->bits_per_pixel >> 3); offset += (src.y1 >> 16) * fb->pitches[0]; |