History

Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux

* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: vmwgfx: Fix assignment in vmw_framebuffer_create_handle drm/radeon/kms: Fix device tree linkage of i2c buses drm: Pass the real error code back during GEM bo initialisation Revert "drm/i810: cleanup reclaim_buffers"

Linus Torvalds committed 14 years ago

Commit dfd07ec2 parents f94f72e bf9c05d6 files · +14 −15Browse files

Unified · Split

6 files
  1. drivers/gpu/drm/drm_gem.c +1 −1
  2. drivers/gpu/drm/i810/i810_dma.c +6 −11
  3. drivers/gpu/drm/i810/i810_drv.c +1 −0
  4. drivers/gpu/drm/i810/i810_drv.h +4 −2
  5. drivers/gpu/drm/radeon/radeon_i2c.c +1 −0
  6. drivers/gpu/drm/vmwgfx/vmwgfx_kms.c +1 −1
drivers/gpu/drm/drm_gem.c+1−1
@@ -140,7 +140,7 @@ int drm_gem_object_init(struct drm_device *dev, · 139 unmodified lines
140140 obj->dev = dev;
141141 obj->filp = shmem_file_setup("drm mm object", size, VM_NORESERVE);
142142 if (IS_ERR(obj->filp))
143− return -ENOMEM;
143+ return PTR_ERR(obj->filp);
144144
145145 kref_init(&obj->refcount);
146146 atomic_set(&obj->handle_count, 0);
drivers/gpu/drm/i810/i810_dma.c+6−11
@@ -886,7 +886,7 @@ static int i810_flush_queue(struct drm_device *dev) · 885 unmodified lines
886886 }
887887
888888 /* Must be called with the lock held */
889−void i810_driver_reclaim_buffers(struct drm_device *dev,
889+static void i810_reclaim_buffers(struct drm_device *dev,
890890 struct drm_file *file_priv)
891891 {
892892 struct drm_device_dma *dma = dev->dma;
@@ -1223,17 +1223,12 @@ void i810_driver_preclose(struct drm_device *dev, struct drm_file *file_priv) · 330 unmodified lines
12231223 if (dev_priv->page_flipping)
12241224 i810_do_cleanup_pageflip(dev);
12251225 }
1226+}
12261227
1227− if (file_priv->master && file_priv->master->lock.hw_lock) {
1228− drm_idlelock_take(&file_priv->master->lock);
1229− i810_driver_reclaim_buffers(dev, file_priv);
1230− drm_idlelock_release(&file_priv->master->lock);
1231− } else {
1232− /* master disappeared, clean up stuff anyway and hope nothing
1233− * goes wrong */
1234− i810_driver_reclaim_buffers(dev, file_priv);
1235− }
1236−
1228+void i810_driver_reclaim_buffers_locked(struct drm_device *dev,
1229+ struct drm_file *file_priv)
1230+{
1231+ i810_reclaim_buffers(dev, file_priv);
12371232 }
12381233
12391234 int i810_driver_dma_quiescent(struct drm_device *dev)
drivers/gpu/drm/i810/i810_drv.c+1−0
@@ -63,6 +63,7 @@ static struct drm_driver driver = { · 62 unmodified lines
6363 .lastclose = i810_driver_lastclose,
6464 .preclose = i810_driver_preclose,
6565 .device_is_agp = i810_driver_device_is_agp,
66+ .reclaim_buffers_locked = i810_driver_reclaim_buffers_locked,
6667 .dma_quiescent = i810_driver_dma_quiescent,
6768 .ioctls = i810_ioctls,
6869 .fops = &i810_driver_fops,
drivers/gpu/drm/i810/i810_drv.h+4−2
@@ -116,12 +116,14 @@ typedef struct drm_i810_private { · 115 unmodified lines
116116
117117 /* i810_dma.c */
118118 extern int i810_driver_dma_quiescent(struct drm_device *dev);
119−void i810_driver_reclaim_buffers(struct drm_device *dev,
120− struct drm_file *file_priv);
119+extern void i810_driver_reclaim_buffers_locked(struct drm_device *dev,
120+ struct drm_file *file_priv);
121121 extern int i810_driver_load(struct drm_device *, unsigned long flags);
122122 extern void i810_driver_lastclose(struct drm_device *dev);
123123 extern void i810_driver_preclose(struct drm_device *dev,
124124 struct drm_file *file_priv);
125+extern void i810_driver_reclaim_buffers_locked(struct drm_device *dev,
126+ struct drm_file *file_priv);
125127 extern int i810_driver_device_is_agp(struct drm_device *dev);
126128
127129 extern long i810_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
drivers/gpu/drm/radeon/radeon_i2c.c+1−0
@@ -897,6 +897,7 @@ struct radeon_i2c_chan *radeon_i2c_create(struct drm_device *dev, · 896 unmodified lines
897897 i2c->rec = *rec;
898898 i2c->adapter.owner = THIS_MODULE;
899899 i2c->adapter.class = I2C_CLASS_DDC;
900+ i2c->adapter.dev.parent = &dev->pdev->dev;
900901 i2c->dev = dev;
901902 i2c_set_adapdata(&i2c->adapter, i2c);
902903 if (rec->mm_i2c ||
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c+1−1
@@ -378,7 +378,7 @@ int vmw_framebuffer_create_handle(struct drm_framebuffer *fb, · 377 unmodified lines
378378 unsigned int *handle)
379379 {
380380 if (handle)
381− handle = 0;
381+ *handle = 0;
382382
383383 return 0;
384384 }