Commit 078b7de4 authored by Daniel Vetter's avatar Daniel Vetter
Browse files

drm/file: Uncompact the feature flags



This essentially undoes

commit 39868bd7
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Oct 29 08:55:58 2013 +0000

    drm: Compact booleans within struct drm_file

We do lockless access to these flags everywhere, and it's kinda not a
great idea to mix lockless and bitfields. Aside from that gcc isn't
generating great code for these.

If this ever becomes an issue size-wise, I think we need atomic_t here
and atomic bitflag ops.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: David Herrmann <dh.herrmann@gmail.com>
Cc: Dave Airlie <airlied@redhat.com>
Acked-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181102132543.16486-2-daniel.vetter@ffwll.ch
parent a0c1af46
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -164,14 +164,14 @@ struct drm_file {
	 * See also the :ref:`section on primary nodes and authentication
	 * <drm_primary_node>`.
	 */
	unsigned authenticated :1;
	bool authenticated;

	/**
	 * @stereo_allowed:
	 *
	 * True when the client has asked us to expose stereo 3D mode flags.
	 */
	unsigned stereo_allowed :1;
	bool stereo_allowed;

	/**
	 * @universal_planes:
@@ -179,10 +179,10 @@ struct drm_file {
	 * True if client understands CRTC primary planes and cursor planes
	 * in the plane list. Automatically set when @atomic is set.
	 */
	unsigned universal_planes:1;
	bool universal_planes;

	/** @atomic: True if client understands atomic properties. */
	unsigned atomic:1;
	bool atomic;

	/**
	 * @aspect_ratio_allowed:
@@ -190,14 +190,14 @@ struct drm_file {
	 * True, if client can handle picture aspect ratios, and has requested
	 * to pass this information along with the mode.
	 */
	unsigned aspect_ratio_allowed:1;
	bool aspect_ratio_allowed;

	/**
	 * @writeback_connectors:
	 *
	 * True if client understands writeback connectors
	 */
	unsigned writeback_connectors:1;
	bool writeback_connectors;

	/**
	 * @is_master:
@@ -208,7 +208,7 @@ struct drm_file {
	 * See also the :ref:`section on primary nodes and authentication
	 * <drm_primary_node>`.
	 */
	unsigned is_master:1;
	bool is_master;

	/**
	 * @master: