• Maarten Lankhorst's avatar
    drm/atomic: Allow for holes in connector state, v2. · 5fff80bb
    Maarten Lankhorst authored
    Because we record connector_mask using 1 << drm_connector_index now
    the connector_mask should stay the same even when other connectors
    are removed. This was not the case with MST, in that case when removing
    a connector all other connectors may change their index.
    
    This is fixed by waiting until the first get_connector_state to allocate
    connector_state, and force reallocation when state is too small.
    
    As a side effect connector arrays no longer have to be preallocated,
    and can be allocated on first use which means a less allocations in
    the page flip only path.
    
    Changes since v1:
    - Whitespace. (Ville)
    - Call ida_remove when destroying the connector. (Ville)
    - u32 alloc -> int. (Ville)
    
    Fixes: 14de6c44 ("drm/atomic: Remove drm_atomic_connectors_for_crtc.")
    Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: default avatarLyude <cpaul@redhat.com>
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
    5fff80bb
Name
Last commit
Last update
..
bridge Loading commit data...
i2c Loading commit data...
ttm Loading commit data...
ati_pcigart.h Loading commit data...
drmP.h Loading commit data...
drm_agpsupport.h Loading commit data...
drm_atomic.h Loading commit data...
drm_atomic_helper.h Loading commit data...
drm_cache.h Loading commit data...
drm_core.h Loading commit data...
drm_crtc.h Loading commit data...
drm_crtc_helper.h Loading commit data...
drm_displayid.h Loading commit data...
drm_dp_helper.h Loading commit data...
drm_dp_mst_helper.h Loading commit data...
drm_edid.h Loading commit data...
drm_encoder_slave.h Loading commit data...
drm_fb_cma_helper.h Loading commit data...
drm_fb_helper.h Loading commit data...
drm_fixed.h Loading commit data...
drm_flip_work.h Loading commit data...
drm_gem.h Loading commit data...
drm_gem_cma_helper.h Loading commit data...
drm_global.h Loading commit data...
drm_hashtab.h Loading commit data...
drm_legacy.h Loading commit data...
drm_mem_util.h Loading commit data...
drm_mipi_dsi.h Loading commit data...
drm_mm.h Loading commit data...
drm_modes.h Loading commit data...
drm_modeset_helper_vtables.h Loading commit data...
drm_modeset_lock.h Loading commit data...
drm_of.h Loading commit data...
drm_os_linux.h Loading commit data...
drm_panel.h Loading commit data...
drm_pciids.h Loading commit data...
drm_plane_helper.h Loading commit data...
drm_rect.h Loading commit data...
drm_sysfs.h Loading commit data...
drm_vma_manager.h Loading commit data...
exynos_drm.h Loading commit data...
gma_drm.h Loading commit data...
i915_component.h Loading commit data...
i915_drm.h Loading commit data...
i915_pciids.h Loading commit data...
intel-gtt.h Loading commit data...