Mon Aug 27 06:17:52 2018 UTC ()
directly include asm/bug.h for WARN_ON instead of fighting
to match side-loading.

include drm_legacy.h as needed

Author: coypu <coypu@sdf.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>


(riastradh)
diff -r1.2 -r1.3 src/sys/external/bsd/drm2/dist/include/drm/drm_modeset_lock.h
diff -r1.20 -r1.21 src/sys/external/bsd/drm2/drm/drm_drv.c

cvs diff -r1.2 -r1.3 src/sys/external/bsd/drm2/dist/include/drm/drm_modeset_lock.h (expand / switch to unified diff)

--- src/sys/external/bsd/drm2/dist/include/drm/drm_modeset_lock.h 2018/08/27 04:58:38 1.2
+++ src/sys/external/bsd/drm2/dist/include/drm/drm_modeset_lock.h 2018/08/27 06:17:52 1.3
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: drm_modeset_lock.h,v 1.2 2018/08/27 04:58:38 riastradh Exp $ */ 1/* $NetBSD: drm_modeset_lock.h,v 1.3 2018/08/27 06:17:52 riastradh Exp $ */
2 2
3/* 3/*
4 * Copyright (C) 2014 Red Hat 4 * Copyright (C) 2014 Red Hat
5 * Author: Rob Clark <robdclark@gmail.com> 5 * Author: Rob Clark <robdclark@gmail.com>
6 * 6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a 7 * Permission is hereby granted, free of charge, to any person obtaining a
8 * copy of this software and associated documentation files (the "Software"), 8 * copy of this software and associated documentation files (the "Software"),
9 * to deal in the Software without restriction, including without limitation 9 * to deal in the Software without restriction, including without limitation
10 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 10 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
11 * and/or sell copies of the Software, and to permit persons to whom the 11 * and/or sell copies of the Software, and to permit persons to whom the
12 * Software is furnished to do so, subject to the following conditions: 12 * Software is furnished to do so, subject to the following conditions:
13 * 13 *
14 * The above copyright notice and this permission notice shall be included in 14 * The above copyright notice and this permission notice shall be included in
@@ -17,26 +17,27 @@ @@ -17,26 +17,27 @@
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
21 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
22 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
23 * OTHER DEALINGS IN THE SOFTWARE. 23 * OTHER DEALINGS IN THE SOFTWARE.
24 */ 24 */
25 25
26#ifndef DRM_MODESET_LOCK_H_ 26#ifndef DRM_MODESET_LOCK_H_
27#define DRM_MODESET_LOCK_H_ 27#define DRM_MODESET_LOCK_H_
28 28
29#include <linux/ww_mutex.h> 29#include <linux/ww_mutex.h>
 30#include <asm/bug.h>
