Skip to content
  • Marek Vasut's avatar
    03fa454b
    drm/panel: lvds: Simplify mode parsing · 03fa454b
    Marek Vasut authored
    
    
    The mode parsing is currently implemented in three steps:
    of_get_display_timing() - DT panel-timing to struct display_timing
    videomode_from_timing() - struct display_timing to struct videomode
    drm_display_mode_from_videomode() - struct videomode to struct drm_display_mode
    
    Replace all that with simple of_get_drm_panel_display_mode() call,
    which already populates struct drm_display_mode and then duplicate
    that mode in panel_lvds_get_modes() each time, since the mode does
    not change.
    
    Nice bonus is the bus_flags parsed by of_get_drm_panel_display_mode()
    out of panel-timing DT node, which is used in subsequent patch to fix
    handling of 'de-active' DT property.
    
    Tested-by: default avatarChristoph Niedermaier <cniedermaier@dh-electronics.com>
    Signed-off-by: default avatarMarek Vasut <marex@denx.de>
    Cc: Christoph Niedermaier <cniedermaier@dh-electronics.com>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: Dmitry Osipenko <digetx@gmail.com>
    Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Cc: Robert Foss <robert.foss@linaro.org>
    Cc: Sam Ravnborg <sam@ravnborg.org>
    Cc: Thomas Zimmermann <tzimmermann@suse.de>
    To: dri-devel@lists.freedesktop.org
    Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20220401162154.295152-1-marex@denx.de
    03fa454b
    drm/panel: lvds: Simplify mode parsing
    Marek Vasut authored
    
    
    The mode parsing is currently implemented in three steps:
    of_get_display_timing() - DT panel-timing to struct display_timing
    videomode_from_timing() - struct display_timing to struct videomode
    drm_display_mode_from_videomode() - struct videomode to struct drm_display_mode
    
    Replace all that with simple of_get_drm_panel_display_mode() call,
    which already populates struct drm_display_mode and then duplicate
    that mode in panel_lvds_get_modes() each time, since the mode does
    not change.
    
    Nice bonus is the bus_flags parsed by of_get_drm_panel_display_mode()
    out of panel-timing DT node, which is used in subsequent patch to fix
    handling of 'de-active' DT property.
    
    Tested-by: default avatarChristoph Niedermaier <cniedermaier@dh-electronics.com>
    Signed-off-by: default avatarMarek Vasut <marex@denx.de>
    Cc: Christoph Niedermaier <cniedermaier@dh-electronics.com>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: Dmitry Osipenko <digetx@gmail.com>
    Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Cc: Robert Foss <robert.foss@linaro.org>
    Cc: Sam Ravnborg <sam@ravnborg.org>
    Cc: Thomas Zimmermann <tzimmermann@suse.de>
    To: dri-devel@lists.freedesktop.org
    Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20220401162154.295152-1-marex@denx.de
Loading