[PATCH] i915: wrap chipset types requiring hw status set ioctl

Also include hw status setting for recent added new chipset.

Signed-off-by: Zhenyu Wang <[EMAIL PROTECTED]>
---
 shared-core/i915_dma.c |    5 ++++-
 shared-core/i915_drv.h |    2 ++
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/shared-core/i915_dma.c b/shared-core/i915_dma.c
index 287e95a..2f34437 100644
--- a/shared-core/i915_dma.c
+++ b/shared-core/i915_dma.c
@@ -172,7 +172,7 @@ static int i915_initialize(struct drm_device * dev, 
drm_i915_init_t * init)
        dev_priv->vblank_pipe = DRM_I915_VBLANK_PIPE_A;
 
        /* Program Hardware Status Page */
-       if (!IS_G33(dev)) {
+       if (!I915_NEED_GFX_HWS(dev)) {
                dev_priv->status_page_dmah =
                        drm_pci_alloc(dev, PAGE_SIZE, PAGE_SIZE, 0xffffffff);
 
@@ -1304,6 +1304,9 @@ static int i915_set_status_page(struct drm_device *dev, 
void *data,
        drm_i915_private_t *dev_priv = dev->dev_private;
        drm_i915_hws_addr_t *hws = data;
 
+       if (!I915_NEED_GFX_HWS(dev))
+               return -EINVAL;
+
        if (!dev_priv) {
                DRM_ERROR("called with no initialization\n");
                return -EINVAL;
diff --git a/shared-core/i915_drv.h b/shared-core/i915_drv.h
index 7469515..85b5109 100644
--- a/shared-core/i915_drv.h
+++ b/shared-core/i915_drv.h
@@ -1229,6 +1229,8 @@ extern int i915_wait_ring(struct drm_device * dev, int n, 
const char *caller);
 #define IS_MOBILE(dev) (IS_I830(dev) || IS_I85X(dev) || IS_I915GM(dev) || \
                        IS_I945GM(dev) || IS_I965GM(dev) || IS_IGD_GM(dev))
 
+#define I915_NEED_GFX_HWS(dev) (IS_G33(dev) || IS_IGD_GM(dev))
+
 #define PRIMARY_RINGBUFFER_SIZE         (128*1024)
 
 #endif
-- 
1.5.3.7


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
--
_______________________________________________
Dri-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to