diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-04-26 17:28:09 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-05-03 05:18:28 -0400 |
commit | d05c617ea4643f19232a38a5190cfe95ee88f1dd (patch) | |
tree | 369c883256fb2b0f4efcb01251f6c15019aca1ac /drivers/gpu/drm/i915/i915_dma.c | |
parent | 9488867a67fda2310448e44a906f1a54faa72fb4 (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.c | 13 |
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 | ||
50 | void 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 | |||
50 | static void i915_write_hws_pga(struct drm_device *dev) | 63 | static 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; |