Thierry Reding <thierry.reding@xxxxxxxxx> writes: Hello Thierry, > On Wed, Aug 30, 2023 at 08:13:04AM +0200, Javier Martinez Canillas wrote: [...] >> I also wonder if is worth to move the drm_num_crtcs() function from >> drivers/gpu/drm/drm_crtc.c to include/drm/drm_crtc.h and use that helper >> instead? > > I've been looking at this, there's a few things that come to mind. It > seems like we have a couple of different ways to get the number of CRTCs > for a device. We have struct drm_device's num_crtcs, which is set during > drm_vblank_init(), then we have struct drm_mode_config's num_crtc, which > is incremented every time a new CRTC is added (and decremented when a > CRTC is removed), and finally we've got the drm_num_crtcs() which > "computes" the number of CRTCs registered by iterating over all CRTCs > that have been registered. > > Are there any cases where these three can yield different values? Would > it not make sense to consolidate these into a single variable? > I als was confused by that when looked at the implementation of the mentioned helpers and couldn't find a reason why there are different ways to calculate the number of CRTCs. Maybe Sima or someone else can shed some light? > Thierry -- Best regards, Javier Martinez Canillas Core Platforms Red Hat