Lines Matching refs:qdev
35 struct qxl_device *qdev = to_qxl(dev); in qxl_irq_handler() local
38 pending = xchg(&qdev->ram_header->int_pending, 0); in qxl_irq_handler()
43 atomic_inc(&qdev->irq_received); in qxl_irq_handler()
46 atomic_inc(&qdev->irq_received_display); in qxl_irq_handler()
47 wake_up_all(&qdev->display_event); in qxl_irq_handler()
48 qxl_queue_garbage_collect(qdev, false); in qxl_irq_handler()
51 atomic_inc(&qdev->irq_received_cursor); in qxl_irq_handler()
52 wake_up_all(&qdev->cursor_event); in qxl_irq_handler()
55 atomic_inc(&qdev->irq_received_io_cmd); in qxl_irq_handler()
56 wake_up_all(&qdev->io_cmd_event); in qxl_irq_handler()
63 qdev->irq_received_error++; in qxl_irq_handler()
67 schedule_work(&qdev->client_monitors_config_work); in qxl_irq_handler()
69 qdev->ram_header->int_mask = QXL_INTERRUPT_MASK; in qxl_irq_handler()
70 outb(0, qdev->io_base + QXL_IO_UPDATE_IRQ); in qxl_irq_handler()
76 struct qxl_device *qdev = container_of(work, struct qxl_device, in qxl_client_monitors_config_work_func() local
79 qxl_display_read_client_monitors_config(qdev); in qxl_client_monitors_config_work_func()
82 int qxl_irq_init(struct qxl_device *qdev) in qxl_irq_init() argument
86 init_waitqueue_head(&qdev->display_event); in qxl_irq_init()
87 init_waitqueue_head(&qdev->cursor_event); in qxl_irq_init()
88 init_waitqueue_head(&qdev->io_cmd_event); in qxl_irq_init()
89 INIT_WORK(&qdev->client_monitors_config_work, in qxl_irq_init()
91 atomic_set(&qdev->irq_received, 0); in qxl_irq_init()
92 atomic_set(&qdev->irq_received_display, 0); in qxl_irq_init()
93 atomic_set(&qdev->irq_received_cursor, 0); in qxl_irq_init()
94 atomic_set(&qdev->irq_received_io_cmd, 0); in qxl_irq_init()
95 qdev->irq_received_error = 0; in qxl_irq_init()
96 ret = drm_irq_install(&qdev->ddev, qdev->ddev.pdev->irq); in qxl_irq_init()
97 qdev->ram_header->int_mask = QXL_INTERRUPT_MASK; in qxl_irq_init()