int ret;
WARN(!mutex_is_locked(&dev->mode_config.mutex),
- "%s called w/o mode_config lock\n", __FUNCTION__);
+ "%s called w/o mode_config lock\n", __func__);
again:
if (idr_pre_get(&dev->mode_config.crtc_idr, GFP_KERNEL) == 0) {
DRM_ERROR("Ran out memory getting a mode number\n");
dev->mode_config.num_connector = 0;
dev->mode_config.num_crtc = 0;
dev->mode_config.num_encoder = 0;
- dev->mode_config.hotplug_counter = 0;
}
EXPORT_SYMBOL(drm_mode_config_init);
}
EXPORT_SYMBOL(drm_mode_config_cleanup);
-int drm_mode_hotplug_ioctl(struct drm_device *dev,
- void *data, struct drm_file *file_priv)
-{
- struct drm_mode_hotplug *arg = data;
-
- arg->counter = dev->mode_config.hotplug_counter;
-
- return 0;
-}
-
/**
* drm_crtc_convert_to_umode - convert a drm_display_mode into a modeinfo
* @out: drm_mode_modeinfo struct to return to the user
}
mutex_lock(&dev->mode_config.mutex);
- obj = drm_mode_object_find(dev, req->crtc, DRM_MODE_OBJECT_CRTC);
+ obj = drm_mode_object_find(dev, req->crtc_id, DRM_MODE_OBJECT_CRTC);
if (!obj) {
- DRM_DEBUG("Unknown CRTC ID %d\n", req->crtc);
+ DRM_DEBUG("Unknown CRTC ID %d\n", req->crtc_id);
ret = -EINVAL;
goto out;
}
goto out;
}
- r->buffer_id = fb->base.id;
+ r->fb_id = fb->base.id;
list_add(&fb->filp_head, &file_priv->fbs);
out:
int ret = 0;
mutex_lock(&dev->mode_config.mutex);
- obj = drm_mode_object_find(dev, r->buffer_id, DRM_MODE_OBJECT_FB);
+ obj = drm_mode_object_find(dev, r->fb_id, DRM_MODE_OBJECT_FB);
if (!obj) {
DRM_ERROR("invalid framebuffer id\n");
ret = -EINVAL;
return ret;
}
-
-int drm_mode_replacefb(struct drm_device *dev,
- void *data, struct drm_file *file_priv)
-{
- struct drm_mode_fb_cmd *r = data;
- struct drm_mode_object *obj;
- struct drm_framebuffer *fb;
- int found = 0;
- struct drm_framebuffer *fbl = NULL;
- int ret = 0;
-
- /* right replace the current bo attached to this fb with a new bo */
- mutex_lock(&dev->mode_config.mutex);
- obj = drm_mode_object_find(dev, r->buffer_id, DRM_MODE_OBJECT_FB);
- if (!obj) {
- ret = -EINVAL;
- goto out;
- }
- fb = obj_to_fb(obj);
-
- list_for_each_entry(fbl, &file_priv->fbs, filp_head)
- if (fb == fbl)
- found = 1;
-
- if (!found) {
- DRM_ERROR("tried to replace an fb we didn't own\n");
- ret = -EINVAL;
- goto out;
- }
-
- if (dev->mode_config.funcs->resize_fb)
- ret = dev->mode_config.funcs->resize_fb(dev, file_priv, fb, r);
- else
- ret = -EINVAL;
-out:
- mutex_unlock(&dev->mode_config.mutex);
- return ret;
-
-}
-
int drm_mode_connector_attach_encoder(struct drm_connector *connector,
struct drm_encoder *encoder)
{