summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: c02af4a)
raw | patch | inline | side by side (parent: c02af4a)
author | Sreenidhi Koti Ananda Rao <sreenidhi@ti.com> | |
Mon, 1 Apr 2013 20:06:13 +0000 (15:06 -0500) | ||
committer | Praneeth Bajjuri <praneeth@ti.com> | |
Fri, 12 Jul 2013 22:41:43 +0000 (17:41 -0500) |
Description: This patch adds support for enabling and disabling the
overlays in DSSCOMP. In earlier kernels this was handled by the enabled
flag in info structure. It has been deprecated in K3.4 & now overlay
enable & disable needs to be done manually by the omap_overlay
enable & disable functions.
Change-Id: Ic931e01ed3a384e9f32914a6f07602d4f2d7b6ca
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Conflicts:
drivers/video/omap2/dsscomp/base.c
overlays in DSSCOMP. In earlier kernels this was handled by the enabled
flag in info structure. It has been deprecated in K3.4 & now overlay
enable & disable needs to be done manually by the omap_overlay
enable & disable functions.
Change-Id: Ic931e01ed3a384e9f32914a6f07602d4f2d7b6ca
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Conflicts:
drivers/video/omap2/dsscomp/base.c
drivers/video/omap2/dsscomp/base.c | patch | blob | history | |
drivers/video/omap2/dsscomp/queue.c | patch | blob | history |
index 0ed32b3b2efacb7286facd943aef364e5392268c..6e42602d424abcd3bb7a5b0ff535bf47730a9d51 100755 (executable)
struct dss2_ovl_cfg *cfg;
union rect crop, win, vis;
int c;
+ int bpp;
enum tiler_fmt fmt;
+ int r = 0;
/* check overlay number */
if (!oi || oi->cfg.ix >= omap_dss_get_num_overlays())
/* just in case there are new fields, we get the current info */
ovl->get_overlay_info(ovl, &info);
- if (!cfg->enabled)
+ if (!cfg->enabled) {
+ r = ovl->disable(ovl);
+ if (r)
+ pr_warn("Error disabling ovl%d\n", cfg->ix);
goto done;
+ }
/* copied params */
info.zorder = cfg->zorder;
index 7eff12dcfeea98de9e0533369efe559d08704f9c..d372cfaec3e6d8e8bd4bd215e46adb8c70a5775c 100755 (executable)
/* keep error if set_mgr_info failed */
if (!r && !cb_programmed)
r = -EINVAL;
+ for (oix = 0; oix < comp->frm.num_ovls; oix++) {
+ struct dss2_ovl_info *oi = comp->ovls + oix;
+ ovl = cdev->ovls[oi->cfg.ix];
+ if (oi->cfg.enabled) {
+ r = ovl->enable(ovl);
+ if (r) {
+ dev_err(DEV(cdev), "[%p] "
+ "enable overlay%d failed\n",
+ comp, ovl->id);
+ goto err;
+ }
+ }
+ }
}
mutex_unlock(&mtx);
mgr->wait_for_vsync(mgr);
}
+ return r;
+err:
+ mutex_unlock(&mtx);
done:
return r;
}