aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@nokia.com>2010-05-25 10:01:28 -0400
committerTomi Valkeinen <tomi.valkeinen@nokia.com>2010-08-05 09:52:06 -0400
commita602771c43ed7f1a02c7766c94fda74ac5d72a8b (patch)
treeaf11ea5c9f7b901453b6924fa7166f4fb4997d4c /drivers
parent36194b4792bacf8a02e713536487af60938f06dd (diff)
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/omap2/dss/dsi.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index 2ceddb83f247..a6e0f647554b 100644
--- a/drivers/video/omap2/dss/dsi.c
+++ b/drivers/video/omap2/dss/dsi.c
@@ -2902,6 +2902,12 @@ int omap_dsi_update(struct omap_dss_device *dssdev,
2902{ 2902{
2903 dsi.update_channel = channel; 2903 dsi.update_channel = channel;
2904 2904
2905 /* OMAP DSS cannot send updates of odd widths.
2906 * omap_dsi_prepare_update() makes the widths even, but add a BUG_ON
2907 * here to make sure we catch erroneous updates. Otherwise we'll only
2908 * see rather obscure HW error happening, as DSS halts. */
2909 BUG_ON(x % 2 == 1);
2910
2905 if (dssdev->manager->caps & OMAP_DSS_OVL_MGR_CAP_DISPC) { 2911 if (dssdev->manager->caps & OMAP_DSS_OVL_MGR_CAP_DISPC) {
2906 dsi.framedone_callback = callback; 2912 dsi.framedone_callback = callback;
2907 dsi.framedone_data = data; 2913 dsi.framedone_data = data;