Lines Matching defs:drm_device

1028 struct drm_device {  struct
1035 spinlock_t count_lock; /**< For inuse, drm_device::open_count, drm_device::buf_use */ argument
1036 struct mutex struct_mutex; /**< For others */
1041 int open_count; /**< Outstanding files open */
1042 atomic_t ioctl_count; /**< Outstanding IOCTLs pending */
1043 atomic_t vma_count; /**< Outstanding vma areas open */
1044 int buf_use; /**< Buffers in use -- cannot alloc */
1045 atomic_t buf_alloc; /**< Buffer allocation in progress */
1050 unsigned long counters;
1051 enum drm_stat_type types[15];
1052 atomic_t counts[15];
1055 struct list_head filelist;
1081 struct drm_device_dma *dma; /**< Optional pointer for DMA support */ argument
1086 int irq_enabled; /**< True if irq handler is enabled */
1087 __volatile__ long context_flag; /**< Context swapping flag */
1088 __volatile__ long interrupt_flag; /**< Interruption handler flag */
1089 __volatile__ long dma_flag; /**< DMA dispatch flag */
1090 wait_queue_head_t context_wait; /**< Processes waiting on ctx switch */
1091 int last_checked; /**< Last context checked for DMA */
1092 int last_context; /**< Last current context */
1093 unsigned long last_switch; /**< jiffies at last context switch */
1096 struct work_struct work;
1106 int vblank_disable_allowed;
1108 wait_queue_head_t *vbl_queue; /**< VBLANK wait queue */
1109 …_count; /**< number of VBLANK interrupts (driver must alloc the right number of counters) */
1110 …blank_time; /**< timestamp of current vblank_count (drivers must alloc right number of fields) */
1111 …_t vblank_time_lock; /**< Protects vblank count and time updates during vblank enable/disable */
1112 spinlock_t vbl_lock;
1113 atomic_t *vblank_refcount; /* number of users of vblank interruptsper crtc */
1114 u32 *last_vblank; /* protected by dev->vbl_lock, used */
1116 int *vblank_enabled; /* so we don't call enable more than
1118 int *vblank_inmodeset; /* Display driver is setting mode */
1119 u32 *last_vblank_wait; /* Last vblank seqno waited per CRTC */
1120 struct timer_list vblank_disable_timer;
1122 u32 max_vblank_count; /**< size of vblank counter register */
1127 struct list_head vblank_event_list;
1128 spinlock_t event_lock;
1131 cycles_t ctx_start;
1132 cycles_t lck_start;
1134 struct fasync_struct *buf_async;/**< Processes waiting for SIGIO */
1135 wait_queue_head_t buf_readers; /**< Processes waiting to read */
1136 wait_queue_head_t buf_writers; /**< Processes waiting to ctx switch */
1138 struct drm_agp_head *agp; /**< AGP data */
1140 struct device *dev; /**< Device structure */
1141 struct pci_dev *pdev; /**< PCI device structure */
1142 int pci_vendor; /**< PCI vendor id */
1143 int pci_device; /**< PCI device id */
1145 struct pci_controller *hose;
1148 struct platform_device *platformdev; /**< Platform device struture */
1149 struct usb_device *usbdev;
1151 struct drm_sg_mem *sg; /**< Scatter gather memory */
1152 unsigned int num_crtcs; /**< Number of CRTCs on this device */
1153 void *dev_private; /**< device private data */
1154 void *mm_private;
1155 struct address_space *dev_mapping;
1179 static __inline__ int drm_core_check_feature(struct drm_device *dev, in drm_core_check_feature() argument