aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2014-11-19 15:40:13 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-11-20 07:03:31 -0500
commitf548c0e9d4200a660e607bb4d8824c21c6d0bd74 (patch)
treeaff563fb4f97b0b47da59b681d5fa09b74739789
parent377e91b2049352aed54e6dc3edc186f26da372ed (diff)
drm/i915: Can i915_gem_init_ioctl
Found one more! With this we can clear up the ggtt init code a bit, yay! Acked-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
-rw-r--r--drivers/gpu/drm/i915/i915_dma.c2
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h2
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c27
-rw-r--r--drivers/gpu/drm/i915/i915_gem_gtt.c8
-rw-r--r--drivers/gpu/drm/i915/i915_gem_gtt.h2
5 files changed, 5 insertions, 36 deletions
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index f5ded5c7daeb..ecee3bcc8772 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -1022,7 +1022,7 @@ const struct drm_ioctl_desc i915_ioctls[] = {
1022 DRM_IOCTL_DEF_DRV(I915_GET_VBLANK_PIPE, drm_noop, DRM_AUTH), 1022 DRM_IOCTL_DEF_DRV(I915_GET_VBLANK_PIPE, drm_noop, DRM_AUTH),
1023 DRM_IOCTL_DEF_DRV(I915_VBLANK_SWAP, drm_noop, DRM_AUTH), 1023 DRM_IOCTL_DEF_DRV(I915_VBLANK_SWAP, drm_noop, DRM_AUTH),
1024 DRM_IOCTL_DEF_DRV(I915_HWS_ADDR, drm_noop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), 1024 DRM_IOCTL_DEF_DRV(I915_HWS_ADDR, drm_noop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
1025 DRM_IOCTL_DEF_DRV(I915_GEM_INIT, i915_gem_init_ioctl, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY|DRM_UNLOCKED), 1025 DRM_IOCTL_DEF_DRV(I915_GEM_INIT, drm_noop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY|DRM_UNLOCKED),
1026 DRM_IOCTL_DEF_DRV(I915_GEM_EXECBUFFER, i915_gem_execbuffer, DRM_AUTH|DRM_UNLOCKED), 1026 DRM_IOCTL_DEF_DRV(I915_GEM_EXECBUFFER, i915_gem_execbuffer, DRM_AUTH|DRM_UNLOCKED),
1027 DRM_IOCTL_DEF_DRV(I915_GEM_EXECBUFFER2, i915_gem_execbuffer2, DRM_AUTH|DRM_UNLOCKED|DRM_RENDER_ALLOW), 1027 DRM_IOCTL_DEF_DRV(I915_GEM_EXECBUFFER2, i915_gem_execbuffer2, DRM_AUTH|DRM_UNLOCKED|DRM_RENDER_ALLOW),
1028 DRM_IOCTL_DEF_DRV(I915_GEM_PIN, i915_gem_pin_ioctl, DRM_AUTH|DRM_ROOT_ONLY|DRM_UNLOCKED), 1028 DRM_IOCTL_DEF_DRV(I915_GEM_PIN, i915_gem_pin_ioctl, DRM_AUTH|DRM_ROOT_ONLY|DRM_UNLOCKED),
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 230a17211d76..02b3cb32c8a6 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2378,8 +2378,6 @@ void ibx_display_interrupt_update(struct drm_i915_private *dev_priv,
2378 ibx_display_interrupt_update((dev_priv), (bits), 0) 2378 ibx_display_interrupt_update((dev_priv), (bits), 0)
2379 2379
2380/* i915_gem.c */ 2380/* i915_gem.c */
2381int i915_gem_init_ioctl(struct drm_device *dev, void *data,
2382 struct drm_file *file_priv);
2383int i915_gem_create_ioctl(struct drm_device *dev, void *data, 2381int i915_gem_create_ioctl(struct drm_device *dev, void *data,
2384 struct drm_file *file_priv); 2382 struct drm_file *file_priv);
2385int i915_gem_pread_ioctl(struct drm_device *dev, void *data, 2383int i915_gem_pread_ioctl(struct drm_device *dev, void *data,
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index f2d7ce5e4bfb..480d00e672fa 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -160,33 +160,6 @@ i915_gem_object_is_inactive(struct drm_i915_gem_object *obj)
160} 160}
161 161
162int 162int
163i915_gem_init_ioctl(struct drm_device *dev, void *data,
164 struct drm_file *file)
165{
166 struct drm_i915_private *dev_priv = dev->dev_private;
167 struct drm_i915_gem_init *args = data;
168
169 if (drm_core_check_feature(dev, DRIVER_MODESET))
170 return -ENODEV;
171
172 if (args->gtt_start >= args->gtt_end ||
173 (args->gtt_end | args->gtt_start) & (PAGE_SIZE - 1))
174 return -EINVAL;
175
176 /* GEM with user mode setting was never supported on ilk and later. */
177 if (INTEL_INFO(dev)->gen >= 5)
178 return -ENODEV;
179
180 mutex_lock(&dev->struct_mutex);
181 i915_gem_setup_global_gtt(dev, args->gtt_start, args->gtt_end,
182 args->gtt_end);
183 dev_priv->gtt.mappable_end = args->gtt_end;
184 mutex_unlock(&dev->struct_mutex);
185
186 return 0;
187}
188
189int
190i915_gem_get_aperture_ioctl(struct drm_device *dev, void *data, 163i915_gem_get_aperture_ioctl(struct drm_device *dev, void *data,
191 struct drm_file *file) 164 struct drm_file *file)
192{ 165{
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
index bee5b0a00927..171f6eafdeee 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -1664,10 +1664,10 @@ static void i915_gtt_color_adjust(struct drm_mm_node *node,
1664 } 1664 }
1665} 1665}
1666 1666
1667int i915_gem_setup_global_gtt(struct drm_device *dev, 1667static int i915_gem_setup_global_gtt(struct drm_device *dev,
1668 unsigned long start, 1668 unsigned long start,
1669 unsigned long mappable_end, 1669 unsigned long mappable_end,
1670 unsigned long end) 1670 unsigned long end)
1671{ 1671{
1672 /* Let GEM Manage all of the aperture. 1672 /* Let GEM Manage all of the aperture.
1673 * 1673 *
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.h b/drivers/gpu/drm/i915/i915_gem_gtt.h
index d0562d0ef6ec..beaf4bcfdac8 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.h
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.h
@@ -274,8 +274,6 @@ struct i915_hw_ppgtt {
274 274
275int i915_gem_gtt_init(struct drm_device *dev); 275int i915_gem_gtt_init(struct drm_device *dev);
276void i915_gem_init_global_gtt(struct drm_device *dev); 276void i915_gem_init_global_gtt(struct drm_device *dev);
277int i915_gem_setup_global_gtt(struct drm_device *dev, unsigned long start,
278 unsigned long mappable_end, unsigned long end);
279void i915_global_gtt_cleanup(struct drm_device *dev); 277void i915_global_gtt_cleanup(struct drm_device *dev);
280 278
281 279