• Archit Taneja's avatar
    drm/omap: Make fixed resolution panels work · bddabbe1
    Archit Taneja authored
    The omapdrm driver requires omapdss panel drivers to expose ops like detect,
    set_timings and check_timings. These can be NULL for fixed panel DPI, DBI, DSI
    and SDI drivers. At some places, there are no checks to see if the panel driver
    has these ops or not, and that leads to a crash.
    
    The following things are done to make fixed panels work:
    
    - The omap_connector's detect function is modified such that it considers panel
      types which are generally fixed panels as always connected(provided the panel
      driver doesn't have a detect op). Hence, the connector corresponding to these
      panels is always in a 'connected' state.
    
    - If a panel driver doesn't have a check_timings op, assume that it supports the
      mode passed to omap_connector_mode_valid(the 'mode_valid' drm helper function)
    
    - The function omap_encoder_update shouldn't really do anything for fixed
      resolution panels, make sure that it calls set_timings only if the panel
      driver has one.
    Signed-off-by: default avatarArchit Taneja <archit@ti.com>
    Reviewed-by: default avatarRob Clark <robdclark@gmail.com>
    Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
    bddabbe1
omap_encoder.c 4.56 KB