Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp5084302ybl; Mon, 26 Aug 2019 22:23:03 -0700 (PDT) X-Google-Smtp-Source: APXvYqwHC8APB97R+bMtOmshSVONqgpUhzFbjruNYDbPbPhBOflbSNoVAvuuRTrh4Hxo+hilh7UY X-Received: by 2002:a17:902:d24:: with SMTP id 33mr3809966plu.133.1566883383763; Mon, 26 Aug 2019 22:23:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566883383; cv=none; d=google.com; s=arc-20160816; b=KCrbJMkNuFFkLI0Y2O3VtsfEOXiJ0wzpQhQCsGVYkzu8ulwqOhvleK/jQoR5Ck8jUY cbcD0MTyIe8vGvVjN+LRXqRiEA/2qqyf6Oya6X4n9ztv0vFWO1Gh67jzot/t1cL0xXb7 ZrgiYRHACuX6tGSAisBYbGdohgzj03v6bWyqcyrDpJmfXphW8ftGCMufBiEKAGmf/nPA owpVfrvkUFLECCtKl27xzklHBg9Tmh2gxUFxBvPu9M5bSQK0qTN9Ut7czfe5Ua2srLYu z01yBsgfrhPESmCVnuMnTB0G/pBGlmrI7J0Et99I+8hj48DvgxK4zbo+TKM4p8lkkhut rQ5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=icgGgvn6ISpKqtHnl0/OC8o5RzVP0aOHhNySsQVanCE=; b=w6vSjX0bnphZCD61WNmXMeN0OH0Xekvo8tHczCHq2tVXKhsZl10J0m2jhFo3C69QU8 iJkmftHxaHwggeaeo2srdj5UI6vcXS+xtVoOjCgwLUWa+qfZ/ujvsCfcISQgPyTEMmRI NgCinew6Y1jUPSlNRMDD9TcC0t0aGXCQv4imV6szWf9o1Aqykc9lC2raECKF1iWpjaVW i+ItcReyUHs1P2Lf7s0miJFY80OTedlio4D9IsmSUH0je/PxWcN28g8eVqpol+jivZmX mqDqrFrw/etkVFw+uswo7g4C9aDHLAdbUNeshEpWieCUJbcTh37KDOJgYlXQSmJ6sTxY WyQg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s31si11778390plb.362.2019.08.26.22.22.47; Mon, 26 Aug 2019 22:23:03 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728461AbfH0FV5 (ORCPT + 99 others); Tue, 27 Aug 2019 01:21:57 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44994 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725811AbfH0FV4 (ORCPT ); Tue, 27 Aug 2019 01:21:56 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 4601D3082E25; Tue, 27 Aug 2019 05:21:56 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-95.ams2.redhat.com [10.36.116.95]) by smtp.corp.redhat.com (Postfix) with ESMTP id C750E1E0; Tue, 27 Aug 2019 05:21:55 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 223D01747D; Tue, 27 Aug 2019 07:21:54 +0200 (CEST) Date: Tue, 27 Aug 2019 07:21:54 +0200 From: Gerd Hoffmann To: Chia-I Wu Cc: ML dri-devel , David Airlie , open list , "open list:VIRTIO GPU DRIVER" Subject: Re: [PATCH v2] drm/virtio: add plane check Message-ID: <20190827052154.etk4jbx45hsrl7z5@sirius.home.kraxel.org> References: <20190822094657.27483-1-kraxel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20180716 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Tue, 27 Aug 2019 05:21:56 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Aug 26, 2019 at 03:34:56PM -0700, Chia-I Wu wrote: > On Thu, Aug 22, 2019 at 2:47 AM Gerd Hoffmann wrote: > > > > Use drm_atomic_helper_check_plane_state() > > to sanity check the plane state. > > > > Signed-off-by: Gerd Hoffmann > > --- > > drivers/gpu/drm/virtio/virtgpu_plane.c | 17 ++++++++++++++++- > > 1 file changed, 16 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/virtio/virtgpu_plane.c b/drivers/gpu/drm/virtio/virtgpu_plane.c > > index a492ac3f4a7e..fe5efb2de90d 100644 > > --- a/drivers/gpu/drm/virtio/virtgpu_plane.c > > +++ b/drivers/gpu/drm/virtio/virtgpu_plane.c > > @@ -84,7 +84,22 @@ static const struct drm_plane_funcs virtio_gpu_plane_funcs = { > > static int virtio_gpu_plane_atomic_check(struct drm_plane *plane, > > struct drm_plane_state *state) > > { > > - return 0; > > + bool is_cursor = plane->type == DRM_PLANE_TYPE_CURSOR; > > + struct drm_crtc_state *crtc_state; > > + int ret; > > + > > + if (!state->fb || !state->crtc) > > + return 0; > > + > > + crtc_state = drm_atomic_get_crtc_state(state->state, state->crtc); > > + if (IS_ERR(crtc_state)) > > + return PTR_ERR(crtc_state); > Is drm_atomic_get_new_crtc_state better here? We don't have to worry about old/new state here. The drm_plane_state we get passed is the state we should check in this callback (and I think this always is the new state). cheers, Gerd