b00d1a2efb
There are no 'struct drm_output' for CRTCs that are not active. Also, CRTC data lives in 'struct drm_output'. This is causing us some trouble, as the DRM-backend needs to program those unnactive CRTCs to be off. If the DRM-backend had the reference for every CRTC (being active or not), it would make certain functions (e.g. drm_pending_state_apply_atomic()) more simple and efficient. Move CRTC data from 'struct drm_output' to 'struct drm_crtc', as this is the first step to allow the DRM-backend to have references for every CRTC. Also, add list of CRTCs to DRM-backend object. Now the DRM-backend is responsible for allocating/deallocating the CRTC objects. The outputs will only reference, init and fini the CRTCs in this list. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>