30 31
31struct drm_modeset_lock; 32struct drm_modeset_lock;
32 33
33/** 34/**
34 * struct drm_modeset_acquire_ctx - locking context (see ww_acquire_ctx) 35 * struct drm_modeset_acquire_ctx - locking context (see ww_acquire_ctx)
35 * @ww_ctx: base acquire ctx 36 * @ww_ctx: base acquire ctx
36 * @contended: used internally for -EDEADLK handling 37 * @contended: used internally for -EDEADLK handling
37 * @locked: list of held locks 38 * @locked: list of held locks
38 * @trylock_only: trylock mode used in atomic contexts/panic notifiers 39 * @trylock_only: trylock mode used in atomic contexts/panic notifiers
39 * 40 *
40 * Each thread competing for a set of locks must use one acquire 41 * Each thread competing for a set of locks must use one acquire
41 * ctx. And if any lock fxn returns -EDEADLK, it must backoff and 42 * ctx. And if any lock fxn returns -EDEADLK, it must backoff and
42 * retry. 43 * retry.

cvs diff -r1.20 -r1.21 src/sys/external/bsd/drm2/drm/Attic/drm_drv.c (expand / switch to unified diff)

--- src/sys/external/bsd/drm2/drm/Attic/drm_drv.c 2017/12/05 19:13:52 1.20
+++ src/sys/external/bsd/drm2/drm/Attic/drm_drv.c 2018/08/27 06:17:52 1.21
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: drm_drv.c,v 1.20 2017/12/05 19:13:52 jmcneill Exp $ */ 1/* $NetBSD: drm_drv.c,v 1.21 2018/08/27 06:17:52 riastradh Exp $ */
2 2
3/*- 3/*-
4 * Copyright (c) 2013 The NetBSD Foundation, Inc. 4 * Copyright (c) 2013 The NetBSD Foundation, Inc.
5 * All rights reserved. 5 * All rights reserved.
6 * 6 *
7 * This code is derived from software contributed to The NetBSD Foundation 7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Taylor R. Campbell. 8 * by Taylor R. Campbell.
9 * 9 *
10 * Redistribution and use in source and binary forms, with or without 10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions 11 * modification, are permitted provided that the following conditions
12 * are met: 12 * are met:
13 * 1. Redistributions of source code must retain the above copyright 13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer. 14 * notice, this list of conditions and the following disclaimer.
@@ -20,27 +20,27 @@ @@ -20,27 +20,27 @@
20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE. 29 * POSSIBILITY OF SUCH DAMAGE.
30 */ 30 */
31 31
32#include <sys/cdefs.h> 32#include <sys/cdefs.h>
33__KERNEL_RCSID(0, "$NetBSD: drm_drv.c,v 1.20 2017/12/05 19:13:52 jmcneill Exp $"); 33__KERNEL_RCSID(0, "$NetBSD: drm_drv.c,v 1.21 2018/08/27 06:17:52 riastradh Exp $");
34 34
35#include <sys/param.h> 35#include <sys/param.h>
36#include <sys/types.h> 36#include <sys/types.h>
37#include <sys/conf.h> 37#include <sys/conf.h>
38#include <sys/device.h> 38#include <sys/device.h>
39#include <sys/file.h> 39#include <sys/file.h>
40#include <sys/filedesc.h> 40#include <sys/filedesc.h>
41#include <sys/ioccom.h> 41#include <sys/ioccom.h>
42#include <sys/kauth.h> 42#include <sys/kauth.h>
43#ifndef _MODULE 43#ifndef _MODULE
44/* XXX Mega-kludge because modules are broken. */ 44/* XXX Mega-kludge because modules are broken. */
45#include <sys/once.h> 45#include <sys/once.h>
46#endif 46#endif
@@ -48,26 +48,27 @@ __KERNEL_RCSID(0, "$NetBSD: drm_drv.c,v  @@ -48,26 +48,27 @@ __KERNEL_RCSID(0, "$NetBSD: drm_drv.c,v
48#include <sys/poll.h> 48#include <sys/poll.h>
49#ifndef _MODULE 49#ifndef _MODULE
50#include <sys/reboot.h> /* XXX drm_init kludge */ 50#include <sys/reboot.h> /* XXX drm_init kludge */
51#endif 51#endif
52#include <sys/select.h> 52#include <sys/select.h>
53 53
54#include <uvm/uvm_extern.h> 54#include <uvm/uvm_extern.h>
55 55
56#include <linux/err.h> 56#include <linux/err.h>
57 57
58#include <linux/pm.h> 58#include <linux/pm.h>
59 59
60#include <drm/drmP.h> 60#include <drm/drmP.h>
 61#include "../dist/drm/drm_legacy.h"
61 62
62static dev_type_open(drm_open); 63static dev_type_open(drm_open);
63 64
64static int drm_firstopen(struct drm_device *); 65static int drm_firstopen(struct drm_device *);
65 66
66static int drm_close(struct file *); 67static int drm_close(struct file *);
67static int drm_read(struct file *, off_t *, struct uio *, kauth_cred_t, 68static int drm_read(struct file *, off_t *, struct uio *, kauth_cred_t,
68 int); 69 int);
69static int drm_dequeue_event(struct drm_file *, size_t, 70static int drm_dequeue_event(struct drm_file *, size_t,
70 struct drm_pending_event **, int); 71 struct drm_pending_event **, int);
71static int drm_poll(struct file *, int); 72static int drm_poll(struct file *, int);
72static int drm_kqfilter(struct file *, struct knote *); 73static int drm_kqfilter(struct file *, struct knote *);
73static int drm_stat(struct file *, struct stat *); 74static int drm_stat(struct file *, struct stat *);