Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/tegra: Honor pixel-format changes

When using a base mode-set, honor changes in pixel-format since the core
doesn't explicitly check for them as long as they use the same depth.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>

authored by

Thierry Reding and committed by
Thierry Reding
ed683aea 603f0cc9

+2
+2
drivers/gpu/host1x/drm/dc.c
··· 143 143 static int tegra_dc_set_base(struct tegra_dc *dc, int x, int y, 144 144 struct drm_framebuffer *fb) 145 145 { 146 + unsigned int format = tegra_dc_format(fb->pixel_format); 146 147 struct tegra_bo *bo = tegra_fb_get_plane(fb, 0); 147 148 unsigned long value; 148 149 ··· 154 153 155 154 tegra_dc_writel(dc, bo->paddr + value, DC_WINBUF_START_ADDR); 156 155 tegra_dc_writel(dc, fb->pitches[0], DC_WIN_LINE_STRIDE); 156 + tegra_dc_writel(dc, format, DC_WIN_COLOR_DEPTH); 157 157 158 158 value = GENERAL_UPDATE | WIN_A_UPDATE; 159 159 tegra_dc_writel(dc, value, DC_CMD_STATE_CONTROL);