summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Yu <davyu@nvidia.com>2014-05-20 20:44:22 +0900
committerHarry Hong <hhong@nvidia.com>2014-05-21 17:51:09 -0700
commit508a57c332c65b5c42840c08b0eb952851d9b69a (patch)
tree3727139be13cd25ae033c86c337fff8f24f70fd8
parentd253cc10557628ddaf929d24fccfe4d47df3e040 (diff)
Revert "video: tegra: Fix filtering with SCAN_COLUMN on"
This reverts commit f08b3a1c970f72c6978979936d117b694ecaeba6. Signed-off-by: David Yu <davyu@nvidia.com> Change-Id: I078f73db95a55eb56ad0cf44fe612a6f2d10d390 Reviewed-on: http://git-master/r/412015 Reviewed-by: Harry Hong <hhong@nvidia.com> Tested-by: Harry Hong <hhong@nvidia.com>
-rw-r--r--drivers/video/tegra/dc/bandwidth.c6
-rw-r--r--drivers/video/tegra/dc/dc_config.h25
-rw-r--r--drivers/video/tegra/dc/window.c7
3 files changed, 12 insertions, 26 deletions
diff --git a/drivers/video/tegra/dc/bandwidth.c b/drivers/video/tegra/dc/bandwidth.c
index 181ae5a31af7..4989ba4d096c 100644
--- a/drivers/video/tegra/dc/bandwidth.c
+++ b/drivers/video/tegra/dc/bandwidth.c
@@ -66,7 +66,7 @@ static void tegra_dc_set_latency_allowance(struct tegra_dc *dc,
#if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC)
/* tegra_dc_get_bandwidth() treats V filter windows as double
* bandwidth, but LA has a seperate client for V filter */
- if (w->idx == 1 && win_use_v_filter(dc, w, false))
+ if (w->idx == 1 && win_use_v_filter(dc, w))
bw /= 2;
#endif
@@ -211,7 +211,7 @@ static unsigned long tegra_dc_calc_win_bandwidth(struct tegra_dc *dc,
bw *= tiled_windows_bw_multiplier;
#if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC)
- if (win_use_v_filter(dc, w, false))
+ if (win_use_v_filter(dc, w))
bw *= 2;
#endif
@@ -220,7 +220,7 @@ static unsigned long tegra_dc_calc_win_bandwidth(struct tegra_dc *dc,
f_h = max(in_h * 100 / w->out_h, 100u);
bw *= f_w;
bw /= 100;
- if (win_use_v_filter(dc, w, w->flags & TEGRA_WIN_FLAG_SCAN_COLUMN)) {
+ if (win_use_v_filter(dc, w)) {
bw *= f_h;
bw /= 100;
}
diff --git a/drivers/video/tegra/dc/dc_config.h b/drivers/video/tegra/dc/dc_config.h
index 19cc71accc49..0ef076c2d3e1 100644
--- a/drivers/video/tegra/dc/dc_config.h
+++ b/drivers/video/tegra/dc/dc_config.h
@@ -1,7 +1,6 @@
/*
* drivers/video/tegra/dc/dc_config.c
- *
- * Copyright (c) 2010-2013, NVIDIA CORPORATION, All rights reserved.
+ * Copyright (c) 2010-2012, NVIDIA CORPORATION, All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -157,26 +156,16 @@ long *tegra_dc_parse_feature(struct tegra_dc *dc, int win_idx, int operation);
void tegra_dc_feature_register(struct tegra_dc *dc);
static inline bool win_use_v_filter(struct tegra_dc *dc,
- const struct tegra_dc_win *win, bool scan_column)
+ const struct tegra_dc_win *win)
{
- int has_filter;
-
- has_filter = tegra_dc_feature_has_filter(dc, win->idx, HAS_V_FILTER);
- if (scan_column)
- return has_filter && win->w.full != dfixed_const(win->out_h);
- else
- return has_filter && win->h.full != dfixed_const(win->out_h);
+ return tegra_dc_feature_has_filter(dc, win->idx, HAS_V_FILTER) &&
+ win->h.full != dfixed_const(win->out_h);
}
static inline bool win_use_h_filter(struct tegra_dc *dc,
- const struct tegra_dc_win *win, bool scan_column)
+ const struct tegra_dc_win *win)
{
- int has_filter;
-
- has_filter = tegra_dc_feature_has_filter(dc, win->idx, HAS_H_FILTER);
- if (scan_column)
- return has_filter && win->h.full != dfixed_const(win->out_w);
- else
- return has_filter && win->w.full != dfixed_const(win->out_w);
+ return tegra_dc_feature_has_filter(dc, win->idx, HAS_H_FILTER) &&
+ win->w.full != dfixed_const(win->out_w);
}
#endif
diff --git a/drivers/video/tegra/dc/window.c b/drivers/video/tegra/dc/window.c
index 987797aaa2a0..58113ab652cb 100644
--- a/drivers/video/tegra/dc/window.c
+++ b/drivers/video/tegra/dc/window.c
@@ -364,8 +364,8 @@ int tegra_dc_update_windows(struct tegra_dc_win *windows[], int n)
unsigned Bpp = tegra_dc_fmt_bpp(win->fmt) / 8;
/* Bytes per pixel of bandwidth, used for dda_inc calculation */
unsigned Bpp_bw = Bpp * (yuvp ? 2 : 1);
- bool filter_h;
- bool filter_v;
+ const bool filter_h = win_use_h_filter(dc, win);
+ const bool filter_v = win_use_v_filter(dc, win);
#if defined(CONFIG_TEGRA_DC_SCAN_COLUMN)
scan_column = (win->flags & TEGRA_WIN_FLAG_SCAN_COLUMN);
#endif
@@ -395,9 +395,6 @@ int tegra_dc_update_windows(struct tegra_dc_win *windows[], int n)
continue;
}
- filter_h = win_use_h_filter(dc, win, scan_column);
- filter_v = win_use_v_filter(dc, win, scan_column);
-
tegra_dc_writel(dc, tegra_dc_fmt(win->fmt),
DC_WIN_COLOR_DEPTH);
tegra_dc_writel(dc, tegra_dc_fmt_byteorder(win->fmt),