From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753079AbbJWKdS (ORCPT ); Fri, 23 Oct 2015 06:33:18 -0400 Received: from gabe.freedesktop.org ([131.252.210.177]:44844 "EHLO gabe.freedesktop.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752867AbbJWKcr (ORCPT ); Fri, 23 Oct 2015 06:32:47 -0400 From: Eric Anholt To: dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org, David Airlie , Eric Anholt Subject: [PATCH 5/6] drm/vc4: Make sure that planes aren't scaled. Date: Fri, 23 Oct 2015 11:32:35 +0100 Message-Id: <1445596356-28202-6-git-send-email-eric@anholt.net> X-Mailer: git-send-email 2.6.1 In-Reply-To: <1445596356-28202-1-git-send-email-eric@anholt.net> References: <1445596356-28202-1-git-send-email-eric@anholt.net> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We would scan out the memory around them if an upscale was attempted, and would just scan out incorrectly for downscaling. Signed-off-by: Eric Anholt --- It looks like, while modetest only wants to set scaling on overlay planes, one could do so on our primary/cursor planes if the fd was in universal planes mode. drivers/gpu/drm/vc4/vc4_plane.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c index 2db5092..887f3ca 100644 --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c @@ -157,6 +157,16 @@ static int vc4_plane_mode_set(struct drm_plane *plane, int crtc_w = state->crtc_w; int crtc_h = state->crtc_h; + if (state->crtc_w << 16 != state->src_w || + state->crtc_h << 16 != state->src_h) { + /* We don't support scaling yet, which involves + * allocating the LBM memory for scaling temporary + * storage, and putting filter kernels in the HVS + * context. + */ + return -EINVAL; + } + if (crtc_x < 0) { offset += drm_format_plane_cpp(fb->pixel_format, 0) * -crtc_x; crtc_w += crtc_x; -- 2.6.1