summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_crtc.c
diff options
context:
space:
mode:
authorKristian H�gsberg <krh@redhat.com>2008-12-18 13:14:37 +1000
committerDave Airlie <airlied@linux.ie>2008-12-29 17:47:25 +1000
commit0c7c26647579e9e647e8b969bb0e7b3f5f1a1492 (patch)
tree741cd9680ce6a98def2e64f923efb713dae8908b /drivers/gpu/drm/drm_crtc.c
parente0c8463a8b00b467611607df0ff369d062528875 (diff)
downloadlinux-0c7c26647579e9e647e8b969bb0e7b3f5f1a1492.tar.gz
linux-0c7c26647579e9e647e8b969bb0e7b3f5f1a1492.tar.bz2
linux-0c7c26647579e9e647e8b969bb0e7b3f5f1a1492.zip
drm: drop DRM_IOCTL_MODE_REPLACEFB, add+remove works just as well.
The replace fb ioctl replaces the backing buffer object for a modesetting framebuffer object. This can be acheived by just creating a new framebuffer backed by the new buffer object, setting that for the crtcs in question and then removing the old framebuffer object. Signed-off-by: Kristian Hogsberg <krh@redhat.com> Acked-by: Jakob Bornecrantz <jakob@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/drm_crtc.c')
-rw-r--r--drivers/gpu/drm/drm_crtc.c40
1 files changed, 0 insertions, 40 deletions
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index ece947d3b25b..53c87254be4c 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -2302,46 +2302,6 @@ out:
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->fb_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)
{