drm/msm/mdp5: clip img size to src size
authorRob Clark <robdclark@gmail.com>
Wed, 2 Nov 2016 13:51:06 +0000 (09:51 -0400)
committerRob Clark <robdclark@gmail.com>
Sat, 26 Nov 2016 20:45:17 +0000 (15:45 -0500)
If fb dimensions are larger than what can be scanned out, but the src
dimensions are not, the hw can still handle this.  So clip.

Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c

index 81c0562ab489c30985bb70386187a4468ef83074..ba4ebfad69da80e17e799721593298f28a81cd00 100644 (file)
@@ -771,8 +771,8 @@ static int mdp5_plane_mode_set(struct drm_plane *plane,
        spin_lock_irqsave(&mdp5_plane->pipe_lock, flags);
 
        mdp5_write(mdp5_kms, REG_MDP5_PIPE_SRC_IMG_SIZE(pipe),
-                       MDP5_PIPE_SRC_IMG_SIZE_WIDTH(fb->width) |
-                       MDP5_PIPE_SRC_IMG_SIZE_HEIGHT(fb->height));
+                       MDP5_PIPE_SRC_IMG_SIZE_WIDTH(min(fb->width, src_w)) |
+                       MDP5_PIPE_SRC_IMG_SIZE_HEIGHT(min(fb->height, src_h)));
 
        mdp5_write(mdp5_kms, REG_MDP5_PIPE_SRC_SIZE(pipe),
                        MDP5_PIPE_SRC_SIZE_WIDTH(src_w) |