Lines Matching defs:drm_device
815 struct drm_device { struct
822 spinlock_t count_lock; /**< For inuse, drm_device::open_count, drm_device::buf_use */ argument
823 struct mutex struct_mutex; /**< For others */
828 int open_count; /**< Outstanding files open */
829 atomic_t ioctl_count; /**< Outstanding IOCTLs pending */
830 atomic_t vma_count; /**< Outstanding vma areas open */
831 int buf_use; /**< Buffers in use -- cannot alloc */
832 atomic_t buf_alloc; /**< Buffer allocation in progress */
837 unsigned long counters;
838 enum drm_stat_type types[15];
839 atomic_t counts[15];
842 struct list_head filelist;
868 struct drm_device_dma *dma; /**< Optional pointer for DMA support */ argument
873 int irq_enabled; /**< True if irq handler is enabled */
874 __volatile__ long context_flag; /**< Context swapping flag */
875 __volatile__ long interrupt_flag; /**< Interruption handler flag */
876 __volatile__ long dma_flag; /**< DMA dispatch flag */
877 struct timer_list timer; /**< Timer for delaying ctx switch */
878 wait_queue_head_t context_wait; /**< Processes waiting on ctx switch */
879 int last_checked; /**< Last context checked for DMA */
880 int last_context; /**< Last current context */
881 unsigned long last_switch; /**< jiffies at last context switch */
884 struct work_struct work;
894 int vblank_disable_allowed;
896 wait_queue_head_t *vbl_queue; /**< VBLANK wait queue */
897 …_count; /**< number of VBLANK interrupts (driver must alloc the right number of counters) */
898 spinlock_t vbl_lock;
899 atomic_t *vblank_refcount; /* number of users of vblank interruptsper crtc */
900 u32 *last_vblank; /* protected by dev->vbl_lock, used */
902 int *vblank_enabled; /* so we don't call enable more than
904 int *vblank_inmodeset; /* Display driver is setting mode */
905 u32 *last_vblank_wait; /* Last vblank seqno waited per CRTC */
906 struct timer_list vblank_disable_timer;
908 u32 max_vblank_count; /**< size of vblank counter register */
911 cycles_t ctx_start;
912 cycles_t lck_start;
914 struct fasync_struct *buf_async;/**< Processes waiting for SIGIO */
915 wait_queue_head_t buf_readers; /**< Processes waiting to read */
916 wait_queue_head_t buf_writers; /**< Processes waiting to ctx switch */
918 struct drm_agp_head *agp; /**< AGP data */
920 struct pci_dev *pdev; /**< PCI device structure */
921 int pci_vendor; /**< PCI vendor id */
922 int pci_device; /**< PCI device id */
924 struct pci_controller *hose;
926 struct drm_sg_mem *sg; /**< Scatter gather memory */
927 int num_crtcs; /**< Number of CRTCs on this device */
928 void *dev_private; /**< device private data */
929 void *mm_private;
930 struct address_space *dev_mapping;
931 struct drm_sigdata sigdata; /**< For block_all_signals */
932 sigset_t sigmask;
934 struct drm_driver *driver;
935 drm_local_map_t *agp_buffer_map;
936 unsigned int agp_buffer_token;
937 struct drm_minor *control; /**< Control node for card */
938 struct drm_minor *primary; /**< render type primary screen head */
965 static inline int drm_dev_to_irq(struct drm_device *dev) in drm_dev_to_irq() argument