diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2011-11-03 10:52:06 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2011-12-02 01:54:25 -0500 |
commit | 3ba2a1c01546a4980e7b7742445560ae4afd1fc1 (patch) | |
tree | c55d112b11b62e05e1a7923c6b2709c667c18544 /drivers/video | |
parent | cf0736681e569b0d3803d68d4f6d00f544f3426a (diff) |
OMAPDSS: handle ilace/replication when configuring overlay
Move the configuration of interlace and replication from
omap_dss_mgr_apply() to configure_overlay(). This removes the need to
store the values into the cache data.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/omap2/dss/manager.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c index 268704bc6c39..d8d0d11d95d9 100644 --- a/drivers/video/omap2/dss/manager.c +++ b/drivers/video/omap2/dss/manager.c | |||
@@ -510,8 +510,6 @@ struct overlay_cache_data { | |||
510 | struct omap_overlay_info info; | 510 | struct omap_overlay_info info; |
511 | 511 | ||
512 | enum omap_channel channel; | 512 | enum omap_channel channel; |
513 | bool replication; | ||
514 | bool ilace; | ||
515 | 513 | ||
516 | u32 fifo_low; | 514 | u32 fifo_low; |
517 | u32 fifo_high; | 515 | u32 fifo_high; |
@@ -757,8 +755,10 @@ static int overlay_enabled(struct omap_overlay *ovl) | |||
757 | 755 | ||
758 | static int configure_overlay(enum omap_plane plane) | 756 | static int configure_overlay(enum omap_plane plane) |
759 | { | 757 | { |
758 | struct omap_overlay *ovl; | ||
760 | struct overlay_cache_data *c; | 759 | struct overlay_cache_data *c; |
761 | struct omap_overlay_info *oi; | 760 | struct omap_overlay_info *oi; |
761 | bool ilace, replication; | ||
762 | int r; | 762 | int r; |
763 | 763 | ||
764 | DSSDBGF("%d", plane); | 764 | DSSDBGF("%d", plane); |
@@ -771,8 +771,14 @@ static int configure_overlay(enum omap_plane plane) | |||
771 | return 0; | 771 | return 0; |
772 | } | 772 | } |
773 | 773 | ||
774 | r = dispc_ovl_setup(plane, oi, c->ilace, c->channel, | 774 | ovl = omap_dss_get_overlay(plane); |
775 | c->replication, c->fifo_low, c->fifo_high); | 775 | |
776 | replication = dss_use_replication(ovl->manager->device, oi->color_mode); | ||
777 | |||
778 | ilace = ovl->manager->device->type == OMAP_DISPLAY_TYPE_VENC; | ||
779 | |||
780 | r = dispc_ovl_setup(plane, oi, ilace, c->channel, | ||
781 | replication, c->fifo_low, c->fifo_high); | ||
776 | if (r) { | 782 | if (r) { |
777 | /* this shouldn't happen */ | 783 | /* this shouldn't happen */ |
778 | DSSERR("dispc_ovl_setup failed for ovl %d\n", plane); | 784 | DSSERR("dispc_ovl_setup failed for ovl %d\n", plane); |
@@ -1038,11 +1044,6 @@ static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr) | |||
1038 | oc->dirty = true; | 1044 | oc->dirty = true; |
1039 | oc->info = ovl->info; | 1045 | oc->info = ovl->info; |
1040 | 1046 | ||
1041 | oc->replication = | ||
1042 | dss_use_replication(dssdev, ovl->info.color_mode); | ||
1043 | |||
1044 | oc->ilace = dssdev->type == OMAP_DISPLAY_TYPE_VENC; | ||
1045 | |||
1046 | oc->channel = ovl->manager->id; | 1047 | oc->channel = ovl->manager->id; |
1047 | 1048 | ||
1048 | oc->enabled = true; | 1049 | oc->enabled = true; |