提交 bb435897 编写于 作者: D Dave Airlie

Merge tag 'drm-intel-fixes-2015-05-21' of git://anongit.freedesktop.org/drm-intel into drm-fixes

There's a stable backport from Ander [1] that combines this and a few
other commits to fix the flickering on v4.0, reported in [2] among
others. Having this upstream is obviously a requirement for stable.

* tag 'drm-intel-fixes-2015-05-21' of git://anongit.freedesktop.org/drm-intel:
  drm/i915: fix screen flickering
...@@ -2045,22 +2045,20 @@ static void ilk_compute_wm_parameters(struct drm_crtc *crtc, ...@@ -2045,22 +2045,20 @@ static void ilk_compute_wm_parameters(struct drm_crtc *crtc,
p->pipe_htotal = intel_crtc->config->base.adjusted_mode.crtc_htotal; p->pipe_htotal = intel_crtc->config->base.adjusted_mode.crtc_htotal;
p->pixel_rate = ilk_pipe_pixel_rate(dev, crtc); p->pixel_rate = ilk_pipe_pixel_rate(dev, crtc);
if (crtc->primary->state->fb) { if (crtc->primary->state->fb)
p->pri.enabled = true;
p->pri.bytes_per_pixel = p->pri.bytes_per_pixel =
crtc->primary->state->fb->bits_per_pixel / 8; crtc->primary->state->fb->bits_per_pixel / 8;
} else { else
p->pri.enabled = false; p->pri.bytes_per_pixel = 4;
p->pri.bytes_per_pixel = 0;
}
if (crtc->cursor->state->fb) {
p->cur.enabled = true;
p->cur.bytes_per_pixel = 4; p->cur.bytes_per_pixel = 4;
} else { /*
p->cur.enabled = false; * TODO: for now, assume primary and cursor planes are always enabled.
p->cur.bytes_per_pixel = 0; * Setting them to false makes the screen flicker.
} */
p->pri.enabled = true;
p->cur.enabled = true;
p->pri.horiz_pixels = intel_crtc->config->pipe_src_w; p->pri.horiz_pixels = intel_crtc->config->pipe_src_w;
p->cur.horiz_pixels = intel_crtc->base.cursor->state->crtc_w; p->cur.horiz_pixels = intel_crtc->base.cursor->state->crtc_w;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册