Commit 8781342d authored by Daniel Vetter's avatar Daniel Vetter

drm/i915: create dev_priv->dri1 dragon dungeon^W^W sub-struct

... and shove allow_batchbuffer in there. More dragons will
follow suit.

There's the curious case that we allow this for KMS ...
Acked-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent d1c1edbc
...@@ -198,7 +198,7 @@ static int i915_initialize(struct drm_device * dev, drm_i915_init_t * init) ...@@ -198,7 +198,7 @@ static int i915_initialize(struct drm_device * dev, drm_i915_init_t * init)
/* Allow hardware batchbuffers unless told otherwise. /* Allow hardware batchbuffers unless told otherwise.
*/ */
dev_priv->allow_batchbuffer = 1; dev_priv->dri1.allow_batchbuffer = 1;
return 0; return 0;
} }
...@@ -610,7 +610,7 @@ static int i915_batchbuffer(struct drm_device *dev, void *data, ...@@ -610,7 +610,7 @@ static int i915_batchbuffer(struct drm_device *dev, void *data,
if (drm_core_check_feature(dev, DRIVER_MODESET)) if (drm_core_check_feature(dev, DRIVER_MODESET))
return -ENODEV; return -ENODEV;
if (!dev_priv->allow_batchbuffer) { if (!dev_priv->dri1.allow_batchbuffer) {
DRM_ERROR("Batchbuffer ioctl disabled\n"); DRM_ERROR("Batchbuffer ioctl disabled\n");
return -EINVAL; return -EINVAL;
} }
...@@ -799,7 +799,7 @@ static int i915_getparam(struct drm_device *dev, void *data, ...@@ -799,7 +799,7 @@ static int i915_getparam(struct drm_device *dev, void *data,
value = dev->pdev->irq ? 1 : 0; value = dev->pdev->irq ? 1 : 0;
break; break;
case I915_PARAM_ALLOW_BATCHBUFFER: case I915_PARAM_ALLOW_BATCHBUFFER:
value = dev_priv->allow_batchbuffer ? 1 : 0; value = dev_priv->dri1.allow_batchbuffer ? 1 : 0;
break; break;
case I915_PARAM_LAST_DISPATCH: case I915_PARAM_LAST_DISPATCH:
value = READ_BREADCRUMB(dev_priv); value = READ_BREADCRUMB(dev_priv);
...@@ -882,7 +882,7 @@ static int i915_setparam(struct drm_device *dev, void *data, ...@@ -882,7 +882,7 @@ static int i915_setparam(struct drm_device *dev, void *data,
dev_priv->tex_lru_log_granularity = param->value; dev_priv->tex_lru_log_granularity = param->value;
break; break;
case I915_SETPARAM_ALLOW_BATCHBUFFER: case I915_SETPARAM_ALLOW_BATCHBUFFER:
dev_priv->allow_batchbuffer = param->value; dev_priv->dri1.allow_batchbuffer = param->value ? 1 : 0;
break; break;
case I915_SETPARAM_NUM_USED_FENCES: case I915_SETPARAM_NUM_USED_FENCES:
if (param->value > dev_priv->num_fence_regs || if (param->value > dev_priv->num_fence_regs ||
......
...@@ -399,7 +399,6 @@ typedef struct drm_i915_private { ...@@ -399,7 +399,6 @@ typedef struct drm_i915_private {
struct work_struct hotplug_work; struct work_struct hotplug_work;
int tex_lru_log_granularity; int tex_lru_log_granularity;
int allow_batchbuffer;
unsigned int sr01, adpa, ppcr, dvob, dvoc, lvds; unsigned int sr01, adpa, ppcr, dvob, dvoc, lvds;
int num_pipe; int num_pipe;
int num_pch_pll; int num_pch_pll;
...@@ -740,6 +739,15 @@ typedef struct drm_i915_private { ...@@ -740,6 +739,15 @@ typedef struct drm_i915_private {
size_t object_memory; size_t object_memory;
u32 object_count; u32 object_count;
} mm; } mm;
/* Old dri1 support infrastructure, beware the dragons ya fools entering
* here! */
struct {
unsigned allow_batchbuffer : 1;
} dri1;
/* Kernel Modesetting */
struct sdvo_device_mapping sdvo_mappings[2]; struct sdvo_device_mapping sdvo_mappings[2];
/* indicate whether the LVDS_BORDER should be enabled or not */ /* indicate whether the LVDS_BORDER should be enabled or not */
unsigned int lvds_border_bits; unsigned int lvds_border_bits;
......
...@@ -3568,7 +3568,7 @@ int i915_gem_init(struct drm_device *dev) ...@@ -3568,7 +3568,7 @@ int i915_gem_init(struct drm_device *dev)
} }
/* Allow hardware batchbuffers unless told otherwise. */ /* Allow hardware batchbuffers unless told otherwise. */
dev_priv->allow_batchbuffer = 1; dev_priv->dri1.allow_batchbuffer = 1;
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment