Commit ed683aead1962f2242c8dc8863517bcd3089703d

Authored by Thierry Reding
Committed by Thierry Reding
1 parent 603f0cc948

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>

Showing 1 changed file with 2 additions and 0 deletions Side-by-side Diff

drivers/gpu/host1x/drm/dc.c
... ... @@ -143,6 +143,7 @@
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  
... ... @@ -153,6 +154,7 @@
153 154  
154 155 tegra_dc_writel(dc, bo->paddr + value, DC_WINBUF_START_ADDR);
155 156 tegra_dc_writel(dc, fb->pitches[0], DC_WIN_LINE_STRIDE);
  157 + tegra_dc_writel(dc, format, DC_WIN_COLOR_DEPTH);
156 158  
157 159 value = GENERAL_UPDATE | WIN_A_UPDATE;
158 160 tegra_dc_writel(dc, value, DC_CMD_STATE_CONTROL);