OMAP: DSS2: DSI: detect unsupported update requests

OMAP DSS HW cannot send updates with odd widths. Normally the widths are
made even while preparing the update.

This patch adds a BUG_ON() to check if the update width is even. This is
to detect broken updates cleanly, as otherwise the OMAP DSS HW will just
halt, leading to obscure error situations.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
This commit is contained in:
Tomi Valkeinen 2010-05-25 17:01:28 +03:00
parent 36194b4792
commit a602771c43
1 changed files with 6 additions and 0 deletions

View File

@ -2902,6 +2902,12 @@ int omap_dsi_update(struct omap_dss_device *dssdev,
{ {
dsi.update_channel = channel; dsi.update_channel = channel;
/* OMAP DSS cannot send updates of odd widths.
* omap_dsi_prepare_update() makes the widths even, but add a BUG_ON
* here to make sure we catch erroneous updates. Otherwise we'll only
* see rather obscure HW error happening, as DSS halts. */
BUG_ON(x % 2 == 1);
if (dssdev->manager->caps & OMAP_DSS_OVL_MGR_CAP_DISPC) { if (dssdev->manager->caps & OMAP_DSS_OVL_MGR_CAP_DISPC) {
dsi.framedone_callback = callback; dsi.framedone_callback = callback;
dsi.framedone_data = data; dsi.framedone_data = data;