35 #define RADEON_WAIT_IDLE_TIMEOUT 200
95 unsigned long irqflags;
103 rdev->
irq.hpd[i] =
false;
105 rdev->
irq.crtc_vblank_int[
i] =
false;
107 rdev->
irq.afmt[
i] =
false;
110 spin_unlock_irqrestore(&rdev->
irq.lock, irqflags);
125 dev->max_vblank_count = 0x001fffff;
139 unsigned long irqflags;
150 rdev->
irq.hpd[i] =
false;
152 rdev->
irq.crtc_vblank_int[
i] =
false;
154 rdev->
irq.afmt[
i] =
false;
157 spin_unlock_irqrestore(&rdev->
irq.lock, irqflags);
188 if ((rdev->
pdev->device == 0x791f) &&
189 (rdev->
pdev->subsystem_vendor == 0x103c) &&
190 (rdev->
pdev->subsystem_device == 0x30c2))
194 if ((rdev->
pdev->device == 0x791f) &&
195 (rdev->
pdev->subsystem_vendor == 0x1028) &&
196 (rdev->
pdev->subsystem_device == 0x01fc))
200 if ((rdev->
pdev->device == 0x791f) &&
201 (rdev->
pdev->subsystem_vendor == 0x1028) &&
202 (rdev->
pdev->subsystem_device == 0x01fd))
206 if ((rdev->
pdev->device == 0x791f) &&
207 (rdev->
pdev->subsystem_vendor == 0x107b) &&
208 (rdev->
pdev->subsystem_device == 0x0185))
255 if (radeon_msi_ok(rdev)) {
256 int ret = pci_enable_msi(rdev->
pdev);
262 rdev->
irq.installed =
true;
265 rdev->
irq.installed =
false;
268 DRM_INFO(
"radeon: irq initialized.\n");
282 if (rdev->
irq.installed) {
284 rdev->
irq.installed =
false;
303 unsigned long irqflags;
305 if (!rdev->
ddev->irq_enabled)
311 spin_unlock_irqrestore(&rdev->
irq.lock, irqflags);
327 unsigned long irqflags;
329 if (!rdev->
ddev->irq_enabled)
335 spin_unlock_irqrestore(&rdev->
irq.lock, irqflags);
350 unsigned long irqflags;
355 if (!rdev->
ddev->irq_enabled)
361 spin_unlock_irqrestore(&rdev->
irq.lock, irqflags);
376 unsigned long irqflags;
381 if (!rdev->
ddev->irq_enabled)
387 spin_unlock_irqrestore(&rdev->
irq.lock, irqflags);
401 unsigned long irqflags;
406 spin_unlock_irqrestore(&rdev->
irq.lock, irqflags);
420 unsigned long irqflags;
425 spin_unlock_irqrestore(&rdev->
irq.lock, irqflags);
438 unsigned long irqflags;
443 rdev->
irq.hpd[i] |= !!(hpd_mask & (1 << i));
445 spin_unlock_irqrestore(&rdev->
irq.lock, irqflags);
458 unsigned long irqflags;
463 rdev->
irq.hpd[i] &= !(hpd_mask & (1 << i));
465 spin_unlock_irqrestore(&rdev->
irq.lock, irqflags);