Deleted Added
full compact
drm_gem.c (240539) drm_gem.c (247835)
1/*-
2 * Copyright (c) 2011 The FreeBSD Foundation
3 * All rights reserved.
4 *
5 * This software was developed by Konstantin Belousov under sponsorship from
6 * the FreeBSD Foundation.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 14 unchanged lines hidden (view full) ---

23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE.
28 */
29
30#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2011 The FreeBSD Foundation
3 * All rights reserved.
4 *
5 * This software was developed by Konstantin Belousov under sponsorship from
6 * the FreeBSD Foundation.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 14 unchanged lines hidden (view full) ---

23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE.
28 */
29
30#include <sys/cdefs.h>
31__FBSDID("$FreeBSD: head/sys/dev/drm2/drm_gem.c 240539 2012-09-15 19:28:54Z ed $");
31__FBSDID("$FreeBSD: head/sys/dev/drm2/drm_gem.c 247835 2013-03-05 09:49:34Z kib $");
32
33#include "opt_vm.h"
34
35#include <sys/param.h>
36#include <sys/systm.h>
37#include <sys/limits.h>
38#include <sys/lock.h>
39#include <sys/mutex.h>

--- 396 unchanged lines hidden (view full) ---

436 list = &obj->map_list;
437
438 drm_ht_remove_item(&mm->offset_hash, list);
439 free_unr(mm->idxunr, list->key);
440 obj->on_map = false;
441}
442
443int
32
33#include "opt_vm.h"
34
35#include <sys/param.h>
36#include <sys/systm.h>
37#include <sys/limits.h>
38#include <sys/lock.h>
39#include <sys/mutex.h>

--- 396 unchanged lines hidden (view full) ---

436 list = &obj->map_list;
437
438 drm_ht_remove_item(&mm->offset_hash, list);
439 free_unr(mm->idxunr, list->key);
440 obj->on_map = false;
441}
442
443int
444drm_gem_mmap_single(struct cdev *kdev, vm_ooffset_t *offset, vm_size_t size,
444drm_gem_mmap_single(struct drm_device *dev, vm_ooffset_t *offset, vm_size_t size,
445 struct vm_object **obj_res, int nprot)
446{
445 struct vm_object **obj_res, int nprot)
446{
447 struct drm_device *dev;
448 struct drm_gem_object *gem_obj;
449 struct vm_object *vm_obj;
450
447 struct drm_gem_object *gem_obj;
448 struct vm_object *vm_obj;
449
451 dev = drm_get_device_from_kdev(kdev);
452 if ((dev->driver->driver_features & DRIVER_GEM) == 0)
453 return (ENODEV);
454 DRM_LOCK(dev);
455 gem_obj = drm_gem_object_from_offset(dev, *offset);
456 if (gem_obj == NULL) {
457 DRM_UNLOCK(dev);
458 return (ENODEV);
459 }
460 drm_gem_object_reference(gem_obj);
461 DRM_UNLOCK(dev);

--- 26 unchanged lines hidden ---
450 DRM_LOCK(dev);
451 gem_obj = drm_gem_object_from_offset(dev, *offset);
452 if (gem_obj == NULL) {
453 DRM_UNLOCK(dev);
454 return (ENODEV);
455 }
456 drm_gem_object_reference(gem_obj);
457 DRM_UNLOCK(dev);

--- 26 unchanged lines hidden ---