• Noralf Trønnes's avatar
    drm/fb-helper: Remove drm_fb_helper_crtc · d81294af
    Noralf Trønnes authored
    struct drm_fb_helper_crtc is now just a wrapper around drm_mode_set so
    use that directly instead and attach it as a modeset array onto
    drm_client_dev. drm_fb_helper will use this array to store its modesets
    which means it will always initialize a drm_client, but it will not
    register the client (callbacks) unless it's the generic fbdev emulation.
    
    Code will later be moved to drm_client, so add code there in a new file
    drm_client_modeset.c with MIT license to match drm_fb_helper.c.
    
    The modeset connector array size is hardcoded for the cloned case to avoid
    having to pass in a value from the driver. A value of 8 is chosen to err
    on the safe side. This means that the max connector argument for
    drm_fb_helper_init() and drm_fb_helper_fbdev_setup() isn't used anymore,
    a todo entry for this is added.
    
    In pan_display_atomic() restore_fbdev_mode_force() is used instead of
    restore_fbdev_mode_atomic() because that one will later become internal
    to drm_client_modeset.
    
    Locking order:
    1. drm_fb_helper->lock
    2. drm_master_internal_acquire
    3. drm_client_dev->modeset_mutex
    
    v6: Improve commit message (Sam Ravnborg)
    
    v3:
    - Use full drm_client_init/release for the modesets (Daniel Vetter)
    - drm_client_for_each_modeset: use lockdep_assert_held (Daniel Vetter)
    - Hook up to Documentation/gpu/drm-client.rst (Daniel Vetter)
    
    v2:
    - Add modesets array to drm_client (Daniel Vetter)
    - Use a new file for the modeset code (Daniel Vetter)
    - File has to be MIT licensed (Emmanuel Vadot)
    - Add copyrights from drm_fb_helper.c
    Signed-off-by: default avatarNoralf Trønnes <noralf@tronnes.org>
    Reviewed-by: default avatarSam Ravnborg <sam@ravnborg.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190531140117.37751-3-noralf@tronnes.org
    d81294af
drm_fb_helper.c 97.1 KB