[Freedreno] [PATCH v2 4/4] drm/msm: stop using device's match data pointer

Stephen Boyd swboyd at chromium.org
Thu Mar 3 23:04:31 UTC 2022


Quoting Dmitry Baryshkov (2022-01-19 14:40:05)
> diff --git a/drivers/gpu/drm/msm/msm_mdss.c b/drivers/gpu/drm/msm/msm_mdss.c
> index 759076357e0e..f83dca99f03d 100644
> --- a/drivers/gpu/drm/msm/msm_mdss.c
> +++ b/drivers/gpu/drm/msm/msm_mdss.c
> @@ -314,11 +314,11 @@ static const struct dev_pm_ops mdss_pm_ops = {
>         .complete = msm_pm_complete,
>  };
>
> -static int get_mdp_ver(struct platform_device *pdev)
> +static bool get_is_mdp5(struct platform_device *pdev)
>  {
>         struct device *dev = &pdev->dev;
>
> -       return (int) (unsigned long) of_device_get_match_data(dev);
> +       return (bool) (unsigned long) of_device_get_match_data(dev);
>  }
>
>  static int find_mdp_node(struct device *dev, void *data)
> @@ -331,21 +331,18 @@ static int mdss_probe(struct platform_device *pdev)
>  {
>         struct msm_mdss *mdss;
>         struct msm_drm_private *priv;
> -       int mdp_ver = get_mdp_ver(pdev);
> +       bool is_mdp5 = get_is_mdp5(pdev);

	is_mdp5 = of_device_is_compatible(pdev->dev.of_node, "qcom,mdss");

>         struct device *mdp_dev;
>         struct device *dev = &pdev->dev;
>         int ret;
>
> -       if (mdp_ver != KMS_MDP5 && mdp_ver != KMS_DPU)
> -               return -EINVAL;
> -
>         priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
>         if (!priv)
>                 return -ENOMEM;
>
>         platform_set_drvdata(pdev, priv);
>
> -       mdss = msm_mdss_init(pdev, mdp_ver == KMS_MDP5);
> +       mdss = msm_mdss_init(pdev, is_mdp5);
>         if (IS_ERR(mdss)) {
>                 ret = PTR_ERR(mdss);
>                 platform_set_drvdata(pdev, NULL);
> @@ -409,12 +406,12 @@ static int mdss_remove(struct platform_device *pdev)
>  }
>
>  static const struct of_device_id mdss_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,sc7280-mdss", .data = (void *)KMS_DPU },
> -       { .compatible = "qcom,sm8150-mdss", .data = (void *)KMS_DPU },
> -       { .compatible = "qcom,sm8250-mdss", .data = (void *)KMS_DPU },
> +       { .compatible = "qcom,mdss", .data = (void *)true },
> +       { .compatible = "qcom,sdm845-mdss", .data = (void *)false },
> +       { .compatible = "qcom,sc7180-mdss", .data = (void *)false },
> +       { .compatible = "qcom,sc7280-mdss", .data = (void *)false },
> +       { .compatible = "qcom,sm8150-mdss", .data = (void *)false },
> +       { .compatible = "qcom,sm8250-mdss", .data = (void *)false },

And then no data needed?


More information about the Freedreno mailing list