summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/dc/hdmi.c
diff options
context:
space:
mode:
authorMark Stadler <mastadler@nvidia.com>2012-08-01 17:20:03 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 13:20:00 -0700
commita88eca4f612224ad46f3e82614f57401129cdb45 (patch)
tree6c665470419c1c374d5ae33588440eb95de3c128 /drivers/video/tegra/dc/hdmi.c
parentb28017f2be6638ab652defc475030db7802a218c (diff)
video: tegra: dc: Add new blender support
Legacy blending modes are specified by the following flags: - TEGRA_WIN_FLAG_BLEND_COVERAGE -> source alpha blending - TEGRA_WIN_FLAG_BLEND_PREMULT -> pre-multiplied destination alpha blending - No flag -> no blending (opaque) Change-Id: I3defeae842675cdc87199560a1f6061af9550568 Tested-by: Chao Xu <cxu@nvidia.com> Reviewed-by: Mark Stadler <mastadler@nvidia.com> Signed-off-by: Jin Qian <jqian@nvidia.com> Reviewed-on: http://git-master/r/82943 Reviewed-by: Scott Williams <scwilliams@nvidia.com> Signed-off-by: Mark Stadler <mastadler@nvidia.com>
Diffstat (limited to 'drivers/video/tegra/dc/hdmi.c')
-rw-r--r--drivers/video/tegra/dc/hdmi.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/video/tegra/dc/hdmi.c b/drivers/video/tegra/dc/hdmi.c
index cbe0286e5125..8b278a2179a5 100644
--- a/drivers/video/tegra/dc/hdmi.c
+++ b/drivers/video/tegra/dc/hdmi.c
@@ -1637,6 +1637,7 @@ static void tegra_dc_hdmi_setup_avi_infoframe(struct tegra_dc *dc, bool dvi)
{
struct tegra_dc_hdmi_data *hdmi = tegra_dc_get_outdata(dc);
struct hdmi_avi_infoframe avi;
+ unsigned int blender_reg;
if (dvi) {
tegra_hdmi_writel(hdmi, 0x0,
@@ -1650,10 +1651,16 @@ static void tegra_dc_hdmi_setup_avi_infoframe(struct tegra_dc *dc, bool dvi)
avi.a = 1;
avi.r = HDMI_AVI_R_SAME;
+#if !defined(CONFIG_TEGRA_DC_BLENDER_GEN2)
+ blender_reg = DC_DISP_BORDER_COLOR;
+#else
+ blender_reg = DC_DISP_BLEND_BACKGROUND_COLOR;
+#endif
+
if ((dc->mode.h_active == 720) && ((dc->mode.v_active == 480) || (dc->mode.v_active == 576)))
- tegra_dc_writel(dc, 0x00101010, DC_DISP_BORDER_COLOR);
+ tegra_dc_writel(dc, 0x00101010, blender_reg);
else
- tegra_dc_writel(dc, 0x00000000, DC_DISP_BORDER_COLOR);
+ tegra_dc_writel(dc, 0x00000000, blender_reg);
avi.vic = tegra_dc_find_cea_vic(&dc->mode);
avi.m = dc->mode.avi_m;