summaryrefslogtreecommitdiff
path: root/shared-core
diff options
context:
space:
mode:
authorDave Airlie <airlied@panoply-rh.(none)>2008-03-11 11:49:27 +1000
committerDave Airlie <airlied@panoply-rh.(none)>2008-03-11 13:23:33 +1000
commit52748d17923b7e501b707b950227864c0b64d8a1 (patch)
tree6c726bc83b2c5b00bd844416cc30f3627bcfcee6 /shared-core
parenta7e6ca62ad0d9c3c45fd9e1d81b59c2db2d714cf (diff)
drm: hopefully fix cursors on 965
Diffstat (limited to 'shared-core')
-rw-r--r--shared-core/i915_drv.h3
-rw-r--r--shared-core/i915_init.c8
2 files changed, 10 insertions, 1 deletions
diff --git a/shared-core/i915_drv.h b/shared-core/i915_drv.h
index f6c0005d..b8dfbc34 100644
--- a/shared-core/i915_drv.h
+++ b/shared-core/i915_drv.h
@@ -139,9 +139,10 @@ struct drm_i915_private {
int fence_irq_on;
uint32_t irq_enable_reg;
int irq_enabled;
-
struct workqueue_struct *wq;
+ bool cursor_needs_physical;
+
#ifdef I915_HAVE_FENCE
uint32_t flush_sequence;
uint32_t flush_flags;
diff --git a/shared-core/i915_init.c b/shared-core/i915_init.c
index 3d8a1dca..274322e1 100644
--- a/shared-core/i915_init.c
+++ b/shared-core/i915_init.c
@@ -130,6 +130,14 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
dev->types[8] = _DRM_STAT_SECONDARY;
dev->types[9] = _DRM_STAT_DMA;
+ if (IS_MOBILE(dev) || IS_I9XX(dev))
+ dev_priv->cursor_needs_physical = true;
+ else
+ dev_priv->cursor_needs_physical = false;
+
+ if (IS_I965G(dev) || IS_G33(dev))
+ dev_priv->cursor_needs_physical = false;
+
if (IS_I9XX(dev)) {
pci_read_config_dword(dev->pdev, 0x5C, &dev_priv->stolen_base);
DRM_DEBUG("stolen base %p\n", (void*)dev_priv->stolen_base);