2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-22 20:23:57 +08:00
linux-next/drivers/video/omap2
Archit Taneja 6f28c2964b OMAPDSS: DSI: Support command mode interleaving during video mode blanking periods
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: Archit Taneja <archit@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-05-21 12:21:18 +03:00
..
displays OMAPDSS: TFP410: use gpio_set_value_cansleep 2012-05-11 15:09:29 +03:00
dss OMAPDSS: DSI: Support command mode interleaving during video mode blanking periods 2012-05-21 12:21:18 +03:00
omapfb OMAPFB: add __init & __exit 2012-05-11 14:44:52 +03:00
Kconfig OMAP: DSS2: Add generic and Sharp panel drivers 2009-12-09 18:19:42 +02:00
Makefile OMAP2: avoid descending into disabled framebuffer dirs 2011-05-11 14:20:53 +03:00
vram.c OMAPDSS: Remove video SRAM support 2012-02-23 09:38:26 +02:00
vrfb.c ARM: OMAP: Remove remaining includes for mach/io.h 2012-03-06 21:34:38 -06:00