Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp391249rwr; Thu, 20 Apr 2023 00:28:20 -0700 (PDT) X-Google-Smtp-Source: AKy350bJX8MVfcck11rktcxo4r6kV+FS1z5N9dQPdJ97RxQ+f7NeO4ZwZcQdEXdW7SGZUC81obYi X-Received: by 2002:a17:903:26c9:b0:1a2:7462:d674 with SMTP id jg9-20020a17090326c900b001a27462d674mr5048668plb.24.1681975699893; Thu, 20 Apr 2023 00:28:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681975699; cv=none; d=google.com; s=arc-20160816; b=JJJ3uGAxPQm6/Q3qEElEnU2YKHkR+kujVLsstzF3uTwgbn+ujBLBiCczDUBgXdwul+ msxVPMr57HNbaAP5Z6h/a8+M1CNtQctcCUBaigXSAi7KRGFKCM7CnbUJwpjH50E+gP0P EGrHQLLTuREgGukCfSVQ4E8+yK687ws0taD9BHxMIpoxM5V6WLQajrtfolBp03OYBKno NDaHCMzFIiAFkBNqytOFHmDDIHI4b1ytZVEKtNMMeBFeWokK4rjV5R1d/+0dnib44iXj ImSYtLGvcc/pG9RpItzmvXDzYLF1ad+ZaIxNe3t9zcXjHiyF87azCGbtl2icQnyU/2v4 TdXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=LaCVvuCh0ifaod/8Osz9wRqo6LYk9iFhMUaDZ5ywzU4=; b=Jlo4E3Ef0eO13n4nrAKO93ZeQ1agvKKOpZdWfj6dGO67zCZtgrrsPjYzcWtT0P7DhU 3PdSnT95lmdjyr5xN438uYc4/3OOItPhmq2qZjaAxtToiXkyBw6E4waUdD6GLHqO9jSp quKV1Nol1FdJs9u+Q+6tX3iviW/jSKFwOrq2hhfHjF8I9gVWYwmFgAk/usfg2Qk5Kk6z /w2rpJUINgaG5oo4CLkIQcxG7Xz1mzcbvx08jqkIPWNl/hO3nwgZ9kLmfT0KMFdMrREv vpAlSzLI+mA1lw5KUCBGKByrrYuou+b6vgL7S8p1Jg8yGBDYAiKuUwl2UteYDd8DL+5O HK3w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@freebox-fr.20221208.gappssmtp.com header.s=20221208 header.b=HSxwHGoF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m20-20020a635814000000b005023dfa3c68si992977pgb.145.2023.04.20.00.28.06; Thu, 20 Apr 2023 00:28:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@freebox-fr.20221208.gappssmtp.com header.s=20221208 header.b=HSxwHGoF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233735AbjDTH0k (ORCPT + 99 others); Thu, 20 Apr 2023 03:26:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39584 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233449AbjDTH0i (ORCPT ); Thu, 20 Apr 2023 03:26:38 -0400 Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com [IPv6:2a00:1450:4864:20::630]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3E2CDC6 for ; Thu, 20 Apr 2023 00:26:37 -0700 (PDT) Received: by mail-ej1-x630.google.com with SMTP id a5so4219393ejb.6 for ; Thu, 20 Apr 2023 00:26:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebox-fr.20221208.gappssmtp.com; s=20221208; t=1681975596; x=1684567596; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=LaCVvuCh0ifaod/8Osz9wRqo6LYk9iFhMUaDZ5ywzU4=; b=HSxwHGoFkt1pfTNx3P/aMn78Qft/H5J/iUpd5Dtt67Q3lLbJ2cqELZ280B8RVP9ZI6 3YEMJHi59bhftwaSq+SH/3AXJhaP72uPkdWkxKcscMJxNwhsArxyCQV7s5V83hTyicNF nfjlFpvVTHCEdsqLwdIe8aEJFzXtSrtI/GvaNr8cKS6z9VHGyaaq4Dns5byfIuQr3B/g QY46hQIq0uY417faOyPO4xbA9sv6kwLDQzVR6AVEpIOMOkDjU2X38NFzBnTFtIBRCzsn J8DeyanOx0w8Wa8rRbKW0DbN7Z7jtmPwVRGE8siIG3mhgk7dzNOISL3OOSA5cpmjtj3d ZFMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681975596; x=1684567596; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LaCVvuCh0ifaod/8Osz9wRqo6LYk9iFhMUaDZ5ywzU4=; b=IP0azk2DStbn26poagxni3v841/eTYnDBuhyz5ILGnDNnp4OYGQN25k/aUHZbRXofv N01SjvkXFKzgTZR6tnwHUjiDFhLRpn5WklAyPzOIwqpIK0zomi4xiiRxen4nTaeIy0AI HC+Nujl5w7umEmVXwXES3X9dqmRDqQ19lpeWwgGeCbP4X9goY2llHeCj5vr9F2o3VB93 ujwtSkpmHHHjZk5AdUZzxjkuNNIt5oCSTlxBvsZ3TXdle9a7mVl0fS/i5qauwMnsFInp iwcaym4Dgl7wC9gOPmirqbG+bMkDVyfJ+ZFTKcvRjm6NjL3TORq4+T/iXonACfx7vDwr 4xPQ== X-Gm-Message-State: AAQBX9fWyKfUamxclX3iJGf4tMlhz83YLb0xCqp0M2yn9sV2htmWVdbk G369sEqb9mXpzesqZRmDSpaX2WMhI/HvGHexJFGW X-Received: by 2002:a17:906:4b17:b0:94a:4c68:c1aa with SMTP id y23-20020a1709064b1700b0094a4c68c1aamr241124eju.7.1681975595637; Thu, 20 Apr 2023 00:26:35 -0700 (PDT) MIME-Version: 1.0 References: <20230419-dpu-tweaks-v1-0-d1bac46db075@freebox.fr> <20230419-dpu-tweaks-v1-4-d1bac46db075@freebox.fr> <74c59560-8a79-150f-0c1e-13f22eb35cb2@linaro.org> In-Reply-To: <74c59560-8a79-150f-0c1e-13f22eb35cb2@linaro.org> From: Arnaud Vrac Date: Thu, 20 Apr 2023 09:26:24 +0200 Message-ID: Subject: Re: [PATCH 04/11] drm/msm/dpu: allow using lm mixer base stage To: Dmitry Baryshkov Cc: Rob Clark , Abhinav Kumar , Sean Paul , David Airlie , Daniel Vetter , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Le jeu. 20 avr. 2023 =C3=A0 00:43, Dmitry Baryshkov a =C3=A9crit : > > On 19/04/2023 17:41, Arnaud Vrac wrote: > > The dpu backend already handles applying alpha to the base stage, so we > > can use it to render the bottom plane in all cases. This allows mixing > > one additional plane with the hardware mixer. > > > > Signed-off-by: Arnaud Vrac > > This might require additional changes. First, for the STAGE_BASE pipe > in the source split mode (iow using two LMs) should programmed with > respect to the right LM's x offset (rather than usual left top-left LM). > See mdss_mdp_pipe_position_update(). Ok, I did test with 2 LMs and it seems to be working, I'll investigate. > > Also this might need some interaction with CTL_MIXER_BORDER_OUT being > set or not. If I remember correctly, if there bottom plane is not > fullscreen or if there are no planes at all, we should set > CTL_MIXER_BORDER_OUT (which takes STAGE_BASE) and start assigning them > from STAGE0. If not, we can use STAGE_BASE. I also tested with both fullscreen and non-fullscreen primary plane, and no plane. I'll check this. > > > --- > > drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c b/drivers/gpu/dr= m/msm/disp/dpu1/dpu_plane.c > > index 14b5cfe306113..148921ed62f85 100644 > > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c > > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c > > @@ -881,7 +881,7 @@ static int dpu_plane_atomic_check(struct drm_plane = *plane, > > r_pipe->multirect_mode =3D DPU_SSPP_MULTIRECT_NONE; > > r_pipe->sspp =3D NULL; > > > > - pstate->stage =3D DPU_STAGE_0 + pstate->base.normalized_zpos; > > + pstate->stage =3D DPU_STAGE_BASE + pstate->base.normalized_zpos; > > if (pstate->stage >=3D pdpu->catalog->caps->max_mixer_blendstages= ) { > > DPU_ERROR("> %d plane stages assigned\n", > > pdpu->catalog->caps->max_mixer_blendstages - DP= U_STAGE_0); > > > > -- > With best wishes > Dmitry >