OMAPDSS: remove partial update from panel-taal
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 3 Nov 2011 14:45:07 +0000 (16:45 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 2 Dec 2011 06:54:24 +0000 (08:54 +0200)
Partial update for manual update displays has never worked quite well:
* The HW has limitations on the update area, and the x and width need to
  be even.
* Showing a part of a scaled overlay causes artifacts.
* Makes the management of dispc very complex

Considering the above points and the fact that partial update is not
used anywhere, this and the following patches remove the partial update
support. This will greatly simplify the following re-write of the apply
mechanism to get proper locking and additional features like fifo-merge.

This patch removes the partial update from the panel-taal.c.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/displays/panel-taal.c

index 0aa6c5d5a695206da959cfb1c8754c4b12841324..dd64bd13f4f8d042a4218c89b17f9664d08f664d 100644 (file)
@@ -198,12 +198,6 @@ struct taal_data {
        bool te_enabled;
 
        atomic_t do_update;
-       struct {
-               u16 x;
-               u16 y;
-               u16 w;
-               u16 h;
-       } update_region;
        int channel;
 
        struct delayed_work te_timeout_work;
@@ -1440,16 +1434,14 @@ static int taal_update(struct omap_dss_device *dssdev,
                goto err;
        }
 
-       r = taal_set_update_window(td, x, y, w, h);
+       /* XXX no need to send this every frame, but dsi break if not done */
+       r = taal_set_update_window(td, 0, 0,
+                       td->panel_config->timings.x_res,
+                       td->panel_config->timings.y_res);
        if (r)
                goto err;
 
        if (td->te_enabled && panel_data->use_ext_te) {
-               td->update_region.x = x;
-               td->update_region.y = y;
-               td->update_region.w = w;
-               td->update_region.h = h;
-               barrier();
                schedule_delayed_work(&td->te_timeout_work,
                                msecs_to_jiffies(250));
                atomic_set(&td->do_update, 1);