[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