]> Pileus Git - ~andy/linux/commitdiff
OMAPDSS: APPLY: move simple_check functions
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 13 Dec 2011 11:18:52 +0000 (13:18 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Mon, 2 Jan 2012 06:51:26 +0000 (08:51 +0200)
The functions dss_ovl_simple_check() and dss_mgr_simple_check() are not
really part of the apply mechanism, and can be moved to overlay.c and
manager.c.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/dss/apply.c
drivers/video/omap2/dss/dss.h
drivers/video/omap2/dss/manager.c
drivers/video/omap2/dss/overlay.c

index 12f2cdb657041a03aa177b61c26c87b9a3fe69ac..0a6fb8de19c0b4c9d9d7155c3b2ec49c5e5e799b 100644 (file)
@@ -991,25 +991,6 @@ out:
        mutex_unlock(&apply_lock);
 }
 
-static int dss_mgr_simple_check(struct omap_overlay_manager *mgr,
-               const struct omap_overlay_manager_info *info)
-{
-       if (dss_has_feature(FEAT_ALPHA_FIXED_ZORDER)) {
-               /*
-                * OMAP3 supports only graphics source transparency color key
-                * and alpha blending simultaneously. See TRM 15.4.2.4.2.2
-                * Alpha Mode.
-                */
-               if (info->partial_alpha_enabled && info->trans_enabled
-                       && info->trans_key_type != OMAP_DSS_COLOR_KEY_GFX_DST) {
-                       DSSERR("check_manager: illegal transparency key\n");
-                       return -EINVAL;
-               }
-       }
-
-       return 0;
-}
-
 int dss_mgr_set_info(struct omap_overlay_manager *mgr,
                struct omap_overlay_manager_info *info)
 {
@@ -1109,42 +1090,6 @@ err:
 }
 
 
-static int dss_ovl_simple_check(struct omap_overlay *ovl,
-               const struct omap_overlay_info *info)
-{
-       if (info->paddr == 0) {
-               DSSERR("check_overlay: paddr cannot be 0\n");
-               return -EINVAL;
-       }
-
-       if ((ovl->caps & OMAP_DSS_OVL_CAP_SCALE) == 0) {
-               if (info->out_width != 0 && info->width != info->out_width) {
-                       DSSERR("check_overlay: overlay %d doesn't support "
-                                       "scaling\n", ovl->id);
-                       return -EINVAL;
-               }
-
-               if (info->out_height != 0 && info->height != info->out_height) {
-                       DSSERR("check_overlay: overlay %d doesn't support "
-                                       "scaling\n", ovl->id);
-                       return -EINVAL;
-               }
-       }
-
-       if ((ovl->supported_modes & info->color_mode) == 0) {
-               DSSERR("check_overlay: overlay %d doesn't support mode %d\n",
-                               ovl->id, info->color_mode);
-               return -EINVAL;
-       }
-
-       if (info->zorder >= omap_dss_get_num_overlays()) {
-               DSSERR("check_overlay: zorder %d too high\n", info->zorder);
-               return -EINVAL;
-       }
-
-       return 0;
-}
-
 int dss_ovl_set_info(struct omap_overlay *ovl,
                struct omap_overlay_info *info)
 {
index 20a88392ed244c71361b89ad8bdf4bf606b36e00..3cf99a95dae242b2a2f751dfec1b7a945adb18d5 100644 (file)
@@ -209,6 +209,8 @@ void default_get_overlay_fifo_thresholds(enum omap_plane plane,
 /* manager */
 int dss_init_overlay_managers(struct platform_device *pdev);
 void dss_uninit_overlay_managers(struct platform_device *pdev);
+int dss_mgr_simple_check(struct omap_overlay_manager *mgr,
+               const struct omap_overlay_manager_info *info);
 int dss_mgr_check(struct omap_overlay_manager *mgr,
                struct omap_dss_device *dssdev,
                struct omap_overlay_manager_info *info,
@@ -219,6 +221,8 @@ void dss_init_overlays(struct platform_device *pdev);
 void dss_uninit_overlays(struct platform_device *pdev);
 void dss_overlay_setup_dispc_manager(struct omap_overlay_manager *mgr);
 void dss_recheck_connections(struct omap_dss_device *dssdev, bool force);
+int dss_ovl_simple_check(struct omap_overlay *ovl,
+               const struct omap_overlay_info *info);
 int dss_ovl_check(struct omap_overlay *ovl,
                struct omap_overlay_info *info, struct omap_dss_device *dssdev);
 
index 542258dbdcccae7282f80129872fb6b526dacbf0..d1858e71c64e8bc448eb31e5e88680c12f4e9368 100644 (file)
@@ -592,6 +592,25 @@ struct omap_overlay_manager *omap_dss_get_overlay_manager(int num)
 }
 EXPORT_SYMBOL(omap_dss_get_overlay_manager);
 
+int dss_mgr_simple_check(struct omap_overlay_manager *mgr,
+               const struct omap_overlay_manager_info *info)
+{
+       if (dss_has_feature(FEAT_ALPHA_FIXED_ZORDER)) {
+               /*
+                * OMAP3 supports only graphics source transparency color key
+                * and alpha blending simultaneously. See TRM 15.4.2.4.2.2
+                * Alpha Mode.
+                */
+               if (info->partial_alpha_enabled && info->trans_enabled
+                       && info->trans_key_type != OMAP_DSS_COLOR_KEY_GFX_DST) {
+                       DSSERR("check_manager: illegal transparency key\n");
+                       return -EINVAL;
+               }
+       }
+
+       return 0;
+}
+
 static int dss_mgr_check_zorder(struct omap_overlay_manager *mgr,
                struct omap_overlay_info **overlay_infos)
 {
index c91babfc44caac383d29fd049277d88dee50c4f2..6e821810deec092324a0f1013fbb3cb32bba72dd 100644 (file)
@@ -595,6 +595,42 @@ void dss_uninit_overlays(struct platform_device *pdev)
        num_overlays = 0;
 }
 
+int dss_ovl_simple_check(struct omap_overlay *ovl,
+               const struct omap_overlay_info *info)
+{
+       if (info->paddr == 0) {
+               DSSERR("check_overlay: paddr cannot be 0\n");
+               return -EINVAL;
+       }
+
+       if ((ovl->caps & OMAP_DSS_OVL_CAP_SCALE) == 0) {
+               if (info->out_width != 0 && info->width != info->out_width) {
+                       DSSERR("check_overlay: overlay %d doesn't support "
+                                       "scaling\n", ovl->id);
+                       return -EINVAL;
+               }
+
+               if (info->out_height != 0 && info->height != info->out_height) {
+                       DSSERR("check_overlay: overlay %d doesn't support "
+                                       "scaling\n", ovl->id);
+                       return -EINVAL;
+               }
+       }
+
+       if ((ovl->supported_modes & info->color_mode) == 0) {
+               DSSERR("check_overlay: overlay %d doesn't support mode %d\n",
+                               ovl->id, info->color_mode);
+               return -EINVAL;
+       }
+
+       if (info->zorder >= omap_dss_get_num_overlays()) {
+               DSSERR("check_overlay: zorder %d too high\n", info->zorder);
+               return -EINVAL;
+       }
+
+       return 0;
+}
+
 int dss_ovl_check(struct omap_overlay *ovl,
                struct omap_overlay_info *info, struct omap_dss_device *dssdev)
 {