Commit 0d72c6fc authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'drm-intel-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/keithp/linux-2.6

* 'drm-intel-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/keithp/linux-2.6:
  drm/i915: Use chipset-specific irq installers
  drm/i915: forcewake fix after reset
  drm/i915: add Ivy Bridge page flip support
  drm/i915: split page flip queueing into per-chipset functions
parents c89b857c f01c22fd
...@@ -579,6 +579,9 @@ int i915_reset(struct drm_device *dev, u8 flags) ...@@ -579,6 +579,9 @@ int i915_reset(struct drm_device *dev, u8 flags)
} else switch (INTEL_INFO(dev)->gen) { } else switch (INTEL_INFO(dev)->gen) {
case 6: case 6:
ret = gen6_do_reset(dev, flags); ret = gen6_do_reset(dev, flags);
/* If reset with a user forcewake, try to restore */
if (atomic_read(&dev_priv->forcewake_count))
__gen6_gt_force_wake_get(dev_priv);
break; break;
case 5: case 5:
ret = ironlake_do_reset(dev, flags); ret = ironlake_do_reset(dev, flags);
......
...@@ -211,6 +211,9 @@ struct drm_i915_display_funcs { ...@@ -211,6 +211,9 @@ struct drm_i915_display_funcs {
void (*fdi_link_train)(struct drm_crtc *crtc); void (*fdi_link_train)(struct drm_crtc *crtc);
void (*init_clock_gating)(struct drm_device *dev); void (*init_clock_gating)(struct drm_device *dev);
void (*init_pch_clock_gating)(struct drm_device *dev); void (*init_pch_clock_gating)(struct drm_device *dev);
int (*queue_flip)(struct drm_device *dev, struct drm_crtc *crtc,
struct drm_framebuffer *fb,
struct drm_i915_gem_object *obj);
/* clock updates for mode set */ /* clock updates for mode set */
/* cursor updates */ /* cursor updates */
/* render clock increase/decrease */ /* render clock increase/decrease */
......
...@@ -2072,8 +2072,8 @@ i915_wait_request(struct intel_ring_buffer *ring, ...@@ -2072,8 +2072,8 @@ i915_wait_request(struct intel_ring_buffer *ring,
if (!ier) { if (!ier) {
DRM_ERROR("something (likely vbetool) disabled " DRM_ERROR("something (likely vbetool) disabled "
"interrupts, re-enabling\n"); "interrupts, re-enabling\n");
i915_driver_irq_preinstall(ring->dev); ring->dev->driver->irq_preinstall(ring->dev);
i915_driver_irq_postinstall(ring->dev); ring->dev->driver->irq_postinstall(ring->dev);
} }
trace_i915_gem_request_wait_begin(ring, seqno); trace_i915_gem_request_wait_begin(ring, seqno);
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment