aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_dma.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2012-04-26 17:28:09 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-05-03 05:18:28 -0400
commitd05c617ea4643f19232a38a5190cfe95ee88f1dd (patch)
tree369c883256fb2b0f4efcb01251f6c15019aca1ac /drivers/gpu/drm/i915/i915_dma.c
parent9488867a67fda2310448e44a906f1a54faa72fb4 (diff)
drm/i915: extract dri1 breadcrumb update from irq handler
... and hide it in i915_dma.c. This way all the legacy stuff dealing with READ_BREADCRUMB and LP_RING and friends is in i915_dma.c. v2: Rebase on top of Chris Wilson's rework irq handling code. Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_dma.c')
-rw-r--r--drivers/gpu/drm/i915/i915_dma.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 6f6c4bda689c..30cb4461a250 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -47,6 +47,19 @@
47#include <acpi/video.h> 47#include <acpi/video.h>
48#include <asm/pat.h> 48#include <asm/pat.h>
49 49
50void i915_update_dri1_breadcrumb(struct drm_device *dev)
51{
52 drm_i915_private_t *dev_priv = dev->dev_private;
53 struct drm_i915_master_private *master_priv;
54
55 if (dev->primary->master) {
56 master_priv = dev->primary->master->driver_priv;
57 if (master_priv->sarea_priv)
58 master_priv->sarea_priv->last_dispatch =
59 READ_BREADCRUMB(dev_priv);
60 }
61}
62
50static void i915_write_hws_pga(struct drm_device *dev) 63static void i915_write_hws_pga(struct drm_device *dev)
51{ 64{
52 drm_i915_private_t *dev_priv = dev->dev_private; 65 drm_i915_private_t *dev_priv = dev->dev_private;