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 D0AB3C7618E for ; Thu, 20 Apr 2023 23:05:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231547AbjDTXFN (ORCPT ); Thu, 20 Apr 2023 19:05:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45400 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231728AbjDTXFM (ORCPT ); Thu, 20 Apr 2023 19:05:12 -0400 Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com [IPv6:2a00:1450:4864:20::236]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CA1A35B9E for ; Thu, 20 Apr 2023 16:05:09 -0700 (PDT) Received: by mail-lj1-x236.google.com with SMTP id 38308e7fff4ca-2a8a600bd05so9373891fa.2 for ; Thu, 20 Apr 2023 16:05:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1682031908; x=1684623908; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=Vqd+EzF+urhH7274oBdY5LeIrEsmRsb7t4mEa/XIYp0=; b=S7zDyEf5tCKQLqvuPV5ndaSog2rzyXIjoV4QCmjb6xgWweA6A7KLQPYIbZiIujDGRs v+jDXH/ln08L5oWKwUHqa7RUbbHj5zJdicidd1MbvoGbLzWJN2jEoRdOD/fRp/fGe6Bh 0bo/MM6UcrYXPged8PYlB+WCl2oeEJheV+qAK9YgetNDkRmjPZag0Cguuo24kMOMPVYS YiFeYnXJ18W2/KatirKERn5tsLYm6jXRHNnEbZ0vqJJoqIkz9peaih4NehsDh5IEJ0ro PDCm+iurHkBDlgMQB2J3wAGFph/dkN9MvEWylSjqbuJBTs2T0fiB9AzZQq/JHMweFUx+ CFQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682031908; x=1684623908; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Vqd+EzF+urhH7274oBdY5LeIrEsmRsb7t4mEa/XIYp0=; b=Rb1hy06WmuwYO87ipolgCyDpHv1okV+cH4jDPHItIr5rMJrHqZZho0ePKPtnCRbkAn rwWy1mRavLIV66sfH7SJ/CZbSiPUv8mEIabhdRHzIEBEovI+bfiIjNTfSeQYgRUw9Hzr 7oVW9R0PYmoKcypQk68CK5pdNpk7obmramA3ohFHvuL7C9Hz0Iv2LUDKfXKSNbiIdK8v TZXtRsWu53dl54Hi1YbzkUH3Yveu1P1m+x0VePFBuBK8oVg2Ai7Q6Rfgq3u9lDtR9n7X P5xwISwJcIHq60d/x7wqC7CArAQwDps7kMwcbyfUpYxpkvrPeduXiqn2j1QGT5ARm8cZ VQGw== X-Gm-Message-State: AAQBX9cNizQVK1s5FJtkSrZpaYmBV4ifw4k6ye5jcpI0Qfd5PiITs0JL baK/mDpITXQZYebWqc28hvlctQ== X-Google-Smtp-Source: AKy350ZHc2Xi6EPcoQf0P4AaMLxpmSmhZfjLaOk3eFSroDuI7EfjamGYtrWg1XBq+nfojw2H8m5eJQ== X-Received: by 2002:a19:ac0a:0:b0:4ed:c64c:37b with SMTP id g10-20020a19ac0a000000b004edc64c037bmr808138lfc.62.1682031908053; Thu, 20 Apr 2023 16:05:08 -0700 (PDT) Received: from [192.168.1.101] (abyj144.neoplus.adsl.tpnet.pl. [83.9.29.144]) by smtp.gmail.com with ESMTPSA id v6-20020ac25586000000b004eafa77e435sm357347lfg.146.2023.04.20.16.05.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 20 Apr 2023 16:05:07 -0700 (PDT) Message-ID: <4da9bd19-9403-812e-4554-847b18df78c9@linaro.org> Date: Fri, 21 Apr 2023 01:05:05 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Subject: Re: [PATCH v2 07/13] drm/msm/dpu: Add SM6350 support Content-Language: en-US To: Dmitry Baryshkov , Rob Clark , Abhinav Kumar , Sean Paul , David Airlie , Daniel Vetter , Rob Herring , Krzysztof Kozlowski , Krishna Manikandan , Will Deacon , Robin Murphy , Joerg Roedel Cc: Marijn Suijten , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, iommu@lists.linux.dev, Konrad Dybcio References: <20230411-topic-straitlagoon_mdss-v2-0-5def73f50980@linaro.org> <20230411-topic-straitlagoon_mdss-v2-7-5def73f50980@linaro.org> From: Konrad Dybcio In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org On 21.04.2023 00:41, Dmitry Baryshkov wrote: > On 21/04/2023 01:31, Konrad Dybcio wrote: >> Add SM6350 support to the DPU1 driver to enable display output. >> >> Signed-off-by: Konrad Dybcio >> Signed-off-by: Konrad Dybcio >> --- [...] >> + >> +static const struct dpu_sspp_cfg sm6350_sspp[] = { >> +    SSPP_BLK("sspp_0", SSPP_VIG0, 0x4000, 0x1f8, VIG_SC7180_MASK, >> +         sc7180_vig_sblk_0, 0,  SSPP_TYPE_VIG, DPU_CLK_CTRL_VIG0), >> +    SSPP_BLK("sspp_8", SSPP_DMA0, 0x24000, 0x1f8, DMA_SDM845_MASK, >> +         sdm845_dma_sblk_0, 1, SSPP_TYPE_DMA, DPU_CLK_CTRL_DMA0), >> +    SSPP_BLK("sspp_9", SSPP_DMA1, 0x26000, 0x1f8, DMA_CURSOR_SDM845_MASK, >> +         sdm845_dma_sblk_1, 5, SSPP_TYPE_DMA, DPU_CLK_CTRL_CURSOR0), > > DPU_CLK_CTRL_DMA0 > >> +    SSPP_BLK("sspp_10", SSPP_DMA2, 0x28000, 0x1f8, DMA_CURSOR_SDM845_MASK, >> +         sdm845_dma_sblk_2, 9, SSPP_TYPE_DMA, DPU_CLK_CTRL_CURSOR1), > > DPU_CLK_CTRL_DMA2 _DMA1? > > >> +}; >> + >> +static const struct dpu_qos_lut_entry sm6350_qos_linear_macrotile[] = { >> +    {.fl = 0, .lut = 0x0011223344556677 }, >> +    {.fl = 0, .lut = 0x0011223445566777 }, > > Do we need two equal entries here? Hmm.. looks like the SDE driver dropped the fill level logic in 4.19 times and that might have thrown me off when porting this Since the [0] entry has what looks like a lower LUT value, should I give it .fl=1? > > Also please push the qos to the dpu_hw_catalog.c, I want to take another look at these structures and it is easier if all of them are beneath one's eyes. Will do. > >> +}; >> + >> +static const struct dpu_perf_cfg sm6350_perf_data = { >> +    .max_bw_low = 4200000, >> +    .max_bw_high = 5100000, >> +    .min_core_ib = 2500000, >> +    .min_llcc_ib = 0, >> +    .min_dram_ib = 1600000, >> +    .min_prefill_lines = 35, >> +    /* TODO: confirm danger_lut_tbl */ >> +    .danger_lut_tbl = {0xffff, 0xffff, 0x0, 0x0, 0xffff}, [...] >> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h >> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h >> @@ -320,6 +320,8 @@ enum dpu_qos_lut_usage { >>       DPU_QOS_LUT_USAGE_LINEAR, >>       DPU_QOS_LUT_USAGE_MACROTILE, >>       DPU_QOS_LUT_USAGE_NRT, >> +    DPU_QOS_LUT_USAGE_CWB, >> +    DPU_QOS_LUT_USAGE_MACROTILE_QSEED, > > This should probably be removed. It would be nice to clean these things up, but not as a part of sm6350. Well, I won't be able to fill in the danger LUT table otherwise! Konrad > >>       DPU_QOS_LUT_USAGE_MAX, >>   }; >>   @@ -880,6 +882,7 @@ extern const struct dpu_mdss_cfg dpu_sc8180x_cfg; >>   extern const struct dpu_mdss_cfg dpu_sm8250_cfg; >>   extern const struct dpu_mdss_cfg dpu_sc7180_cfg; >>   extern const struct dpu_mdss_cfg dpu_sm6115_cfg; >> +extern const struct dpu_mdss_cfg dpu_sm6350_cfg; >>   extern const struct dpu_mdss_cfg dpu_qcm2290_cfg; >>   extern const struct dpu_mdss_cfg dpu_sm8350_cfg; >>   extern const struct dpu_mdss_cfg dpu_sc7280_cfg; >> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c >> index 0e7a68714e9e..46be7ad8d615 100644 >> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c >> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c >> @@ -1286,6 +1286,7 @@ static const struct of_device_id dpu_dt_match[] = { >>       { .compatible = "qcom,sc8180x-dpu", .data = &dpu_sc8180x_cfg, }, >>       { .compatible = "qcom,sc8280xp-dpu", .data = &dpu_sc8280xp_cfg, }, >>       { .compatible = "qcom,sm6115-dpu", .data = &dpu_sm6115_cfg, }, >> +    { .compatible = "qcom,sm6350-dpu", .data = &dpu_sm6350_cfg, }, >>       { .compatible = "qcom,sm8150-dpu", .data = &dpu_sm8150_cfg, }, >>       { .compatible = "qcom,sm8250-dpu", .data = &dpu_sm8250_cfg, }, >>       { .compatible = "qcom,sm8350-dpu", .data = &dpu_sm8350_cfg, }, >> >