Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 284938
b: refs/heads/master
c: bf21352
h: refs/heads/master
v: v3
  • Loading branch information
Tomi Valkeinen committed Dec 2, 2011
1 parent f33695e commit 916ffeb
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 6 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: 9a147a65de1ac89e506ef90413f41ebd96e03fd3
refs/heads/master: bf213523fe9708572a0b0a9149f7196a4f058564
26 changes: 23 additions & 3 deletions trunk/drivers/video/omap2/dss/apply.c
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,9 @@ struct mgr_priv_data {

bool manual_update;
bool do_manual_update;

/* If true, a display is enabled using this manager */
bool enabled;
};

static struct {
Expand Down Expand Up @@ -609,6 +612,7 @@ int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
int r;
unsigned long flags;
struct omap_overlay *ovl;
struct mgr_priv_data *mp = get_mgr_priv(mgr);

DSSDBG("omap_dss_mgr_apply(%s)\n", mgr->name);

Expand All @@ -630,7 +634,7 @@ int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
omap_dss_mgr_apply_ovl_fifos(ovl);

r = 0;
if (mgr->enabled && !mgr_manual_update(mgr)) {
if (mp->enabled && !mgr_manual_update(mgr)) {
if (!dss_data.irq_enabled)
dss_register_vsync_isr();

Expand All @@ -646,22 +650,38 @@ int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)

void dss_mgr_enable(struct omap_overlay_manager *mgr)
{
struct mgr_priv_data *mp = get_mgr_priv(mgr);
unsigned long flags;

mutex_lock(&apply_lock);

if (!mgr_manual_update(mgr))
dispc_mgr_enable(mgr->id, true);
mgr->enabled = true;

spin_lock_irqsave(&data_lock, flags);

mp->enabled = true;

spin_unlock_irqrestore(&data_lock, flags);

mutex_unlock(&apply_lock);
}

void dss_mgr_disable(struct omap_overlay_manager *mgr)
{
struct mgr_priv_data *mp = get_mgr_priv(mgr);
unsigned long flags;

mutex_lock(&apply_lock);

if (!mgr_manual_update(mgr))
dispc_mgr_enable(mgr->id, false);
mgr->enabled = false;

spin_lock_irqsave(&data_lock, flags);

mp->enabled = false;

spin_unlock_irqrestore(&data_lock, flags);

mutex_unlock(&apply_lock);
}
Expand Down
2 changes: 0 additions & 2 deletions trunk/include/video/omapdss.h
Original file line number Diff line number Diff line change
Expand Up @@ -430,8 +430,6 @@ struct omap_overlay_manager {
struct omap_dss_device *device;
struct omap_overlay_manager_info info;

bool enabled;

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

0 comments on commit 916ffeb

Please sign in to comment.