• Archit Taneja's avatar
    OMAPDSS: DSI: Support command mode interleaving during video mode blanking periods · 6f28c296
    Archit Taneja authored
    DSI supports interleaving of command mode packets during the HSA, HFP, HBP and
    BLLP blanking intervals in a video mode stream. This is useful as a user may
    want to read or change the configuration of a panel without stopping the video
    stream.
    
    On OMAP DSI, we can queue HS or LP command mode packets in the TX FIFO, and
    the DSI HW takes care of interleaving this data during the one of the blanking
    intervals. The DSI HW needs to be programmed with the maximum amount of data
    that can be interleaved in a particular blanking period. A blanking period
    cannot be used to send command mode data for it's complete duration, there is
    some amount of time required for the DSI data and clock lanes to transition
    to the desired LP or HS state.
    
    Based on the state of the lanes at the beginning and end of the blanking period,
    we have different scenarios, with each scenario having a different value of time
    required to transition to HS or LP. Refer to the section 'Interleaving Mode' in
    OMAP TRM for more info on the scenarios and the equations to calculate the time
    required for HS or LP transitions.
    
    We use the scenarios which takes the maximum time for HS or LP transition, this
    gives us the minimum amount of time that can be used to interleave command mode
    data. The amount of data that can be sent during this minimum time is calculated
    for command mode packets both in LP and HS. These are written to the registers
    DSI_VM_TIMING4 to DSI_VM_TIMING6.
    
    The calculations don't take into account the time required of transmitting BTA
    when doing a DSI read, or verifying if a DSI write went through correctly. Until
    these latencies aren't considered, the behaviour of DSI is unpredictable when
    a BTA is interleaved during a blanking period. Enhancement of these calculations
    is a TODO item.
    
    The calculations are derived from DSI parameter calculation tools written by
    Sebastien Fagard <s-fagard@ti.com>
    Signed-off-by: default avatarArchit Taneja <archit@ti.com>
    Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
    6f28c296
dsi.c 126 KB