diff options
author | Mark Stadler <mastadler@nvidia.com> | 2012-08-01 17:20:03 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 13:20:00 -0700 |
commit | a88eca4f612224ad46f3e82614f57401129cdb45 (patch) | |
tree | 6c665470419c1c374d5ae33588440eb95de3c128 /drivers/video/tegra/dc/hdmi.c | |
parent | b28017f2be6638ab652defc475030db7802a218c (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.c | 11 |
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; |