OMAPDSS: DSS: Complete callbacks on mgr->blank if not wait_for_go

Disabled panels do not clear GO automatically, therefore, we
assume no wait_for_go on disabled panels.

When not waiting for GO, complete all pending composition
callbacks regardless of dirty state, as dirty state will not
be propagated.

Change-Id: Ic5ddd81414bab56d136a716907fd8e6dfa0f795f
Signed-off-by: Lajos Molnar <lajos@ti.com>
OMAPDSS: DSS: Fix wait_for_go support on mgr->blank() for manual update panels

Manual update panels do not clear GO automatically.  For these panels we need
to call update so that GO gets cleared.

Change-Id: Idb446af8c77553cec8baf7af893d180cfbaa7582
Signed-off-by: Lajos Molnar <lajos@ti.com>
OMAP DSI: Fix consecutive bus unlocks for manual mode panel.

Description: In manual mode panels, a semphore is used to keep track
of display queue and release. Upon the condition of framedone timeout
error the semaphore is released once by the callback handler before exiting.
If framedone for the timed-out frame arrives after 250 msec and before
next frame queuing, it releases the semaphore second time in the callback handler.
This results in warnon assert later.

This patch puts in proper check before releasing the semaphore.
This way we prevent multiple unlocks of the bus..

Change-Id: I7db034de1a286f58a7fb9187b4ff356d7ad4731b
Signed-off-by: Sreenidhi Koti <sreenidhi@ti.com>
Signed-off-by: Sujeet Barnawal <s-baranwal@ti.com>
Revert "OMAP:DSS: SW workaround for HW scaler overread issue"

This reverts commit 0e11c5b311d2c7436756f80c35c8aef4cd0d911b.

The SW workaround is no longer needed as a hardware workaround
exists, and the SW workaround created artifacts.

Change-Id: I5d8a601b24502a3ac5d4c1f17fcb3936ba8e7e10
Signed-off-by: Sathya Prakash M R <a0393677@ti.com>
Signed-off-by: Lajos Molnar <lajos@ti.com>
OMAPDSS: DSS: MFLAG support

This patch enables MFLAG support for OMAP4470 SOCs.
MFLAG changes the arbitration on L3, so DMA of DSS will read
a frame data with a high priority. This is important for
high resolution displays like 1080p and above.

Change-Id: I7e058ec52068bc0c37a6152a6656a90ec3194706
Signed-off-by: Artem Rudenko <artemrudenko@ti.com>
OMAPDSS:DSS: Add write back support.

Port write back support from 2.6.35.

Support for mem2mem mode with overlay/mgr as
input will be added later.

Change-Id: I17efea1d9897f8f9cd2ed8f9623198e0a63c8fba
Signed-off-by: Mythri P K <mythripk@ti.com>
Signed-off-by: Rohit Choraria <rohitkc@ti.com>
Signed-off-by: Sreenidhi Koti <sreenidhi@ti.com>
OMAPDSS:DSSCOMP: Support for WB capture mode

Implementation of WB capture mode (i.e. output of
overlay manager captured using WB) added. The support
for WB mem2mem mode to be added later.

Change-Id: Ibf3c07770e22638284da8844894fbe2266a2a249
Signed-off-by: Rohit Choraria <rohitkc@ti.com>
OMAPDSS: MFlag thresholds settings

As per the simultaion team suggestion, the below thesholds are set:
HT = fifosize * 5/8;
LT = fifosize * 4/8;

Change-Id: Ieef7d8a090e38ce717729fe30f60f46c6dfd6ddd
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Signed-off-by: Lajos Molnar <lajos@ti.com>
Signed-off-by: Dima Svetlov <svetlov@ti.com>
OMAP4: OMAPDSS: Request higher bandwidth for 1080p FB

Request higher L3 bandwidth when we have 1080p, or higher,
resolution framebuffer. This is done to avoid underflow on
DSS pipelines.

Change-Id: Ieca56ae8bc9ec6147ab9301c267c29279a9399ca
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Signed-off-by: Peter Nordström <nordstrom@ti.com>
OMAPDSS: DSSCOMP: Skip manager set to overlay if manager is currently blank.

This is done to prevent call of dispc_set_channel_out when manager
is blanked. And to prevent changes to dispc registers, when dispc
is disabled (all managers blanked).

