Skip to content

Commit

Permalink
OMAPDSS: APPLY: add dss_setup_fifos
Browse files Browse the repository at this point in the history
Currently fifo threshold configuration is done per overlay or per
manager. However, when a fifo size configuration is added, we need to
always configure the thresholds for all overlays.

This patch prepares for that by changing the fifo threshold
configuration to always handle all overlays.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
  • Loading branch information
Tomi Valkeinen committed Dec 2, 2011
1 parent a6b24f8 commit 75ae118
Showing 1 changed file with 16 additions and 8 deletions.
24 changes: 16 additions & 8 deletions drivers/video/omap2/dss/apply.c
Original file line number Diff line number Diff line change
Expand Up @@ -960,6 +960,9 @@ static void dss_ovl_setup_fifo(struct omap_overlay *ovl)
u32 size, burst_size;
u32 fifo_low, fifo_high;

if (!op->enabled && !op->enabling)
return;

dssdev = ovl->manager->device;

size = dispc_ovl_get_fifo_size(ovl->id);
Expand Down Expand Up @@ -993,21 +996,26 @@ static void dss_ovl_setup_fifo(struct omap_overlay *ovl)
static void dss_mgr_setup_fifos(struct omap_overlay_manager *mgr)
{
struct omap_overlay *ovl;
struct ovl_priv_data *op;
struct mgr_priv_data *mp;

mp = get_mgr_priv(mgr);

if (!mp->enabled)
return;

list_for_each_entry(ovl, &mgr->overlays, list) {
op = get_ovl_priv(ovl);
list_for_each_entry(ovl, &mgr->overlays, list)
dss_ovl_setup_fifo(ovl);
}

if (!op->enabled && !op->enabling)
continue;
static void dss_setup_fifos(void)
{
const int num_mgrs = omap_dss_get_num_overlay_managers();
struct omap_overlay_manager *mgr;
int i;

dss_ovl_setup_fifo(ovl);
for (i = 0; i < num_mgrs; ++i) {
mgr = omap_dss_get_overlay_manager(i);
dss_mgr_setup_fifos(mgr);
}
}

Expand All @@ -1033,7 +1041,7 @@ int dss_mgr_enable(struct omap_overlay_manager *mgr)
goto err;
}

dss_mgr_setup_fifos(mgr);
dss_setup_fifos();

dss_write_regs();
dss_set_go_bits();
Expand Down Expand Up @@ -1409,7 +1417,7 @@ int dss_ovl_enable(struct omap_overlay *ovl)
goto err2;
}

dss_ovl_setup_fifo(ovl);
dss_setup_fifos();

op->enabling = false;
dss_apply_ovl_enable(ovl, true);
Expand Down

0 comments on commit 75ae118

Please sign in to comment.