From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3B22BC433F5 for ; Tue, 8 Mar 2022 08:42:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344945AbiCHInK (ORCPT ); Tue, 8 Mar 2022 03:43:10 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48228 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233181AbiCHInK (ORCPT ); Tue, 8 Mar 2022 03:43:10 -0500 Received: from mail-m121144.qiye.163.com (mail-m121144.qiye.163.com [115.236.121.144]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AB26F3FBDA for ; Tue, 8 Mar 2022 00:42:13 -0800 (PST) Received: from [172.16.12.141] (unknown [58.22.7.114]) by mail-m121144.qiye.163.com (Hmail) with ESMTPA id 2F016AC0510; Tue, 8 Mar 2022 16:42:11 +0800 (CST) Message-ID: Date: Tue, 8 Mar 2022 16:42:10 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Subject: Re: [PATCH v7 22/24] drm: rockchip: Add VOP2 driver Content-Language: en-US To: Daniel Stone Cc: Sascha Hauer , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, Benjamin Gaignard , Sandy Huang , linux-rockchip@lists.infradead.org, Michael Riesch , kernel@pengutronix.de, Peter Geis , linux-arm-kernel@lists.infradead.org References: <20220225075150.2729401-1-s.hauer@pengutronix.de> <20220225075150.2729401-23-s.hauer@pengutronix.de> From: Andy Yan In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-HM-Spam-Status: e1kfGhgUHx5ZQUtXWQgPGg8OCBgUHx5ZQUlOS1dZCBgUCR5ZQVlLVUtZV1 kWDxoPAgseWUFZKDYvK1lXWShZQUlKS0tKN1dZLVlBSVdZDwkaFQgSH1lBWUNPGUJWT0xNT0IaTU MaQkoYVRMBExYaEhckFA4PWVdZFhoPEhUdFFlBWU9LSFVKSktDSUNVS1kG X-HM-Sender-Digest: e1kMHhlZQR0aFwgeV1kSHx4VD1lBWUc6OT46FTo*IT4MMzJOGDgYVjET AR1PC01VSlVKTU9NTElDQkhKQk9MVTMWGhIXVRoVHwJVAhoVOwkUGBBWGBMSCwhVGBQWRVlXWRIL WUFZTkNVSUlVTFVKSk9ZV1kIAVlBT0JDSjcG X-HM-Tid: 0a7f68b168bcb039kuuu2f016ac0510 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Hi Daniel: On 3/7/22 21:09, Daniel Stone wrote: > Hi Andy, > > On Mon, 7 Mar 2022 at 12:18, Andy Yan wrote: >> On 2/25/22 15:51, Sascha Hauer wrote: >>> The VOP2 unit is found on Rockchip SoCs beginning with rk3566/rk3568. >>> It replaces the VOP unit found in the older Rockchip SoCs. >>> >>> This driver has been derived from the downstream Rockchip Kernel and >>> heavily modified: >>> >>> - All nonstandard DRM properties have been removed >>> - dropped struct vop2_plane_state and pass around less data between >>> functions >>> - Dropped all DRM_FORMAT_* not known on upstream >>> - rework register access to get rid of excessively used macros >>> - Drop all waiting for framesyncs >>> >>> The driver is tested with HDMI and MIPI-DSI display on a RK3568-EVB >>> board. Overlay support is tested with the modetest utility. AFBC support >>> on the cluster windows is tested with weston-simple-dmabuf-egl on >>> weston using the (yet to be upstreamed) panfrost driver support. >> When run a weston 10.0.0: >> >> # export XDG_RUNTIME_DIR=/tmp >> # weston --backend=drm-backend.so --use-pixma --tty=2 >> --continue=without-input >> >> I got the following error: >> >> drm_atomic_check_only [PLANE:31:Smart0-win0] CRTC set but no FB > Can you please start Weston with --logger-scopes=log,drm-backend and > attach the output? Please see the weston ouput here[0] This failed is from   drm_atom_plane_check: both CRTC and FB must be set or neither. static int drm_atomic_plane_check(const struct drm_plane_state *old_plane_state,                                   const struct drm_plane_state *new_plane_state) {         struct drm_plane *plane = new_plane_state->plane;         struct drm_crtc *crtc = new_plane_state->crtc;         const struct drm_framebuffer *fb = new_plane_state->fb;         unsigned int fb_width, fb_height;         struct drm_mode_rect *clips;         uint32_t num_clips;         int ret;         /* either *both* CRTC and FB must be set, or neither */         if (crtc && !fb) {                 drm_dbg_atomic(plane->dev, "[PLANE:%d:%s] CRTC set but no FB\n",                                plane->base.id, plane->name);                 return -EINVAL;         } else if (fb && !crtc) {                 drm_dbg_atomic(plane->dev, "[PLANE:%d:%s] FB set but no CRTC\n",                                plane->base.id, plane->name);                 return -EINVAL;         } [0]https://pastebin.com/mGXKqD2S > Cheers, > Daniel