Lines Matching defs:drm_device
599 typedef struct drm_device { struct
600 const char *name; /* Simple driver name */
601 char *unique; /* Unique identifier: e.g., busid */
602 int unique_len; /* Length of unique field */
603 dev_t device; /* Device number for mknod */
604 char *devname; /* For /proc/interrupts */
606 int blocked; /* Blocked due to VC switch? */
607 struct proc_dir_entry *root; /* Root for this device's entries */
610 spinlock_t count_lock; /* For inuse, open_count, buf_use */
611 struct semaphore struct_sem; /* For others */
614 int open_count; /* Outstanding files open */
615 atomic_t ioctl_count; /* Outstanding IOCTLs pending */
616 atomic_t vma_count; /* Outstanding vma areas open */
617 int buf_use; /* Buffers in use -- cannot alloc */
618 atomic_t buf_alloc; /* Buffer allocation in progress */
621 unsigned long counters;
645 drm_device_dma_t *dma; /* Optional pointer for DMA support */ argument
648 int irq; /* Interrupt used by board */
649 __volatile__ long context_flag; /* Context swapping flag */
650 __volatile__ long interrupt_flag; /* Interruption handler flag */
651 __volatile__ long dma_flag; /* DMA dispatch flag */
652 struct timer_list timer; /* Timer for delaying ctx switch */
653 wait_queue_head_t context_wait; /* Processes waiting on ctx switch */
654 int last_checked; /* Last context checked for DMA */
655 int last_context; /* Last current context */
656 unsigned long last_switch; /* jiffies at last context switch */
657 struct tq_struct tq;
659 wait_queue_head_t vbl_queue;
660 atomic_t vbl_received;
661 spinlock_t vbl_lock;
662 drm_vbl_sig_t vbl_sigs;
663 unsigned int vbl_pending;
665 cycles_t ctx_start;
666 cycles_t lck_start;
668 drm_histogram_t histo;
693 } drm_device_t; argument