* [PATCH v2 0/2] arm64: dts: qcom: sm8250: fix display nodes @ 2021-02-15 16:15 Jonathan Marek 2021-02-15 16:15 ` [PATCH v2 1/2] drm/msm: add compatibles for sm8150/sm8250 display Jonathan Marek 2021-02-15 16:15 ` [PATCH v2 2/2] arm64: dts: qcom: sm8250: fix display nodes Jonathan Marek 0 siblings, 2 replies; 7+ messages in thread From: Jonathan Marek @ 2021-02-15 16:15 UTC (permalink / raw) To: linux-arm-msm Cc: Andy Gross, Bjorn Andersson, Daniel Vetter, David Airlie, open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, Dmitry Baryshkov, Drew Davenport, open list:DRM DRIVER FOR MSM ADRENO GPU, Eric Anholt, open list:DRM DRIVER FOR MSM ADRENO GPU, Jeykumar Sankaran, Jordan Crouse, Kalyan Thota, open list, Qinglang Miao, Rajendra Nayak, Rob Clark, Rob Herring, Sean Paul, Tanmay Shah, tongtiangen Add sm8150/sm8250 compatibles to drm/msm and fix the sm8250 display nodes. v2: do not remove mmcx-supply from dispcc node Jonathan Marek (2): drm/msm: add compatibles for sm8150/sm8250 display arm64: dts: qcom: sm8250: fix display nodes .../devicetree/bindings/display/msm/dpu.txt | 4 +-- arch/arm64/boot/dts/qcom/sm8250.dtsi | 33 +++++-------------- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 2 ++ drivers/gpu/drm/msm/msm_drv.c | 6 ++-- 4 files changed, 16 insertions(+), 29 deletions(-) -- 2.26.1 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 1/2] drm/msm: add compatibles for sm8150/sm8250 display 2021-02-15 16:15 [PATCH v2 0/2] arm64: dts: qcom: sm8250: fix display nodes Jonathan Marek @ 2021-02-15 16:15 ` Jonathan Marek 2021-02-16 16:54 ` Dmitry Baryshkov 2021-02-15 16:15 ` [PATCH v2 2/2] arm64: dts: qcom: sm8250: fix display nodes Jonathan Marek 1 sibling, 1 reply; 7+ messages in thread From: Jonathan Marek @ 2021-02-15 16:15 UTC (permalink / raw) To: linux-arm-msm Cc: 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 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 <jonathan@marek.ca> --- 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" 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 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/2] drm/msm: add compatibles for sm8150/sm8250 display 2021-02-15 16:15 ` [PATCH v2 1/2] drm/msm: add compatibles for sm8150/sm8250 display Jonathan Marek @ 2021-02-16 16:54 ` Dmitry Baryshkov 2021-02-16 18:05 ` Jonathan Marek 0 siblings, 1 reply; 7+ messages in thread From: Dmitry Baryshkov @ 2021-02-16 16:54 UTC (permalink / raw) 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 On Mon, 15 Feb 2021 at 19:25, Jonathan Marek <jonathan@marek.ca> 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 <jonathan@marek.ca> > --- > 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 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/2] drm/msm: add compatibles for sm8150/sm8250 display 2021-02-16 16:54 ` Dmitry Baryshkov @ 2021-02-16 18:05 ` Jonathan Marek 2021-02-16 21:15 ` Dmitry Baryshkov 2021-02-17 0:08 ` Rob Clark 0 siblings, 2 replies; 7+ messages in thread From: Jonathan Marek @ 2021-02-16 18:05 UTC (permalink / raw) To: Dmitry Baryshkov 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 On 2/16/21 11:54 AM, Dmitry Baryshkov wrote: > On Mon, 15 Feb 2021 at 19:25, Jonathan Marek <jonathan@marek.ca> 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 <jonathan@marek.ca> >> --- >> 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:...'. > In this case I think its better to have this change in the same patch, but maybe one of the Robs will disagree. > 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. > sdm845 and sc7180 aren't using generic compatibles, this is just being consistent with that. > >> 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 >> > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/2] drm/msm: add compatibles for sm8150/sm8250 display 2021-02-16 18:05 ` Jonathan Marek @ 2021-02-16 21:15 ` Dmitry Baryshkov 2021-02-17 0:08 ` Rob Clark 1 sibling, 0 replies; 7+ messages in thread From: Dmitry Baryshkov @ 2021-02-16 21:15 UTC (permalink / raw) 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 On Tue, 16 Feb 2021 at 21:06, Jonathan Marek <jonathan@marek.ca> wrote: > > On 2/16/21 11:54 AM, Dmitry Baryshkov wrote: > > On Mon, 15 Feb 2021 at 19:25, Jonathan Marek <jonathan@marek.ca> 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 <jonathan@marek.ca> > >> --- > >> 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:...'. > > > > In this case I think its better to have this change in the same patch, > but maybe one of the Robs will disagree. > > > 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. > > > > sdm845 and sc7180 aren't using generic compatibles, this is just being > consistent with that. Well, I suppose the common case is to use the 'first compatible' entry if the entities are compatible. The generic compatibles is a proposal, not an affirmation. Please excuse me if it sounded in a different way. > > > > >> 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 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/2] drm/msm: add compatibles for sm8150/sm8250 display 2021-02-16 18:05 ` Jonathan Marek 2021-02-16 21:15 ` Dmitry Baryshkov @ 2021-02-17 0:08 ` Rob Clark 1 sibling, 0 replies; 7+ messages in thread From: Rob Clark @ 2021-02-17 0:08 UTC (permalink / raw) To: Jonathan Marek Cc: Dmitry Baryshkov, open list:DRM DRIVER FOR MSM ADRENO GPU, 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 On Tue, Feb 16, 2021 at 10:06 AM Jonathan Marek <jonathan@marek.ca> wrote: > > On 2/16/21 11:54 AM, Dmitry Baryshkov wrote: > > On Mon, 15 Feb 2021 at 19:25, Jonathan Marek <jonathan@marek.ca> 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 <jonathan@marek.ca> > >> --- > >> 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:...'. > > > > In this case I think its better to have this change in the same patch, > but maybe one of the Robs will disagree. I *think* typically the reason to split dt bindings into their own patch is that devicetree@ list isn't interested in reviewing driver changes, just binding changes.. In this case since it is just adding a compatible I think it is ok.. (or at least ok by me, but maybe other-Rob disagrees ;-)) > > 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. > > > > sdm845 and sc7180 aren't using generic compatibles, this is just being > consistent with that. It is good to have a device specific compatible up front, even if we fallback to the more generic one for matching.. just in case we find a reason for needing it later BR, -R > > > >> 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 > >> > > > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 2/2] arm64: dts: qcom: sm8250: fix display nodes 2021-02-15 16:15 [PATCH v2 0/2] arm64: dts: qcom: sm8250: fix display nodes Jonathan Marek 2021-02-15 16:15 ` [PATCH v2 1/2] drm/msm: add compatibles for sm8150/sm8250 display Jonathan Marek @ 2021-02-15 16:15 ` Jonathan Marek 1 sibling, 0 replies; 7+ messages in thread From: Jonathan Marek @ 2021-02-15 16:15 UTC (permalink / raw) To: linux-arm-msm Cc: Andy Gross, Bjorn Andersson, Rob Herring, Dmitry Baryshkov, open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, open list Apply these fixes to the newly added sm8250 display ndoes - Use sm8250 compatibles instead of sdm845 compatibles - Remove "notused" interconnect (which apparently was blindly copied from my old patches) - Use dispcc node example from dt-bindings, removing clocks which aren't documented or used by the driver and fixing the region size. Fixes: 7c1dffd471b1 ("arm64: dts: qcom: sm8250.dtsi: add display system nodes") Signed-off-by: Jonathan Marek <jonathan@marek.ca> --- arch/arm64/boot/dts/qcom/sm8250.dtsi | 33 ++++++++-------------------- 1 file changed, 9 insertions(+), 24 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi index 947e1accae3a..35f45f5e1c76 100644 --- a/arch/arm64/boot/dts/qcom/sm8250.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi @@ -2323,14 +2323,13 @@ usb_2_dwc3: dwc3@a800000 { }; mdss: mdss@ae00000 { - compatible = "qcom,sdm845-mdss"; + compatible = "qcom,sm8250-mdss"; reg = <0 0x0ae00000 0 0x1000>; reg-names = "mdss"; - interconnects = <&gem_noc MASTER_AMPSS_M0 &config_noc SLAVE_DISPLAY_CFG>, - <&mmss_noc MASTER_MDP_PORT0 &mc_virt SLAVE_EBI_CH0>, + interconnects = <&mmss_noc MASTER_MDP_PORT0 &mc_virt SLAVE_EBI_CH0>, <&mmss_noc MASTER_MDP_PORT1 &mc_virt SLAVE_EBI_CH0>; - interconnect-names = "notused", "mdp0-mem", "mdp1-mem"; + interconnect-names = "mdp0-mem", "mdp1-mem"; power-domains = <&dispcc MDSS_GDSC>; @@ -2356,7 +2355,7 @@ mdss: mdss@ae00000 { ranges; mdss_mdp: mdp@ae01000 { - compatible = "qcom,sdm845-dpu"; + compatible = "qcom,sm8250-dpu"; reg = <0 0x0ae01000 0 0x8f000>, <0 0x0aeb0000 0 0x2008>; reg-names = "mdp", "vbif"; @@ -2580,36 +2579,22 @@ opp-358000000 { dispcc: clock-controller@af00000 { compatible = "qcom,sm8250-dispcc"; - reg = <0 0x0af00000 0 0x20000>; + reg = <0 0x0af00000 0 0x10000>; mmcx-supply = <&mmcx_reg>; clocks = <&rpmhcc RPMH_CXO_CLK>, <&dsi0_phy 0>, <&dsi0_phy 1>, <&dsi1_phy 0>, <&dsi1_phy 1>, - <0>, - <0>, - <0>, - <0>, - <0>, - <0>, - <0>, - <0>, - <&sleep_clk>; + <&dp_phy 0>, + <&dp_phy 1>; clock-names = "bi_tcxo", "dsi0_phy_pll_out_byteclk", "dsi0_phy_pll_out_dsiclk", "dsi1_phy_pll_out_byteclk", "dsi1_phy_pll_out_dsiclk", - "dp_link_clk_divsel_ten", - "dp_vco_divided_clk_src_mux", - "dptx1_phy_pll_link_clk", - "dptx1_phy_pll_vco_div_clk", - "dptx2_phy_pll_link_clk", - "dptx2_phy_pll_vco_div_clk", - "edp_phy_pll_link_clk", - "edp_phy_pll_vco_div_clk", - "sleep_clk"; + "dp_phy_pll_link_clk", + "dp_phy_pll_vco_div_clk"; #clock-cells = <1>; #reset-cells = <1>; #power-domain-cells = <1>; -- 2.26.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-02-17 0:06 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-02-15 16:15 [PATCH v2 0/2] arm64: dts: qcom: sm8250: fix display nodes Jonathan Marek 2021-02-15 16:15 ` [PATCH v2 1/2] drm/msm: add compatibles for sm8150/sm8250 display Jonathan Marek 2021-02-16 16:54 ` Dmitry Baryshkov 2021-02-16 18:05 ` Jonathan Marek 2021-02-16 21:15 ` Dmitry Baryshkov 2021-02-17 0:08 ` Rob Clark 2021-02-15 16:15 ` [PATCH v2 2/2] arm64: dts: qcom: sm8250: fix display nodes Jonathan Marek
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).