lkml.org 
[lkml]   [2021]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH 3/5] drm/msm/dp: Support up to 3 DP controllers
    Quoting Bjorn Andersson (2021-07-24 21:24:33)
    > diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
    > index 59ffd6c8f41f..92b7646a1bb7 100644
    > --- a/drivers/gpu/drm/msm/dp/dp_display.c
    > +++ b/drivers/gpu/drm/msm/dp/dp_display.c
    > @@ -238,8 +251,11 @@ static int dp_display_bind(struct device *dev, struct device *master,
    > }
    >
    > rc = dp_register_audio_driver(dev, dp->audio);
    > - if (rc)
    > + if (rc) {
    > DRM_ERROR("Audio registration Dp failed\n");
    > + goto end;
    > + }
    > +
    >
    > end:
    > return rc;

    This hunk looks useless. Drop it?

    > @@ -1205,6 +1221,26 @@ int dp_display_request_irq(struct msm_dp *dp_display)
    > return 0;
    > }
    >
    > +static int dp_display_get_id(struct platform_device *pdev)
    > +{
    > + const struct msm_dp_config *cfg = of_device_get_match_data(&pdev->dev);
    > + struct resource *res;
    > + int i;
    > +
    > +
    > + res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
    > + if (!res)
    > + return -EINVAL;
    > +
    > + for (i = 0; i < cfg->num_dp; i++) {
    > + if (cfg->io_start[i] == res->start)
    > + return i;
    > + }
    > +
    > + dev_err(&pdev->dev, "unknown displayport instance\n");
    > + return -EINVAL;
    > +}
    > +
    > static int dp_display_probe(struct platform_device *pdev)
    > {
    > int rc = 0;
    > @@ -1219,6 +1255,10 @@ static int dp_display_probe(struct platform_device *pdev)
    > if (!dp)
    > return -ENOMEM;
    >
    > + dp->id = dp_display_get_id(pdev);
    > + if (dp->id < 0)
    > + return -EINVAL;
    > +
    > dp->pdev = pdev;
    > dp->name = "drm_dp";
    >
    > diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h
    > index e9232032b266..62d54ef6c2c4 100644
    > --- a/drivers/gpu/drm/msm/msm_drv.h
    > +++ b/drivers/gpu/drm/msm/msm_drv.h
    > @@ -161,7 +161,7 @@ struct msm_drm_private {
    > /* DSI is shared by mdp4 and mdp5 */
    > struct msm_dsi *dsi[2];
    >
    > - struct msm_dp *dp;
    > + struct msm_dp *dp[3];

    It would be nice to either make this dynamically sized (probably little
    gain), somehow make a BUILD_BUG_ON(), or have a WARN_ON if
    ARRAY_SIZE(dp) is less than a num_dp so we know somebody messed up.

    \
     
     \ /
      Last update: 2021-07-27 01:52    [W:2.808 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site