Lines Matching refs:dev_priv
100 drm_via_private_t *dev_priv = dev->dev_private; in via_get_vblank_counter() local
104 return atomic_read(&dev_priv->vbl_received); in via_get_vblank_counter()
110 drm_via_private_t *dev_priv = (drm_via_private_t *) dev->dev_private; in via_driver_irq_handler() local
114 drm_via_irq_t *cur_irq = dev_priv->via_irqs; in via_driver_irq_handler()
119 atomic_inc(&dev_priv->vbl_received); in via_driver_irq_handler()
120 if (!(atomic_read(&dev_priv->vbl_received) & 0x0F)) { in via_driver_irq_handler()
122 if (dev_priv->last_vblank_valid) { in via_driver_irq_handler()
123 dev_priv->usec_per_vblank = in via_driver_irq_handler()
125 &dev_priv->last_vblank) >> 4; in via_driver_irq_handler()
127 dev_priv->last_vblank = cur_vblank; in via_driver_irq_handler()
128 dev_priv->last_vblank_valid = 1; in via_driver_irq_handler()
130 if (!(atomic_read(&dev_priv->vbl_received) & 0xFF)) { in via_driver_irq_handler()
132 dev_priv->usec_per_vblank); in via_driver_irq_handler()
138 for (i = 0; i < dev_priv->num_irqs; ++i) { in via_driver_irq_handler()
143 if (dev_priv->irq_map[drm_via_irq_dma0_td] == i) in via_driver_irq_handler()
145 else if (dev_priv->irq_map[drm_via_irq_dma1_td] == i) in via_driver_irq_handler()
161 static __inline__ void viadrv_acknowledge_irqs(drm_via_private_t *dev_priv) in viadrv_acknowledge_irqs() argument
165 if (dev_priv) { in viadrv_acknowledge_irqs()
169 dev_priv->irq_pending_mask); in viadrv_acknowledge_irqs()
175 drm_via_private_t *dev_priv = dev->dev_private; in via_enable_vblank() local
194 drm_via_private_t *dev_priv = dev->dev_private; in via_disable_vblank() local
211 drm_via_private_t *dev_priv = (drm_via_private_t *) dev->dev_private; in via_driver_irq_wait() local
220 if (!dev_priv) { in via_driver_irq_wait()
230 real_irq = dev_priv->irq_map[irq]; in via_driver_irq_wait()
238 masks = dev_priv->irq_masks; in via_driver_irq_wait()
239 cur_irq = dev_priv->via_irqs + real_irq; in via_driver_irq_wait()
263 drm_via_private_t *dev_priv = (drm_via_private_t *) dev->dev_private; in via_driver_irq_preinstall() local
268 DRM_DEBUG("dev_priv: %p\n", dev_priv); in via_driver_irq_preinstall()
269 if (dev_priv) { in via_driver_irq_preinstall()
270 cur_irq = dev_priv->via_irqs; in via_driver_irq_preinstall()
272 dev_priv->irq_enable_mask = VIA_IRQ_VBLANK_ENABLE; in via_driver_irq_preinstall()
273 dev_priv->irq_pending_mask = VIA_IRQ_VBLANK_PENDING; in via_driver_irq_preinstall()
275 if (dev_priv->chipset == VIA_PRO_GROUP_A || in via_driver_irq_preinstall()
276 dev_priv->chipset == VIA_DX9_0) { in via_driver_irq_preinstall()
277 dev_priv->irq_masks = via_pro_group_a_irqs; in via_driver_irq_preinstall()
278 dev_priv->num_irqs = via_num_pro_group_a; in via_driver_irq_preinstall()
279 dev_priv->irq_map = via_irqmap_pro_group_a; in via_driver_irq_preinstall()
281 dev_priv->irq_masks = via_unichrome_irqs; in via_driver_irq_preinstall()
282 dev_priv->num_irqs = via_num_unichrome; in via_driver_irq_preinstall()
283 dev_priv->irq_map = via_irqmap_unichrome; in via_driver_irq_preinstall()
286 for (i = 0; i < dev_priv->num_irqs; ++i) { in via_driver_irq_preinstall()
288 cur_irq->enable_mask = dev_priv->irq_masks[i][0]; in via_driver_irq_preinstall()
289 cur_irq->pending_mask = dev_priv->irq_masks[i][1]; in via_driver_irq_preinstall()
291 dev_priv->irq_enable_mask |= cur_irq->enable_mask; in via_driver_irq_preinstall()
292 dev_priv->irq_pending_mask |= cur_irq->pending_mask; in via_driver_irq_preinstall()
298 dev_priv->last_vblank_valid = 0; in via_driver_irq_preinstall()
303 ~(dev_priv->irq_enable_mask)); in via_driver_irq_preinstall()
306 viadrv_acknowledge_irqs(dev_priv); in via_driver_irq_preinstall()
312 drm_via_private_t *dev_priv = (drm_via_private_t *) dev->dev_private; in via_driver_irq_postinstall() local
316 if (!dev_priv) in via_driver_irq_postinstall()
321 | dev_priv->irq_enable_mask); in via_driver_irq_postinstall()
332 drm_via_private_t *dev_priv = (drm_via_private_t *) dev->dev_private; in via_driver_irq_uninstall() local
336 if (dev_priv) { in via_driver_irq_uninstall()
345 ~(VIA_IRQ_VBLANK_ENABLE | dev_priv->irq_enable_mask)); in via_driver_irq_uninstall()
354 drm_via_private_t *dev_priv = (drm_via_private_t *) dev->dev_private; in via_wait_irq() local
355 drm_via_irq_t *cur_irq = dev_priv->via_irqs; in via_wait_irq()
358 if (irqwait->request.irq >= dev_priv->num_irqs) { in via_wait_irq()