summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorXin Xie <xxie@nvidia.com>2011-07-07 14:05:04 -0700
committerVarun Colbert <vcolbert@nvidia.com>2011-07-26 16:53:00 -0700
commit54445ff6b7305bead87a79d60c4781d66f7cef18 (patch)
tree946b7512fd0a6b3cc21c849ae28b741bce7bfdd0 /drivers
parent74f141a4702ff0edea6c473f182905ebd8ac4acb (diff)
video: tegra: dc: fix tiled memory efficiency
Tegra3 also supports LPDDR2 which has no tiled memory inefficiency as in DDR3. This patch adds one memory controller API to retrive tiled memory efficiency. BUG 847731 Change-Id: I407914c6035389b696040947e7aebc6ecdb92bb1 Reviewed-on: http://git-master/r/40074 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/tegra/dc/dc.c6
-rw-r--r--drivers/video/tegra/dc/dc_priv.h12
2 files changed, 5 insertions, 13 deletions
diff --git a/drivers/video/tegra/dc/dc.c b/drivers/video/tegra/dc/dc.c
index f7b5e2d720a7..132ec05022ed 100644
--- a/drivers/video/tegra/dc/dc.c
+++ b/drivers/video/tegra/dc/dc.c
@@ -707,16 +707,20 @@ static unsigned long tegra_dc_calc_win_bandwidth(struct tegra_dc *dc,
struct tegra_dc_win *w)
{
unsigned long ret;
+ int tiled_windows_bw_multiplier;
if (!WIN_IS_ENABLED(w))
return 0;
+ tiled_windows_bw_multiplier =
+ tegra_mc_get_tiled_memory_bandwidth_multiplier();
+
/* perform calculations with most significant bits of pixel clock
* to prevent overflow of long. */
ret = (unsigned long)(dc->pixel_clk >> 16) *
(tegra_dc_fmt_bpp(w->fmt) / 8) *
(WIN_USE_V_FILTER(w) ? 2 : 1) * w->w / w->out_w *
- (WIN_IS_TILED(w) ? TILED_WINDOWS_BW_MULTIPLIER : 1);
+ (WIN_IS_TILED(w) ? tiled_windows_bw_multiplier : 1);
/*
* Assuming 50% (X >> 1) efficiency: i.e. if we calculate we need 70MBps, we
diff --git a/drivers/video/tegra/dc/dc_priv.h b/drivers/video/tegra/dc/dc_priv.h
index ecec2ee78c4a..ebb97d9f6b22 100644
--- a/drivers/video/tegra/dc/dc_priv.h
+++ b/drivers/video/tegra/dc/dc_priv.h
@@ -41,18 +41,6 @@
#define EMC_BW_TO_FREQ(bw) (DDR_BW_TO_FREQ(bw) * 2)
#endif
-/*
- * If using T30/DDR3, the 2nd 16 bytes part of DDR3 atom is 2nd line and is
- * discarded in tiling mode.
- */
-#if defined(CONFIG_ARCH_TEGRA_2x_SOC)
-#define TILED_WINDOWS_BW_MULTIPLIER 1
-#elif defined(CONFIG_ARCH_TEGRA_3x_SOC)
-#define TILED_WINDOWS_BW_MULTIPLIER 2
-#else
-#warning "need to revisit memory tiling effects on DC"
-#endif
-
struct tegra_dc;
struct tegra_dc_blend {