|
@@ -2439,7 +2439,11 @@ intel_find_plane_obj(struct intel_crtc *intel_crtc,
|
|
return;
|
|
return;
|
|
|
|
|
|
if (intel_alloc_plane_obj(intel_crtc, plane_config)) {
|
|
if (intel_alloc_plane_obj(intel_crtc, plane_config)) {
|
|
- update_state_fb(intel_crtc->base.primary);
|
|
|
|
|
|
+ struct drm_plane *primary = intel_crtc->base.primary;
|
|
|
|
+
|
|
|
|
+ primary->state->crtc = &intel_crtc->base;
|
|
|
|
+ update_state_fb(primary);
|
|
|
|
+
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2464,11 +2468,14 @@ intel_find_plane_obj(struct intel_crtc *intel_crtc,
|
|
continue;
|
|
continue;
|
|
|
|
|
|
if (i915_gem_obj_ggtt_offset(obj) == plane_config->base) {
|
|
if (i915_gem_obj_ggtt_offset(obj) == plane_config->base) {
|
|
|
|
+ struct drm_plane *primary = intel_crtc->base.primary;
|
|
|
|
+
|
|
if (obj->tiling_mode != I915_TILING_NONE)
|
|
if (obj->tiling_mode != I915_TILING_NONE)
|
|
dev_priv->preserve_bios_swizzle = true;
|
|
dev_priv->preserve_bios_swizzle = true;
|
|
|
|
|
|
drm_framebuffer_reference(c->primary->fb);
|
|
drm_framebuffer_reference(c->primary->fb);
|
|
- intel_crtc->base.primary->fb = c->primary->fb;
|
|
|
|
|
|
+ primary->fb = c->primary->fb;
|
|
|
|
+ primary->state->crtc = &intel_crtc->base;
|
|
obj->frontbuffer_bits |= INTEL_FRONTBUFFER_PRIMARY(intel_crtc->pipe);
|
|
obj->frontbuffer_bits |= INTEL_FRONTBUFFER_PRIMARY(intel_crtc->pipe);
|
|
break;
|
|
break;
|
|
}
|
|
}
|