diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2016-06-21 10:54:12 +0200 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2016-06-21 21:43:24 +0200 |
commit | 95c081c17f284de50eaca60d4d55643a64d39019 (patch) | |
tree | c67aa3d3c9008fc1b91d26b58fc9d57f1f820aab /kernel/kexec.c | |
parent | 84601dbdea36634a300c24f93b149a251fc64fed (diff) | |
download | talos-obmc-linux-95c081c17f284de50eaca60d4d55643a64d39019.tar.gz talos-obmc-linux-95c081c17f284de50eaca60d4d55643a64d39019.zip |
drm: Move master pointer from drm_minor to drm_device
There can only be one current master, and it's for the overall device.
Render/control minors don't support master-based auth at all.
This simplifies the master logic a lot, at least in my eyes: All these
additional pointer chases are just confusing.
While doing the conversion I spotted some locking fail:
- drm_lock/drm_auth check dev->master without holding the
master_mutex. This is fallout from
commit c996fd0b956450563454e7ccc97a82ca31f9d043
Author: Thomas Hellstrom <thellstrom@vmware.com>
Date: Tue Feb 25 19:57:44 2014 +0100
drm: Protect the master management with a drm_device::master_mutex v3
but I honestly don't care one bit about those old legacy drivers
using this.
- debugfs name info should just grab master_mutex.
- And the fbdev helper looked at it to figure out whether someone is
using KMS. We just need a consistent value, so READ_ONCE. Aside: We
should probably check if anyone has opened a control node too, but I
guess current userspace doesn't really do that yet.
v2: Balance locking, reported by Julia.
v3: Rebase on top of Chris' oops fixes.
Cc: Julia Lawall <julia.lawall@lip6.fr>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> (v2)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> (v2)
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1466499262-18717-1-git-send-email-daniel.vetter@ffwll.ch
Diffstat (limited to 'kernel/kexec.c')
0 files changed, 0 insertions, 0 deletions