Lines Matching refs:irq
48 irqreturn_t radeon_driver_irq_handler_kms(int irq, void *arg) in radeon_driver_irq_handler_kms() argument
120 spin_lock_irqsave(&rdev->irq.lock, irqflags); in radeon_driver_irq_preinstall_kms()
123 atomic_set(&rdev->irq.ring_int[i], 0); in radeon_driver_irq_preinstall_kms()
124 rdev->irq.dpm_thermal = false; in radeon_driver_irq_preinstall_kms()
126 rdev->irq.hpd[i] = false; in radeon_driver_irq_preinstall_kms()
128 rdev->irq.crtc_vblank_int[i] = false; in radeon_driver_irq_preinstall_kms()
129 atomic_set(&rdev->irq.pflip[i], 0); in radeon_driver_irq_preinstall_kms()
130 rdev->irq.afmt[i] = false; in radeon_driver_irq_preinstall_kms()
133 spin_unlock_irqrestore(&rdev->irq.lock, irqflags); in radeon_driver_irq_preinstall_kms()
168 spin_lock_irqsave(&rdev->irq.lock, irqflags); in radeon_driver_irq_uninstall_kms()
171 atomic_set(&rdev->irq.ring_int[i], 0); in radeon_driver_irq_uninstall_kms()
172 rdev->irq.dpm_thermal = false; in radeon_driver_irq_uninstall_kms()
174 rdev->irq.hpd[i] = false; in radeon_driver_irq_uninstall_kms()
176 rdev->irq.crtc_vblank_int[i] = false; in radeon_driver_irq_uninstall_kms()
177 atomic_set(&rdev->irq.pflip[i], 0); in radeon_driver_irq_uninstall_kms()
178 rdev->irq.afmt[i] = false; in radeon_driver_irq_uninstall_kms()
181 spin_unlock_irqrestore(&rdev->irq.lock, irqflags); in radeon_driver_irq_uninstall_kms()
278 spin_lock_init(&rdev->irq.lock); in radeon_irq_kms_init()
298 rdev->irq.installed = true; in radeon_irq_kms_init()
299 r = drm_irq_install(rdev->ddev, rdev->ddev->pdev->irq); in radeon_irq_kms_init()
301 rdev->irq.installed = false; in radeon_irq_kms_init()
320 if (rdev->irq.installed) { in radeon_irq_kms_fini()
322 rdev->irq.installed = false; in radeon_irq_kms_fini()
346 if (atomic_inc_return(&rdev->irq.ring_int[ring]) == 1) { in radeon_irq_kms_sw_irq_get()
347 spin_lock_irqsave(&rdev->irq.lock, irqflags); in radeon_irq_kms_sw_irq_get()
349 spin_unlock_irqrestore(&rdev->irq.lock, irqflags); in radeon_irq_kms_sw_irq_get()
365 return atomic_inc_return(&rdev->irq.ring_int[ring]) == 1; in radeon_irq_kms_sw_irq_get_delayed()
385 if (atomic_dec_and_test(&rdev->irq.ring_int[ring])) { in radeon_irq_kms_sw_irq_put()
386 spin_lock_irqsave(&rdev->irq.lock, irqflags); in radeon_irq_kms_sw_irq_put()
388 spin_unlock_irqrestore(&rdev->irq.lock, irqflags); in radeon_irq_kms_sw_irq_put()
411 if (atomic_inc_return(&rdev->irq.pflip[crtc]) == 1) { in radeon_irq_kms_pflip_irq_get()
412 spin_lock_irqsave(&rdev->irq.lock, irqflags); in radeon_irq_kms_pflip_irq_get()
414 spin_unlock_irqrestore(&rdev->irq.lock, irqflags); in radeon_irq_kms_pflip_irq_get()
437 if (atomic_dec_and_test(&rdev->irq.pflip[crtc])) { in radeon_irq_kms_pflip_irq_put()
438 spin_lock_irqsave(&rdev->irq.lock, irqflags); in radeon_irq_kms_pflip_irq_put()
440 spin_unlock_irqrestore(&rdev->irq.lock, irqflags); in radeon_irq_kms_pflip_irq_put()
459 spin_lock_irqsave(&rdev->irq.lock, irqflags); in radeon_irq_kms_enable_afmt()
460 rdev->irq.afmt[block] = true; in radeon_irq_kms_enable_afmt()
462 spin_unlock_irqrestore(&rdev->irq.lock, irqflags); in radeon_irq_kms_enable_afmt()
481 spin_lock_irqsave(&rdev->irq.lock, irqflags); in radeon_irq_kms_disable_afmt()
482 rdev->irq.afmt[block] = false; in radeon_irq_kms_disable_afmt()
484 spin_unlock_irqrestore(&rdev->irq.lock, irqflags); in radeon_irq_kms_disable_afmt()
503 spin_lock_irqsave(&rdev->irq.lock, irqflags); in radeon_irq_kms_enable_hpd()
505 rdev->irq.hpd[i] |= !!(hpd_mask & (1 << i)); in radeon_irq_kms_enable_hpd()
507 spin_unlock_irqrestore(&rdev->irq.lock, irqflags); in radeon_irq_kms_enable_hpd()
526 spin_lock_irqsave(&rdev->irq.lock, irqflags); in radeon_irq_kms_disable_hpd()
528 rdev->irq.hpd[i] &= !(hpd_mask & (1 << i)); in radeon_irq_kms_disable_hpd()
530 spin_unlock_irqrestore(&rdev->irq.lock, irqflags); in radeon_irq_kms_disable_hpd()