Lines Matching refs:irq

48 irqreturn_t radeon_driver_irq_handler_kms(int irq, void *arg)  in radeon_driver_irq_handler_kms()  argument
125 spin_lock_irqsave(&rdev->irq.lock, irqflags); in radeon_driver_irq_preinstall_kms()
128 atomic_set(&rdev->irq.ring_int[i], 0); in radeon_driver_irq_preinstall_kms()
129 rdev->irq.dpm_thermal = false; in radeon_driver_irq_preinstall_kms()
131 rdev->irq.hpd[i] = false; in radeon_driver_irq_preinstall_kms()
133 rdev->irq.crtc_vblank_int[i] = false; in radeon_driver_irq_preinstall_kms()
134 atomic_set(&rdev->irq.pflip[i], 0); in radeon_driver_irq_preinstall_kms()
135 rdev->irq.afmt[i] = false; in radeon_driver_irq_preinstall_kms()
138 spin_unlock_irqrestore(&rdev->irq.lock, irqflags); in radeon_driver_irq_preinstall_kms()
179 spin_lock_irqsave(&rdev->irq.lock, irqflags); in radeon_driver_irq_uninstall_kms()
182 atomic_set(&rdev->irq.ring_int[i], 0); in radeon_driver_irq_uninstall_kms()
183 rdev->irq.dpm_thermal = false; in radeon_driver_irq_uninstall_kms()
185 rdev->irq.hpd[i] = false; in radeon_driver_irq_uninstall_kms()
187 rdev->irq.crtc_vblank_int[i] = false; in radeon_driver_irq_uninstall_kms()
188 atomic_set(&rdev->irq.pflip[i], 0); in radeon_driver_irq_uninstall_kms()
189 rdev->irq.afmt[i] = false; in radeon_driver_irq_uninstall_kms()
192 spin_unlock_irqrestore(&rdev->irq.lock, irqflags); in radeon_driver_irq_uninstall_kms()
289 spin_lock_init(&rdev->irq.lock); in radeon_irq_kms_init()
309 rdev->irq.installed = true; in radeon_irq_kms_init()
310 r = drm_irq_install(rdev->ddev, rdev->ddev->pdev->irq); in radeon_irq_kms_init()
312 rdev->irq.installed = false; in radeon_irq_kms_init()
331 if (rdev->irq.installed) { in radeon_irq_kms_fini()
333 rdev->irq.installed = false; in radeon_irq_kms_fini()
357 if (atomic_inc_return(&rdev->irq.ring_int[ring]) == 1) { in radeon_irq_kms_sw_irq_get()
358 spin_lock_irqsave(&rdev->irq.lock, irqflags); in radeon_irq_kms_sw_irq_get()
360 spin_unlock_irqrestore(&rdev->irq.lock, irqflags); in radeon_irq_kms_sw_irq_get()
376 return atomic_inc_return(&rdev->irq.ring_int[ring]) == 1; in radeon_irq_kms_sw_irq_get_delayed()
396 if (atomic_dec_and_test(&rdev->irq.ring_int[ring])) { in radeon_irq_kms_sw_irq_put()
397 spin_lock_irqsave(&rdev->irq.lock, irqflags); in radeon_irq_kms_sw_irq_put()
399 spin_unlock_irqrestore(&rdev->irq.lock, irqflags); in radeon_irq_kms_sw_irq_put()
422 if (atomic_inc_return(&rdev->irq.pflip[crtc]) == 1) { in radeon_irq_kms_pflip_irq_get()
423 spin_lock_irqsave(&rdev->irq.lock, irqflags); in radeon_irq_kms_pflip_irq_get()
425 spin_unlock_irqrestore(&rdev->irq.lock, irqflags); in radeon_irq_kms_pflip_irq_get()
448 if (atomic_dec_and_test(&rdev->irq.pflip[crtc])) { in radeon_irq_kms_pflip_irq_put()
449 spin_lock_irqsave(&rdev->irq.lock, irqflags); in radeon_irq_kms_pflip_irq_put()
451 spin_unlock_irqrestore(&rdev->irq.lock, irqflags); in radeon_irq_kms_pflip_irq_put()
470 spin_lock_irqsave(&rdev->irq.lock, irqflags); in radeon_irq_kms_enable_afmt()
471 rdev->irq.afmt[block] = true; in radeon_irq_kms_enable_afmt()
473 spin_unlock_irqrestore(&rdev->irq.lock, irqflags); in radeon_irq_kms_enable_afmt()
492 spin_lock_irqsave(&rdev->irq.lock, irqflags); in radeon_irq_kms_disable_afmt()
493 rdev->irq.afmt[block] = false; in radeon_irq_kms_disable_afmt()
495 spin_unlock_irqrestore(&rdev->irq.lock, irqflags); in radeon_irq_kms_disable_afmt()
514 spin_lock_irqsave(&rdev->irq.lock, irqflags); in radeon_irq_kms_enable_hpd()
516 rdev->irq.hpd[i] |= !!(hpd_mask & (1 << i)); in radeon_irq_kms_enable_hpd()
518 spin_unlock_irqrestore(&rdev->irq.lock, irqflags); in radeon_irq_kms_enable_hpd()
537 spin_lock_irqsave(&rdev->irq.lock, irqflags); in radeon_irq_kms_disable_hpd()
539 rdev->irq.hpd[i] &= !(hpd_mask & (1 << i)); in radeon_irq_kms_disable_hpd()
541 spin_unlock_irqrestore(&rdev->irq.lock, irqflags); in radeon_irq_kms_disable_hpd()