From: David Herrmann <dh.herrmann@gmail.com>
To: dri-devel@lists.freedesktop.org
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Subject: [PATCH 13/20] drm: inline "struct drm_sigdata"
Date: Fri, 29 Aug 2014 12:12:39 +0200 [thread overview]
Message-ID: <1409307166-12396-14-git-send-email-dh.herrmann@gmail.com> (raw)
In-Reply-To: <1409307166-12396-1-git-send-email-dh.herrmann@gmail.com>
The sigdata structure is only used to group two fields in drm_device.
Inline it and make it an unnamed object.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
---
drivers/gpu/drm/drm_lock.c | 15 ++++++++-------
include/drm/drmP.h | 12 +++++-------
2 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/drivers/gpu/drm/drm_lock.c b/drivers/gpu/drm/drm_lock.c
index e26b59e..60f1481 100644
--- a/drivers/gpu/drm/drm_lock.c
+++ b/drivers/gpu/drm/drm_lock.c
@@ -120,7 +120,7 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv)
sigaddset(&dev->sigmask, SIGTTOU);
dev->sigdata.context = lock->context;
dev->sigdata.lock = master->lock.hw_lock;
- block_all_signals(drm_notifier, &dev->sigdata, &dev->sigmask);
+ block_all_signals(drm_notifier, dev, &dev->sigmask);
}
if (dev->driver->dma_quiescent && (lock->flags & _DRM_LOCK_QUIESCENT))
@@ -286,26 +286,27 @@ int drm_lock_free(struct drm_lock_data *lock_data, unsigned int context)
* If the lock is not held, then let the signal proceed as usual. If the lock
* is held, then set the contended flag and keep the signal blocked.
*
- * \param priv pointer to a drm_sigdata structure.
+ * \param priv pointer to a drm_device structure.
* \return one if the signal should be delivered normally, or zero if the
* signal should be blocked.
*/
static int drm_notifier(void *priv)
{
- struct drm_sigdata *s = (struct drm_sigdata *) priv;
+ struct drm_device *dev = priv;
+ struct drm_hw_lock *lock = dev->sigdata.lock;
unsigned int old, new, prev;
/* Allow signal delivery if lock isn't held */
- if (!s->lock || !_DRM_LOCK_IS_HELD(s->lock->lock)
- || _DRM_LOCKING_CONTEXT(s->lock->lock) != s->context)
+ if (!lock || !_DRM_LOCK_IS_HELD(lock->lock)
+ || _DRM_LOCKING_CONTEXT(lock->lock) != dev->sigdata.context)
return 1;
/* Otherwise, set flag to force call to
drmUnlock */
do {
- old = s->lock->lock;
+ old = lock->lock;
new = old | _DRM_LOCK_CONT;
- prev = cmpxchg(&s->lock->lock, old, new);
+ prev = cmpxchg(&lock->lock, old, new);
} while (prev != old);
return 0;
}
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index 8f55875..840a373 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -432,12 +432,6 @@ struct drm_sg_mem {
dma_addr_t *busaddr;
};
-struct drm_sigdata {
- int context;
- struct drm_hw_lock *lock;
-};
-
-
/**
* Kernel side of a mapping
*/
@@ -1035,9 +1029,13 @@ struct drm_device {
struct drm_sg_mem *sg; /**< Scatter gather memory */
unsigned int num_crtcs; /**< Number of CRTCs on this device */
- struct drm_sigdata sigdata; /**< For block_all_signals */
sigset_t sigmask;
+ struct {
+ int context;
+ struct drm_hw_lock *lock;
+ } sigdata;
+
struct drm_local_map *agp_buffer_map;
unsigned int agp_buffer_token;
--
2.1.0
next prev parent reply other threads:[~2014-08-29 10:13 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-29 10:12 [PATCH 00/20] DRM: Core Cleanups David Herrmann
2014-08-29 10:12 ` [PATCH 01/20] drm/radeon: move drm_buffer to drm/radeon/ David Herrmann
2014-08-29 11:20 ` Thierry Reding
2014-09-08 4:08 ` Alex Deucher
2014-08-29 10:12 ` [PATCH 02/20] drm: mark drm_buf and drm_map as legacy David Herrmann
2014-08-29 11:32 ` Thierry Reding
2014-08-29 10:12 ` [PATCH 03/20] drm: move "struct drm_vma_entry" to drm_vm.c David Herrmann
2014-08-29 11:34 ` Thierry Reding
2014-08-29 10:12 ` [PATCH 04/20] drm: move "struct drm_magic_entry" to drm_auth.c David Herrmann
2014-08-29 11:39 ` Thierry Reding
2014-08-29 10:12 ` [PATCH 05/20] drm: drop unused "struct drm_waitlist" David Herrmann
2014-08-29 11:40 ` Thierry Reding
2014-08-29 10:12 ` [PATCH 06/20] drm: move AGP definitions harder David Herrmann
2014-08-29 11:43 ` Thierry Reding
2014-08-29 12:39 ` Daniel Vetter
2014-08-29 10:12 ` [PATCH 07/20] drm: replace weird conditional includes David Herrmann
2014-08-29 11:45 ` Thierry Reding
2014-08-29 10:12 ` [PATCH 08/20] drm: drop __KERNEL__ protection in drmP.h David Herrmann
2014-08-29 11:46 ` Thierry Reding
2014-08-29 10:12 ` [PATCH 09/20] drm: merge drm_memory.h into drm_memory.c David Herrmann
2014-08-29 11:56 ` Thierry Reding
2014-08-29 12:43 ` Daniel Vetter
2014-08-29 13:26 ` Thierry Reding
2014-08-29 10:12 ` [PATCH 10/20] drm: move __OS_HAS_AGP into drm_agpsupport.h David Herrmann
2014-08-29 12:03 ` Thierry Reding
2014-08-29 12:45 ` Daniel Vetter
2014-08-29 10:12 ` [PATCH 11/20] drm: order includes alphabetically in drmP.h David Herrmann
2014-08-29 12:05 ` Thierry Reding
2014-08-29 10:12 ` [PATCH 12/20] drm: drop DRM_DEBUG_CODE David Herrmann
2014-08-29 12:10 ` Thierry Reding
2014-08-29 10:12 ` David Herrmann [this message]
2014-08-29 12:21 ` [PATCH 13/20] drm: inline "struct drm_sigdata" Thierry Reding
2014-08-29 10:12 ` [PATCH 14/20] drm: move remaining includes in drmP.h to the top David Herrmann
2014-08-29 12:26 ` Thierry Reding
2014-08-29 10:12 ` [PATCH 15/20] drm: simplify drm_*_set_unique() David Herrmann
2014-08-29 12:39 ` Thierry Reding
2014-08-29 12:58 ` Daniel Vetter
2014-08-29 10:12 ` [PATCH 16/20] drm: drop unused drm_master->unique_size David Herrmann
2014-08-29 12:41 ` Thierry Reding
2014-08-29 12:58 ` Daniel Vetter
2014-08-29 10:12 ` [PATCH 17/20] drm: add driver->set_busid() callback David Herrmann
2014-08-29 12:54 ` Thierry Reding
2014-08-29 13:01 ` Daniel Vetter
2014-08-29 13:30 ` Thierry Reding
2014-08-29 10:12 ` [PATCH 18/20] drm: Goody bye, drm_bus! David Herrmann
2014-08-29 12:55 ` Thierry Reding
2014-08-29 13:02 ` Daniel Vetter
2014-08-29 10:12 ` [PATCH 19/20] drm: merge drm_usb into udl David Herrmann
2014-08-29 13:00 ` Thierry Reding
2014-08-29 13:06 ` Daniel Vetter
2014-08-29 10:12 ` [PATCH 20/20] drm: move drm-lock API to drm_legacy.h David Herrmann
2014-08-29 13:02 ` Thierry Reding
2014-08-29 13:08 ` [PATCH 00/20] DRM: Core Cleanups Daniel Vetter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1409307166-12396-14-git-send-email-dh.herrmann@gmail.com \
--to=dh.herrmann@gmail.com \
--cc=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox