summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorXin Xie <xxie@nvidia.com>2011-07-07 14:05:04 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:47:53 -0800
commitf56b81ec82be9c22f66eaf853720f8759a8cd57f (patch)
treedc66c7ac440abb78e014466a4cb504bb395e41b4 /drivers
parentd168fe5781ef6da529449f98d5d495f52848dcba (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 Original-Change-Id: I407914c6035389b696040947e7aebc6ecdb92bb1 Reviewed-on: http://git-master/r/40074 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com> Rebase-Id: R5675398d3066d01d3d46f26267eddbba1accc815
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 970f1fce827d..3344246ed50a 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 9868cb850dba..c353680ffc96 100644
--- a/drivers/video/tegra/dc/dc_priv.h
+++ b/drivers/video/tegra/dc/dc_priv.h
@@ -40,18 +40,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 {