diff options
author | Jon Mayo <jmayo@nvidia.com> | 2012-05-22 17:24:27 -0700 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-05-23 18:55:57 -0700 |
commit | 1953361f8e492ea6ec5de23a5321a8eaf000563e (patch) | |
tree | 2272328bf68b9f317b3cabb4c63c0fa888da2851 /drivers/video/tegra/dc/dc.c | |
parent | 4e88128f3c4c40bf3b6cd1146dffe6a5156fef04 (diff) |
video: tegra: detect fbmem alignment on probe
Detect the stride size used by the bootloader.
If DC is not enabled, fallback to a default stride size.
Bug 973111
Change-Id: If04647ddf04a44987cd841062ff30e03fa4d6a02
Signed-off-by: Jon Mayo <jmayo@nvidia.com>
Reviewed-on: http://git-master/r/104031
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
Diffstat (limited to 'drivers/video/tegra/dc/dc.c')
-rw-r--r-- | drivers/video/tegra/dc/dc.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/video/tegra/dc/dc.c b/drivers/video/tegra/dc/dc.c index fb171549f78d..935f18bc8cfd 100644 --- a/drivers/video/tegra/dc/dc.c +++ b/drivers/video/tegra/dc/dc.c @@ -583,6 +583,23 @@ static unsigned int tegra_dc_has_multiple_dc(void) return (cnt > 1); } +/* get the stride size of a window. + * return: stride size in bytes for window win. or 0 if unavailble. */ +int tegra_dc_get_stride(struct tegra_dc *dc, unsigned win) +{ + u32 tmp; + u32 stride; + + if (!dc->enabled) + return 0; + BUG_ON(win > DC_N_WINDOWS); + tegra_dc_writel(dc, WINDOW_A_SELECT << win, + DC_CMD_DISPLAY_WINDOW_HEADER); + tmp = tegra_dc_readl(dc, DC_WIN_LINE_STRIDE); + return GET_LINE_STRIDE(tmp); +} +EXPORT_SYMBOL(tegra_dc_get_stride); + struct tegra_dc *tegra_dc_get_dc(unsigned idx) { if (idx < TEGRA_MAX_DC) |