Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp5844954pxb; Tue, 16 Feb 2021 08:56:31 -0800 (PST) X-Google-Smtp-Source: ABdhPJyhmUxOVgbwcVXN6s3DWDvb4scthcnVwsHWZC/x/IvyYfNmhestALprF7icZZQRzXS+lwTj X-Received: by 2002:a50:9f4e:: with SMTP id b72mr22422764edf.4.1613494591177; Tue, 16 Feb 2021 08:56:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613494591; cv=none; d=google.com; s=arc-20160816; b=RqvB/M0Vh6MvKHI6NCGGTmDiiZICj2NXcBYOulHbSrHI4+NGiZRsb+ZbynbmRWkEcd ktNJGygbkLikxTa+YCt5h0tqdUyv+jF+HVTc0rXQrXlVmKndBGJRcrXtjTM50cdTESGa quG7ezCdD52+leZNk5Decl4HYjGLfRPziELLsK3SU4uEnwnn2pr8Ug950ERN6r8DyVeu Fncf4aZUMZBEw/bDXriylfhKAE/rYRhMSMu2zW7eGP3gS1pYzkScijCoaRFUwkXJT8nA hJi8j1VgHvucFBzPtDqySg+B8tlfBgnNGkYcuJQEKFMh5EWmDMML3SxwxdZcQ9vzI+oC vIxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=3Zhyu+nC9+CPMV4JA3grDQ6Xc5qBaXkOYbaPkzmAlcg=; b=EueItkEtY2jg3oQ8R27BYQbWuS2D7T5GWGCD4s/udT2yiE9H5uB5DomahFY2rEmr78 xB+Fwrsp0kgnQY2tWgZEEy4PsBKDq1bwdAfTjvX5NaN1gfn1nsWiojHaZ0srpEkc9ool c1YjbexC4CzTMxWw5IvOWtgjpQA6VoofcJCnL4goDiaYeFe45OvOuGnBieCyssrnR+in Ax/b0x5E+5G85PKttKZdAD+AVNqE7f38WX30rchrDaa9XEY3J25Gh1jYJgLn1Yt181xn TIqQKB+ilJ7++m7iOEm7hgjhZnFIWNvULLcZeJiDJEueieJ4Tu7jIZoFRrKeFk7M92uD Yfyw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=gbFxfeL0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f17si15050315ejd.597.2021.02.16.08.56.07; Tue, 16 Feb 2021 08:56:31 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=gbFxfeL0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230097AbhBPQzP (ORCPT + 99 others); Tue, 16 Feb 2021 11:55:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54630 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230133AbhBPQzL (ORCPT ); Tue, 16 Feb 2021 11:55:11 -0500 Received: from mail-qk1-x729.google.com (mail-qk1-x729.google.com [IPv6:2607:f8b0:4864:20::729]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 54171C0613D6 for ; Tue, 16 Feb 2021 08:54:31 -0800 (PST) Received: by mail-qk1-x729.google.com with SMTP id r77so9982978qka.12 for ; Tue, 16 Feb 2021 08:54:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=3Zhyu+nC9+CPMV4JA3grDQ6Xc5qBaXkOYbaPkzmAlcg=; b=gbFxfeL0ybh8TJ11CwDsF8YXkz5foMi6jC7WLCPgNjrHnNJyO5lsI0RR+hGTUzCstP rfjAqDYTpnJgkHzoZUKAr+cKMf/vHLLDZ0OFL9+S2Xx4wbBQZxa8memc4+v1TgD/fFwE k5rIpN3IMKkU6MsdR3u6USf51Vmse//UQHpEiyDVGd3FLPCsYtCwyNIjibsVRtmycboE GNaMDoVw5rOEOa2yFK0wVy7iRy3T1kRSkN72kHwq80EFeXFYXVnBN7OjQo+PkK1fvkdA los2vdAuCqT22DC3wS2OCGU4brNnY8sCSZo6qZ1bqTTRJE7oIR9HHzRQ+ciLfhJv1WT3 heVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=3Zhyu+nC9+CPMV4JA3grDQ6Xc5qBaXkOYbaPkzmAlcg=; b=KZYzQXCB0n6VZ9nY0bqNHmlRUfKbxKM5kPZuyM2QYBD23GzOmlpnnGaAE8qiLb/v0f F/MvDY97zJtXI2I899oCkeEQqCY+hwUGlWP418ILJhCRHdXgLfeLJC8jrSwTJ9BuN17O Yxty0o5fxuHAyAXyoo6NF28eTDutF7aVSAxZROe4xxvWQMafeFOTcxZy95to4jC0vdUx CYR3sWX9QgbOdvoTdYWIg674pp+yAONNih+eXrgYcUR2dgtAWnPWXUgPhXKifxRJwrgl SK9eoiE+bDOCoDZ+dVQfbStKZdtUnBpb4Y7pqN1aAyZ38D1ERf/cNx7Sle/6w4pDJgVf tEWA== X-Gm-Message-State: AOAM533AJdWtbpuAqRV7qQMvweIcnva/UrDstZJZaZ/BhdvCZ+02DLa5 I/JuF30kml6d/TWcGVwdMLPbp2OmQc3Hxf9F1T12XA== X-Received: by 2002:a37:5702:: with SMTP id l2mr20738364qkb.486.1613494469361; Tue, 16 Feb 2021 08:54:29 -0800 (PST) MIME-Version: 1.0 References: <20210215161537.14696-1-jonathan@marek.ca> <20210215161537.14696-2-jonathan@marek.ca> In-Reply-To: <20210215161537.14696-2-jonathan@marek.ca> From: Dmitry Baryshkov Date: Tue, 16 Feb 2021 19:54:16 +0300 Message-ID: Subject: Re: [PATCH v2 1/2] drm/msm: add compatibles for sm8150/sm8250 display To: Jonathan Marek Cc: "open list:DRM DRIVER FOR MSM ADRENO GPU" , Rob Clark , Sean Paul , David Airlie , Daniel Vetter , Rob Herring , Jordan Crouse , Kalyan Thota , Eric Anholt , Tanmay Shah , Drew Davenport , Jeykumar Sankaran , Rajendra Nayak , tongtiangen , Qinglang Miao , "open list:DRM DRIVER FOR MSM ADRENO GPU" , "open list:DRM DRIVER FOR MSM ADRENO GPU" , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , open list Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 15 Feb 2021 at 19:25, Jonathan Marek wrote: > > The driver already has support for sm8150/sm8250, but the compatibles were > never added. > > Also inverse the non-mdp4 condition in add_display_components() to avoid > having to check every new compatible in the condition. > > Signed-off-by: Jonathan Marek > --- > Documentation/devicetree/bindings/display/msm/dpu.txt | 4 ++-- > drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 2 ++ > drivers/gpu/drm/msm/msm_drv.c | 6 +++--- > 3 files changed, 7 insertions(+), 5 deletions(-) > > diff --git a/Documentation/devicetree/bindings/display/msm/dpu.txt b/Documentation/devicetree/bindings/display/msm/dpu.txt > index 551ae26f60da..5763f43200a0 100644 > --- a/Documentation/devicetree/bindings/display/msm/dpu.txt > +++ b/Documentation/devicetree/bindings/display/msm/dpu.txt > @@ -8,7 +8,7 @@ The DPU display controller is found in SDM845 SoC. > > MDSS: > Required properties: > -- compatible: "qcom,sdm845-mdss", "qcom,sc7180-mdss" > +- compatible: "qcom,sdm845-mdss", "qcom,sc7180-mdss", "qcom,sm8150-mdss", "qcom,sm8250-mdss" > - reg: physical base address and length of contoller's registers. > - reg-names: register region names. The following region is required: > * "mdss" > @@ -41,7 +41,7 @@ Optional properties: > > MDP: > Required properties: > -- compatible: "qcom,sdm845-dpu", "qcom,sc7180-dpu" > +- compatible: "qcom,sdm845-dpu", "qcom,sc7180-dpu", "qcom,sm8150-dpu", "qcom,sm8250-dpu" > - reg: physical base address and length of controller's registers. > - reg-names : register region names. The following region is required: > * "mdp" These two chunks should probably go to the separate patch 'dt-bindings:...'. Also, could you please pinpoint the reason for adding more compatibility strings, while they map to the same internal data? I think we might want instead to use some generic name for the dpu block, like "qcom,dpu" or "qcom,mdp-dpu" instead of specifying the platform name. > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c > index 5a8e3e1fc48c..fff12a4c8bfc 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c > @@ -1219,6 +1219,8 @@ static const struct dev_pm_ops dpu_pm_ops = { > static const struct of_device_id dpu_dt_match[] = { > { .compatible = "qcom,sdm845-dpu", }, > { .compatible = "qcom,sc7180-dpu", }, > + { .compatible = "qcom,sm8150-dpu", }, > + { .compatible = "qcom,sm8250-dpu", }, > {} > }; > MODULE_DEVICE_TABLE(of, dpu_dt_match); > diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c > index 94525ac76d4e..928f13d4bfbc 100644 > --- a/drivers/gpu/drm/msm/msm_drv.c > +++ b/drivers/gpu/drm/msm/msm_drv.c > @@ -1185,9 +1185,7 @@ static int add_display_components(struct device *dev, > * Populate the children devices, find the MDP5/DPU node, and then add > * the interfaces to our components list. > */ > - if (of_device_is_compatible(dev->of_node, "qcom,mdss") || > - of_device_is_compatible(dev->of_node, "qcom,sdm845-mdss") || > - of_device_is_compatible(dev->of_node, "qcom,sc7180-mdss")) { > + if (!of_device_is_compatible(dev->of_node, "qcom,mdp4")) { > ret = of_platform_populate(dev->of_node, NULL, NULL, dev); > if (ret) { > DRM_DEV_ERROR(dev, "failed to populate children devices\n"); > @@ -1320,6 +1318,8 @@ static const struct of_device_id dt_match[] = { > { .compatible = "qcom,mdss", .data = (void *)KMS_MDP5 }, > { .compatible = "qcom,sdm845-mdss", .data = (void *)KMS_DPU }, > { .compatible = "qcom,sc7180-mdss", .data = (void *)KMS_DPU }, > + { .compatible = "qcom,sm8150-mdss", .data = (void *)KMS_DPU }, > + { .compatible = "qcom,sm8250-mdss", .data = (void *)KMS_DPU }, > {} > }; > MODULE_DEVICE_TABLE(of, dt_match); > -- > 2.26.1 > -- With best wishes Dmitry