OMAPDSS: FEATURES: Create a range param to get max downscaling
authorArchit Taneja <archit@ti.com>
Thu, 8 Sep 2011 07:55:17 +0000 (13:25 +0530)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 30 Sep 2011 13:17:27 +0000 (16:17 +0300)
Create a dss_range_param member called FEAT_PARAM_DOWNSCALE to get the maximum
downscaling possible on the current platform. Use this in
dispc_ovl_calc_scaling().

Signed-off-by: Archit Taneja <archit@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/dss/dispc.c
drivers/video/omap2/dss/dss_features.c
drivers/video/omap2/dss/dss_features.h

index 68a11e3..5e6849e 100644 (file)
@@ -1692,7 +1692,7 @@ static int dispc_ovl_calc_scaling(enum omap_plane plane,
                enum omap_color_mode color_mode, bool *five_taps)
 {
        struct omap_overlay *ovl = omap_dss_get_overlay(plane);
-       const int maxdownscale = cpu_is_omap34xx() ? 4 : 2;
+       const int maxdownscale = dss_feat_get_param_max(FEAT_PARAM_DOWNSCALE);
        unsigned long fclk = 0;
 
        if ((ovl->caps & OMAP_DSS_OVL_CAP_SCALE) == 0) {
index ab41665..47e66d8 100644 (file)
@@ -288,6 +288,7 @@ static const struct dss_param_range omap2_dss_param_range[] = {
        [FEAT_PARAM_DSIPLL_REGM_DSI]            = { 0, 0 },
        [FEAT_PARAM_DSIPLL_FINT]                = { 0, 0 },
        [FEAT_PARAM_DSIPLL_LPDIV]               = { 0, 0 },
+       [FEAT_PARAM_DOWNSCALE]                  = { 1, 2 },
 };
 
 static const struct dss_param_range omap3_dss_param_range[] = {
@@ -299,6 +300,7 @@ static const struct dss_param_range omap3_dss_param_range[] = {
        [FEAT_PARAM_DSIPLL_REGM_DSI]            = { 0, (1 << 4) - 1 },
        [FEAT_PARAM_DSIPLL_FINT]                = { 750000, 2100000 },
        [FEAT_PARAM_DSIPLL_LPDIV]               = { 1, (1 << 13) - 1},
+       [FEAT_PARAM_DOWNSCALE]                  = { 1, 4 },
 };
 
 static const struct dss_param_range omap4_dss_param_range[] = {
@@ -310,6 +312,7 @@ static const struct dss_param_range omap4_dss_param_range[] = {
        [FEAT_PARAM_DSIPLL_REGM_DSI]            = { 0, (1 << 5) - 1 },
        [FEAT_PARAM_DSIPLL_FINT]                = { 500000, 2500000 },
        [FEAT_PARAM_DSIPLL_LPDIV]               = { 0, (1 << 13) - 1 },
+       [FEAT_PARAM_DOWNSCALE]                  = { 1, 4 },
 };
 
 /* OMAP2 DSS Features */
index f73585e..cd60644 100644 (file)
@@ -84,6 +84,7 @@ enum dss_range_param {
        FEAT_PARAM_DSIPLL_REGM_DSI,
        FEAT_PARAM_DSIPLL_FINT,
        FEAT_PARAM_DSIPLL_LPDIV,
+       FEAT_PARAM_DOWNSCALE,
 };
 
 /* DSS Feature Functions */