Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 271378
b: refs/heads/master
c: 8fa8031
h: refs/heads/master
v: v3
  • Loading branch information
Tomi Valkeinen committed Sep 30, 2011
1 parent af31280 commit 0de28fc
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 5e7850917fc213882d4e409634c526a8ff310e1e
refs/heads/master: 8fa8031c542986746ed4dfbd1eb52358bc86000b
4 changes: 3 additions & 1 deletion trunk/drivers/video/omap2/dss/dispc.c
Original file line number Diff line number Diff line change
Expand Up @@ -841,7 +841,7 @@ static void _dispc_set_color_mode(enum omap_plane plane,
REG_FLD_MOD(DISPC_OVL_ATTRIBUTES(plane), m, 4, 1);
}

void dispc_set_channel_out(enum omap_plane plane,
static void dispc_set_channel_out(enum omap_plane plane,
enum omap_channel channel)
{
int shift;
Expand Down Expand Up @@ -1860,6 +1860,8 @@ int dispc_setup_plane(enum omap_plane plane,
_dispc_set_pre_mult_alpha(plane, pre_mult_alpha);
_dispc_setup_global_alpha(plane, global_alpha);

dispc_set_channel_out(plane, channel);

return 0;
}

Expand Down
2 changes: 0 additions & 2 deletions trunk/drivers/video/omap2/dss/dss.h
Original file line number Diff line number Diff line change
Expand Up @@ -399,8 +399,6 @@ void dispc_set_plane_ba0(enum omap_plane plane, u32 paddr);
void dispc_set_plane_ba1(enum omap_plane plane, u32 paddr);
void dispc_set_plane_pos(enum omap_plane plane, u16 x, u16 y);
void dispc_set_plane_size(enum omap_plane plane, u16 width, u16 height);
void dispc_set_channel_out(enum omap_plane plane,
enum omap_channel channel_out);

void dispc_enable_gamma_table(bool enable);
int dispc_setup_plane(enum omap_plane plane,
Expand Down
5 changes: 5 additions & 0 deletions trunk/drivers/video/omap2/dss/manager.c
Original file line number Diff line number Diff line change
Expand Up @@ -1338,6 +1338,11 @@ static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)

oc = &dss_cache.overlay_cache[ovl->id];

if (ovl->manager_changed) {
ovl->manager_changed = false;
ovl->info_dirty = true;
}

if (!overlay_enabled(ovl)) {
if (oc->enabled) {
oc->enabled = false;
Expand Down
9 changes: 2 additions & 7 deletions trunk/drivers/video/omap2/dss/overlay.c
Original file line number Diff line number Diff line change
Expand Up @@ -516,6 +516,7 @@ static int omap_dss_set_manager(struct omap_overlay *ovl,
}

ovl->manager = mgr;
ovl->manager_changed = true;

/* XXX: When there is an overlay on a DSI manual update display, and
* the overlay is first disabled, then moved to tv, and enabled, we
Expand All @@ -529,15 +530,12 @@ static int omap_dss_set_manager(struct omap_overlay *ovl,
* Userspace workaround for this is to update the LCD after disabling
* the overlay, but before moving the overlay to TV.
*/
dispc_set_channel_out(ovl->id, mgr->id);

return 0;
}

static int omap_dss_unset_manager(struct omap_overlay *ovl)
{
int r;

if (!ovl->manager) {
DSSERR("failed to detach overlay: manager not set\n");
return -EINVAL;
Expand All @@ -548,11 +546,8 @@ static int omap_dss_unset_manager(struct omap_overlay *ovl)
return -EINVAL;
}

r = ovl->wait_for_go(ovl);
if (r)
return r;

ovl->manager = NULL;
ovl->manager_changed = true;

return 0;
}
Expand Down
1 change: 1 addition & 0 deletions trunk/include/video/omapdss.h
Original file line number Diff line number Diff line change
Expand Up @@ -333,6 +333,7 @@ struct omap_overlay {
struct omap_overlay_manager *manager;
struct omap_overlay_info info;

bool manager_changed;
/* if true, info has been changed, but not applied() yet */
bool info_dirty;

Expand Down

0 comments on commit 0de28fc

Please sign in to comment.