Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -198,7 +198,7 @@ static int i915_initialize(struct drm_device * dev, drm_i915_init_t * init)

	/* Allow hardware batchbuffers unless told otherwise.
	 */
	dev_priv->allow_batchbuffer = 1;
	dev_priv->dri1.allow_batchbuffer = 1;

	return 0;
}
@@ -610,7 +610,7 @@ static int i915_batchbuffer(struct drm_device *dev, void *data,
	if (drm_core_check_feature(dev, DRIVER_MODESET))
		return -ENODEV;

	if (!dev_priv->allow_batchbuffer) {
	if (!dev_priv->dri1.allow_batchbuffer) {
		DRM_ERROR("Batchbuffer ioctl disabled\n");
		return -EINVAL;
	}
@@ -799,7 +799,7 @@ static int i915_getparam(struct drm_device *dev, void *data,
		value = dev->pdev->irq ? 1 : 0;
		break;
	case I915_PARAM_ALLOW_BATCHBUFFER:
		value = dev_priv->allow_batchbuffer ? 1 : 0;
		value = dev_priv->dri1.allow_batchbuffer ? 1 : 0;
		break;
	case I915_PARAM_LAST_DISPATCH:
		value = READ_BREADCRUMB(dev_priv);
@@ -882,7 +882,7 @@ static int i915_setparam(struct drm_device *dev, void *data,
		dev_priv->tex_lru_log_granularity = param->value;
		break;
	case I915_SETPARAM_ALLOW_BATCHBUFFER:
		dev_priv->allow_batchbuffer = param->value;
		dev_priv->dri1.allow_batchbuffer = param->value ? 1 : 0;
		break;
	case I915_SETPARAM_NUM_USED_FENCES:
		if (param->value > dev_priv->num_fence_regs ||
+9 −1
Original line number Diff line number Diff line
@@ -399,7 +399,6 @@ typedef struct drm_i915_private {
	struct work_struct hotplug_work;

	int tex_lru_log_granularity;
	int allow_batchbuffer;
	unsigned int sr01, adpa, ppcr, dvob, dvoc, lvds;
	int num_pipe;
	int num_pch_pll;
@@ -740,6 +739,15 @@ typedef struct drm_i915_private {
		size_t object_memory;
		u32 object_count;
	} 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];
	/* indicate whether the LVDS_BORDER should be enabled or not */
	unsigned int lvds_border_bits;
+1 −1
Original line number Diff line number Diff line
@@ -3568,7 +3568,7 @@ int i915_gem_init(struct drm_device *dev)
	}

	/* Allow hardware batchbuffers unless told otherwise. */
	dev_priv->allow_batchbuffer = 1;
	dev_priv->dri1.allow_batchbuffer = 1;
	return 0;
}