linux_dsm_epyc7002/drivers/gpu/drm/via
Daniel Vetter 95c081c17f 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 c996fd0b95
  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
2016-06-21 21:43:24 +02:00
..
Makefile drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
via_3d_reg.h drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
via_dma.c drm: Move drm_memory.c map support declarations to <drm/drm_legacy.h> 2014-09-12 15:28:12 +02:00
via_dmablit.c mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros 2016-04-04 10:41:08 -07:00
via_dmablit.h drm/via: fixed coding style issues, simplified return 2010-08-02 10:17:23 +10:00
via_drv.c drm: move drm_mmap to <drm/drm_legacy.h> 2014-09-24 11:43:07 +10:00
via_drv.h via_drm.h: move struct via_file_private definition to drivers/gpu/drm/via/via_drv.h 2015-10-16 11:27:49 +10:00
via_irq.c drm/irq: Use unsigned int pipe in public API 2015-10-06 12:57:47 +02:00
via_map.c drm: Move drm_memory.c map support declarations to <drm/drm_legacy.h> 2014-09-12 15:28:12 +02:00
via_mm.c drm: Move master pointer from drm_minor to drm_device 2016-06-21 21:43:24 +02:00
via_verifier.c drm: Move legacy buffer structures to <drm/drm_legacy.h> 2014-09-12 15:28:12 +02:00
via_verifier.h drm/via: fixed coding style issues, simplified return 2010-08-02 10:17:23 +10:00
via_video.c drm: Kill DRM_WAKUP and DRM_INIT_WAITQUEUE 2013-12-18 11:34:13 +10:00