• Laurent Pinchart's avatar
    drm/omap: panels: Don't modify fixed timings · 31cd7afa
    Laurent Pinchart authored
    Panels drivers store their timings in a device data structure field that
    is initialized at probe time, either from hardcoded values or from
    firmware-supplied values. Those timings are then reported through the
    .get_timings() operation to construct the panel display mode.
    
    The panel timings are further modified by the .set_timings() operation,
    which is called with the timings retrieved by .get_timings(), and
    mangled by .check_timings(). The latter potentially adjusts the pixel
    clock only.
    
    Conceptually, modifying the panel timings is wrong, as the timings are
    an intrinsic property of the panel and should thus be fixed.
    Furthermore, modifying them this way at runtime can result in display
    modes reported to userspace varying between calls, which is also wrong.
    
    There's no actual need to store the mangled pixel clock value in the
    timings. Don't modify the panel timings in the .set_timings() operation,
    just forward it to the previous device in the display pipeline.
    Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
    Reviewed-by: default avatarSebastian Reichel <sebastian.reichel@collabora.co.uk>
    Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
    31cd7afa
panel-sharp-ls037v7dw01.c 6.14 KB