Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp374492rwr; Thu, 20 Apr 2023 00:09:13 -0700 (PDT) X-Google-Smtp-Source: AKy350ZzxHVok2IpXj6wUgwLQ1SCGd89nvag3NEDTH9cGSOEFEoIF0SpSpyGSmv9ytAVkgGOJ/C/ X-Received: by 2002:a17:903:2446:b0:1a8:1e8c:95f5 with SMTP id l6-20020a170903244600b001a81e8c95f5mr564120pls.69.1681974552823; Thu, 20 Apr 2023 00:09:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681974552; cv=none; d=google.com; s=arc-20160816; b=nfNKvkBda4PPHcxnbf7AbExfk3LvXeLx4TKP+ct0CXSJ8jg5cG4DwMF2SLznGRwgrv lyiatlqvgNMrV5NTD+TR4Wp6gLvA5XqnERfOVpnBHTU7UlMT9n+eLG1G9KjXNhQhd+r9 fYpVXe82ovrwASv+xKlgKgaAtXyeaaV3aHPz3IZ+LeVJVoSzo+NhOsXqx8s9rfA5kvhC eYi5GhivyBz/zzvChiCrS9ZLSCdC9dlUoudVihS8bf2bXatc4+9PXpj1NwbKX+T70Lcq dCNYRchlwu309mp3ZLZpTrZCAM4RwsBO/QPiTG/isNITD2rQ7ReP9MXi48m37n7JBhdI 62WA== 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=Yb+yljt2qIh9YQj49hF4nCFbxARaf3XxP/2JpjBX4jk=; b=WkJ74z2reh5Ll0xE8S1gjvdro6JSv4xQF7+f1A5A6hXP591bSDy8X/jVMTNDpwFHSx 8YWcr5ju+QkbmFWOliA1rGQdVZxrKVvWJ/5yCqQxY/e6ZTHFKmX4lbYS6v+VXbl50uB/ KaX9XfQlG5eVPy+NAO7Yei36PvUH4WO4/7sZsc+FzpU2LDjbT3QHBo4rsMviZ5nKLKYK j2mAL9Aa7bFipq5qPJOgQoshcwDChd4CXk1vWYwG1ejMwqNh8tvVvHTQsEeJYI07YggU XTkWgdi9Q/O7xXLcH8bHG7W6L1inEZu+0eApXIxXjnBHQwucVxdmN7S2iNTNW4D77T+H rzjw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@freebox-fr.20221208.gappssmtp.com header.s=20221208 header.b="cZv/lPvp"; 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 t3-20020a1709027fc300b001a67b6db120si993550plb.409.2023.04.20.00.09.00; Thu, 20 Apr 2023 00:09:12 -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="cZv/lPvp"; 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 S233928AbjDTHHE (ORCPT + 99 others); Thu, 20 Apr 2023 03:07:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54962 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233922AbjDTHG5 (ORCPT ); Thu, 20 Apr 2023 03:06:57 -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 5C7A244AA for ; Thu, 20 Apr 2023 00:06:56 -0700 (PDT) Received: by mail-ej1-x630.google.com with SMTP id xd13so4164808ejb.4 for ; Thu, 20 Apr 2023 00:06:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebox-fr.20221208.gappssmtp.com; s=20221208; t=1681974415; x=1684566415; 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=Yb+yljt2qIh9YQj49hF4nCFbxARaf3XxP/2JpjBX4jk=; b=cZv/lPvpV7dzsklh5rJGSX/ctisD8YiKx4V2vuazNVRvycMDy2qY+JLXTxg9c8+GJB +p3GNccB/ffnSbUDxbMBcHRlsz/75SteAFuszpd9IGhEgV22AXdgPE0Q2Dk6z7RcVo94 a618EgQpnQwii3jZshBVWOWOdDri9NiCMe3aT7AVQd4oIk5d3uLJnsTAXROcwEnsObAM Aa9SEKipB4kAaMvB/Ae7RXViYuxL1FbX7ern7o+EEXqL3bwwifuqPKpUSRsRU50abWw3 xR0p39vKIcQL+tvpB3gRGx5iEUI1g/0/HFHJu62xP+PFTv/S0cPe02LokMdtufHwr+1Y extw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681974415; x=1684566415; 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=Yb+yljt2qIh9YQj49hF4nCFbxARaf3XxP/2JpjBX4jk=; b=JzrntGtI9xOoC8qXfmJGCfALnQD4Ry0CKsqqNvVczwlHJ6H64swMJiLekiqsy4/pUz xC+mk7Nt9jZicahg9puahpdZu0Zy+z5uHbgaaujRjirlg1UPURYDQb+QcACcsxau3Qi8 2yXHXwt3K+WxKaXDpztYEUhlUwWX3FqZXn3eTeP5NG9NkINuAlE9Bf9PFkAXoIUvnCzr 2oBBPlI3D0szGvNkJS+y6kKjdf3qokQLs5th28z3gXht69pEBYGdOkx/4ELIiMvJt6ij b+xigOY2JaTUXDewDClW53EVrez62sZQXHymvDVTTfoNWftdGTqUJFm6aHxylcP2qNaA +3KA== X-Gm-Message-State: AAQBX9flIP81b1TGkwB/XgyLJzAKzhZ8RugSgq+UtFjnFJVh6Gqpy8F9 dkBgwW84mAZR9yOzbPv9cxZrlFKOYdb1cIrsAjZ/07o0AhCx25Q= X-Received: by 2002:a17:907:980a:b0:94f:c1f:6d09 with SMTP id ji10-20020a170907980a00b0094f0c1f6d09mr212498ejc.7.1681974414824; Thu, 20 Apr 2023 00:06:54 -0700 (PDT) MIME-Version: 1.0 References: <20230419-dpu-tweaks-v1-0-d1bac46db075@freebox.fr> <20230419-dpu-tweaks-v1-7-d1bac46db075@freebox.fr> <405ff057-e4da-3f2f-b860-ce2eeacaab94@linaro.org> In-Reply-To: <405ff057-e4da-3f2f-b860-ce2eeacaab94@linaro.org> From: Arnaud Vrac Date: Thu, 20 Apr 2023 09:06:44 +0200 Message-ID: Subject: Re: [PATCH 07/11] drm/msm/dpu: add sspp cursor blocks to msm8998 hw catalog 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 01:10, Dmitry Baryshkov a =C3=A9crit : > > On 19/04/2023 17:41, Arnaud Vrac wrote: > > Now that cursor sspp blocks can be used for cursor planes, enable them > > on msm8998. The dma sspp blocks that were assigned to cursor planes can > > now be used for overlay planes instead. > > While the change is correct, there is more about it. Composers, using > universal planes, will see this plane too. They have no obligations to > use it only for the cursor. At the minimum could you please extend the > plane_atomic_check to check for the plane dimensions for the CURSOR pipes= ? Hum, I had assumed the generic atomic checks would already do this, but it's not the case. I'll add the check when the pipe is of type SSPP_CURSOR in another patch coming before, thanks. > > For this change: > > Reviewed-by: Dmitry Baryshkov > > > > > Signed-off-by: Arnaud Vrac > > --- > > .../drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h | 8 +++-- > > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 34 +++++++++++++= +++++++++ > > 2 files changed, 40 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h b/= drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h > > index b07e8a9941f79..7de393b0f91d7 100644 > > --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h > > +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h > > @@ -90,10 +90,14 @@ static const struct dpu_sspp_cfg msm8998_sspp[] =3D= { > > sdm845_dma_sblk_0, 1, SSPP_TYPE_DMA, DPU_CLK_CTRL_DMA0), > > SSPP_BLK("sspp_9", SSPP_DMA1, 0x26000, 0x1ac, DMA_MSM8998_MASK, > > sdm845_dma_sblk_1, 5, SSPP_TYPE_DMA, DPU_CLK_CTRL_DMA1), > > - SSPP_BLK("sspp_10", SSPP_DMA2, 0x28000, 0x1ac, DMA_CURSOR_MSM8998= _MASK, > > + SSPP_BLK("sspp_10", SSPP_DMA2, 0x28000, 0x1ac, DMA_MSM8998_MASK, > > sdm845_dma_sblk_2, 9, SSPP_TYPE_DMA, DPU_CLK_CTRL_DMA2), > > - SSPP_BLK("sspp_11", SSPP_DMA3, 0x2a000, 0x1ac, DMA_CURSOR_MSM8998= _MASK, > > + SSPP_BLK("sspp_11", SSPP_DMA3, 0x2a000, 0x1ac, DMA_MSM8998_MASK, > > sdm845_dma_sblk_3, 13, SSPP_TYPE_DMA, DPU_CLK_CTRL_DMA3), > > + SSPP_BLK("sspp_12", SSPP_CURSOR0, 0x34000, 0x1ac, DMA_CURSOR_MSM8= 998_MASK, > > + msm8998_cursor_sblk_0, 2, SSPP_TYPE_CURSOR, DPU_CLK_CTRL_= CURSOR0), > > + SSPP_BLK("sspp_13", SSPP_CURSOR1, 0x36000, 0x1ac, DMA_CURSOR_MSM8= 998_MASK, > > + msm8998_cursor_sblk_1, 10, SSPP_TYPE_CURSOR, DPU_CLK_CTRL= _CURSOR1), > > }; > > > > static const struct dpu_lm_cfg msm8998_lm[] =3D { > > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c b/drivers/g= pu/drm/msm/disp/dpu1/dpu_hw_catalog.c > > index 8d5d782a43398..f34fa704936bc 100644 > > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c > > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c > > @@ -242,6 +242,22 @@ static const uint32_t wb2_formats[] =3D { > > DRM_FORMAT_XBGR4444, > > }; > > > > +static const uint32_t cursor_formats[] =3D { > > + DRM_FORMAT_ARGB8888, > > + DRM_FORMAT_ABGR8888, > > + DRM_FORMAT_RGBA8888, > > + DRM_FORMAT_BGRA8888, > > + DRM_FORMAT_XRGB8888, > > + DRM_FORMAT_ARGB1555, > > + DRM_FORMAT_ABGR1555, > > + DRM_FORMAT_RGBA5551, > > + DRM_FORMAT_BGRA5551, > > + DRM_FORMAT_ARGB4444, > > + DRM_FORMAT_ABGR4444, > > + DRM_FORMAT_RGBA4444, > > + DRM_FORMAT_BGRA4444, > > +}; > > + > > /************************************************************* > > * SSPP sub blocks config > > *************************************************************/ > > @@ -300,6 +316,19 @@ static const uint32_t wb2_formats[] =3D { > > .virt_num_formats =3D ARRAY_SIZE(plane_formats), \ > > } > > > > +#define _CURSOR_SBLK(num) \ > > + { \ > > + .maxdwnscale =3D SSPP_UNITY_SCALE, \ > > + .maxupscale =3D SSPP_UNITY_SCALE, \ > > + .smart_dma_priority =3D 0, \ > > + .src_blk =3D {.name =3D STRCAT("sspp_src_", num), \ > > + .id =3D DPU_SSPP_SRC, .base =3D 0x00, .len =3D 0x150,}, \ > > + .format_list =3D cursor_formats, \ > > + .num_formats =3D ARRAY_SIZE(cursor_formats), \ > > + .virt_format_list =3D cursor_formats, \ > > + .virt_num_formats =3D ARRAY_SIZE(cursor_formats), \ > > + } > > + > > static const struct dpu_sspp_sub_blks msm8998_vig_sblk_0 =3D > > _VIG_SBLK("0", 0, DPU_SSPP_SCALER_QSEED3)= ; > > static const struct dpu_sspp_sub_blks msm8998_vig_sblk_1 =3D > > @@ -309,6 +338,11 @@ static const struct dpu_sspp_sub_blks msm8998_vig_= sblk_2 =3D > > static const struct dpu_sspp_sub_blks msm8998_vig_sblk_3 =3D > > _VIG_SBLK("3", 0, DPU_SSPP_SCALER_QSEED3)= ; > > > > +static const struct dpu_sspp_sub_blks msm8998_cursor_sblk_0 =3D > > + _CURSOR_SBLK("12"); > > +static const struct dpu_sspp_sub_blks msm8998_cursor_sblk_1 =3D > > + _CURSOR_SBLK("13"); > > + > > static const struct dpu_rotation_cfg dpu_rot_sc7280_cfg_v2 =3D { > > .rot_maxheight =3D 1088, > > .rot_num_formats =3D ARRAY_SIZE(rotation_v2_formats), > > > > -- > With best wishes > Dmitry >