Change-Id: I0887abd3a9e883c09e75ef0a5f0632c40754d24d
Signed-off-by: Volodymyr Frolov <volodymyr.frolov@ti.com>
Signed-off-by: Kostiantyn Luzan <x0166170@ti.com>
OMAPDSS: DISPC: more precise scale limits checking

Use division with rounding-up when checking if maximum downscale ratio
was reached. This allows to avoid SYNC_LOST errors in case when small
amount of extra pixels or lines (usually 1-3) not taken into account

Change-Id: Id8f88c64671146a64738cfd820378bb7a28c1455
Signed-off-by: Sergiy Kibrik <sergiy.kibrik@globallogic.com>
OMAPDSS: DISPC: Use FIR filters other than M19

Pass correct arguments to FIR filter selection.  Previously we
always ended up selecting M19 5-tap filter.

This should improve image quality of scaled layers.

Change-Id: Iabe3219df7dcfd62c713fd92ee9c3d12221bc382
Signed-off-by: Lajos Molnar <lajos@ti.com>
OMAPDSS: DSS: Relax L3 bus bandwidth constraint

In a current codebase L3 BW constraint is set if
any display has resution higher or equal FullHD.

Estimated available DSS bandwidth on L3@OPP50 is ~800MB/s.
It is approximately 3 WXGA layers or almost 1.5 FullHD layers at
60fps rate.

This patch relaxes L3 BW constraint and set it only
if current overlays' configuration needs higher BW.

Change-Id: I45afe36876e9898b45e20901d2b5c2633f32b914
Signed-off-by: Taras Kondratiuk <taras@ti.com>
OMAPDSS: DSSCOMP: Add GPL license information

GPL license information was missing in gralloc.c

Change-Id: I9da3b0cc8a4ad28439483bdc6fdc19587d1ad200
Signed-off-by: Victor Kleinik <x0150886@ti.com>
OMAPDSS:DSSCOMP: Add mem2mem write back support.

Added mem2mem wb mode. Patch supports capturing from pipes.

Change-Id: Ia4f30e3e163023832b3b9e91d5d67ffe8ffd7365
Signed-off-by: Artem Rudenko <artemrudenko@ti.com>
OMAPDSS:DSSCOMP: Ignore display resolution for WB source overlay

When WB captures from an overlay in MEM2MEM mode, the captured
image may be up-scaled beyond the size of the display.

Change-Id: If5a8faf3206923a5f218d711527cc3ff2b54a7f7
Signed-off-by: Artem Rudenko <artemrudenko@ti.com>
OMAPDSS: DSS: Wait for wb interrupt

This patch prevents skipping of frames in case we setup
a new composition until WB finishes the previous one.

Change-Id: I5793dec7f0856ce94674f326383de59f935a2f07
Signed-off-by: Artem Rudenko <artemrudenko@ti.com>
OMAPDSS: DSSCOMP: Add MEM2MEM with manager mode

This change adds code for maintain MEM2MEM with manager mode
at DSSCOMP level.

Change-Id: Id14bc0c4884310250b6709436d815c9102a9d72e
Signed-off-by: Mykhailo Denysiuk <x0172934@ti.com>
OMAPDSS: DSSCOMP: Fix incorrect num_ovls check

In setup manager IOCTL, the check to validate the number of overlays
is incorrect. Hence when all overlays are passed to setup manager IOCTL
with enable/disable, error was returned. Fix the same.

Change-Id: I8ec1a6dee9f074ebf83a39bdf113a97e2543cc70
Signed-off-by: Varadarajan, Charulatha <charu@ti.com>
OMAPDSS: DSS: Add MEM2MEM manager mode

This change adds memory-to-memory (M2M) mode with using of the
manager. The main idea is to connect write back (WB) pipeline to
the manager (overlay, in terms of technical reference manual)
which is not in use (physical interface is turned-off) for using
advantages of hardware manager in M2M mode. In this case several
pipelines can be connected to the manager.

Change-Id: Ifa649bd5b18f54f3ce583fdee802c799b2c30711
Co-author: Sergiy Kibrik <sergiikibrik@ti.com>
Signed-off-by: Mykhailo Denysiuk <x0172934@ti.com>