[PATCH v5 3/3] drm/msm: stop storing the array of CRTCs in struct msm_drm_private

Stephen Boyd swboyd at chromium.org
Fri Jun 17 20:52:40 UTC 2022


Quoting Dmitry Baryshkov (2022-06-17 12:14:29)
> diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
> index 44485363f37a..567e77dae43b 100644
> --- a/drivers/gpu/drm/msm/msm_drv.c
> +++ b/drivers/gpu/drm/msm/msm_drv.c
> @@ -427,20 +428,23 @@ static int msm_drm_init(struct device *dev, const struct drm_driver *drv)
>         ddev->mode_config.funcs = &mode_config_funcs;
>         ddev->mode_config.helper_private = &mode_config_helper_funcs;
>
> -       for (i = 0; i < priv->num_crtcs; i++) {
> +       drm_for_each_crtc(crtc, ddev) {
> +               struct msm_drm_thread *ev_thread;
> +
>                 /* initialize event thread */
> -               priv->event_thread[i].crtc_id = priv->crtcs[i]->base.id;
> -               priv->event_thread[i].dev = ddev;
> -               priv->event_thread[i].worker = kthread_create_worker(0,
> -                       "crtc_event:%d", priv->event_thread[i].crtc_id);
> -               if (IS_ERR(priv->event_thread[i].worker)) {
> -                       ret = PTR_ERR(priv->event_thread[i].worker);
> +               ev_thread = &priv->event_thread[drm_crtc_index(crtc)];
> +               ev_thread->crtc = crtc;
> +               ev_thread->dev = ddev;
> +               ev_thread->worker = kthread_create_worker(0,
> +                       "crtc_event:%d", ev_thread->crtc->base.id);
> +               if (IS_ERR(ev_thread->worker)) {
> +                       ret = PTR_ERR(ev_thread->worker);
>                         DRM_DEV_ERROR(dev, "failed to create crtc_event kthread\n");
> -                       ret = PTR_ERR(priv->event_thread[i].worker);
> +                       ev_thread->worker = NULL;

This wasn't set to NULL before, so is it necessary to set it to NULL
now?


More information about the dri-devel mailing list