45,8 → 45,6 |
#include <linux/kernel.h> |
#include <linux/kref.h> |
#include <linux/mm.h> |
|
#include <linux/spinlock.h> |
#include <linux/mutex.h> |
#include <linux/pci.h> |
#include <linux/sched.h> |
62,6 → 60,8 |
#include <linux/vmalloc.h> |
#include <linux/workqueue.h> |
|
#include <asm/uaccess.h> |
|
#include <uapi/drm/drm.h> |
#include <uapi/drm/drm_mode.h> |
|
190,6 → 190,8 |
drm_err(fmt, ##__VA_ARGS__); \ |
}) |
|
#if DRM_DEBUG_CODE |
|
#define DRM_INFO(fmt, ...) \ |
printk(KERN_INFO "[" DRM_NAME "] " fmt, ##__VA_ARGS__) |
|
202,7 → 204,6 |
* \param fmt printf() like format string. |
* \param arg arguments |
*/ |
#if DRM_DEBUG_CODE |
#define DRM_DEBUG(fmt, args...) \ |
do { \ |
printk(KERN_INFO "[" DRM_NAME "] " fmt, ##args); \ |
230,6 → 231,7 |
} while (0) |
|
#else |
#define DRM_INFO(fmt, ...) do { } while (0) |
#define DRM_DEBUG_DRIVER(fmt, args...) do { } while (0) |
#define DRM_DEBUG_KMS(fmt, args...) do { } while (0) |
#define DRM_DEBUG_PRIME(fmt, args...) do { } while (0) |
293,6 → 295,7 |
struct drm_pending_event { |
struct drm_event *event; |
struct list_head link; |
struct list_head pending_link; |
struct drm_file *file_priv; |
pid_t pid; /* pid of requester, no guarantee it's valid by the time |
we deliver the event, for tracing only */ |
351,8 → 354,11 |
struct list_head blobs; |
|
wait_queue_head_t event_wait; |
struct list_head pending_event_list; |
struct list_head event_list; |
int event_space; |
|
struct mutex event_read_lock; |
}; |
|
/** |
801,16 → 807,26 |
unsigned int cmd, unsigned long arg); |
extern bool drm_ioctl_flags(unsigned int nr, unsigned int *flags); |
|
/* Device support (drm_fops.h) */ |
extern int drm_open(struct inode *inode, struct file *filp); |
extern ssize_t drm_read(struct file *filp, char __user *buffer, |
/* File Operations (drm_fops.c) */ |
int drm_open(struct inode *inode, struct file *filp); |
ssize_t drm_read(struct file *filp, char __user *buffer, |
size_t count, loff_t *offset); |
extern int drm_release(struct inode *inode, struct file *filp); |
extern int drm_new_set_master(struct drm_device *dev, struct drm_file *fpriv); |
int drm_release(struct inode *inode, struct file *filp); |
int drm_new_set_master(struct drm_device *dev, struct drm_file *fpriv); |
unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait); |
int drm_event_reserve_init_locked(struct drm_device *dev, |
struct drm_file *file_priv, |
struct drm_pending_event *p, |
struct drm_event *e); |
int drm_event_reserve_init(struct drm_device *dev, |
struct drm_file *file_priv, |
struct drm_pending_event *p, |
struct drm_event *e); |
void drm_event_cancel_free(struct drm_device *dev, |
struct drm_pending_event *p); |
void drm_send_event_locked(struct drm_device *dev, struct drm_pending_event *e); |
void drm_send_event(struct drm_device *dev, struct drm_pending_event *e); |
|
/* Mapping support (drm_vm.h) */ |
extern unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait); |
|
/* Misc. IOCTL support (drm_ioctl.c) */ |
int drm_noop(struct drm_device *dev, void *data, |
struct drm_file *file_priv); |