[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