• Matt Roper's avatar
    drm/i915: Setup dummy atomic state for connectors (v3) · c6f95f27
    Matt Roper authored
    We want to enable/test plane updates via the atomic interface, but as
    soon as we flip DRIVER_ATOMIC on, the DRM core will take some atomic
    codepaths to lookup properties during drmModeGetConnector() and some of
    those codepaths unconditionally dereference connector->state
    (specifically when looking up the CRTC ID property in
    drm_atomic_connector_get_property()).  Create a dummy connector state
    for each connector at init time to ensure the DRM core doesn't try to
    dereference a NULL connector->state.  The actual connector properties
    will never be updated or contain useful information, but since we're
    doing this specifically for testing/debug of the plane operations (and
    only when a specific kernel module option is given), that shouldn't
    really matter.
    
    Once we start creating connector states, the DRM core will want to be
    able to clean them up for us.  We also need to hook up the destruction
    entrypoint to the core's helper.
    
    v2: Squash in the patch to set the state destruction hook (Ander & Bob)
    
    v3: Only create dummy connector states when we're actually faking
        atomic support.  (Ander)
    Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
    Reviewed-by: default avatarAnder Conselvan de Oliveira <conselvan2@gmail.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    c6f95f27
intel_display.c 386 KB