]> git.baikalelectronics.ru Git - kernel.git/commit
OMAPDSS: DISPC: work-around for errata i631
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 9 Apr 2015 10:51:30 +0000 (13:51 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 17 Jun 2015 12:38:43 +0000 (15:38 +0300)
commitd949e062355e6141298933816b7cc4e13643c3b7
tree15261fe46ec39419dd9901e4c2c2d9d3191b21c9
parentae35b9aa4a3f7752f4e92e71f8082b00bdc73996
OMAPDSS: DISPC: work-around for errata i631

Errata i631 description:

"When in YUV4:2:0 format in 1D burst, the DISPC DMA skips lines when
fetching Chroma sampling."

Workaround:

"If YUV4:2:0-1D burst is required: Set
DISPC_VIDp_ATTRIBUTES[22]DOUBLESTRIDE to 0x0 and
DISPC_VIDp_ATTRIBUTES[13:12]ROTATION to 0x1 or 0x3"

The description is somewhat confusing, but testing has shown that DSS
fetches extra rows from memory when using NV12 format in 1D mode. If the
memory after the framebuffer is inaccessible, this leads to OCP errors.

The driver always uses DOUBLESTRIDE=0 when using 1D mode, so we only
need to handle the ROTATION part.

The issue exist on all OMAP4 and OMAP5 based DSS IPs.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/fbdev/omap2/dss/dispc.c