diff options
author | Tomi Valkeinen <tomi.valkeinen@nokia.com> | 2010-05-25 10:01:28 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@nokia.com> | 2010-08-05 09:52:06 -0400 |
commit | a602771c43ed7f1a02c7766c94fda74ac5d72a8b (patch) | |
tree | af11ea5c9f7b901453b6924fa7166f4fb4997d4c /drivers | |
parent | 36194b4792bacf8a02e713536487af60938f06dd (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.c | 6 |
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; |