Subversion Repositories Kolibri OS

Rev

Rev 5271 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5271 Rev 6104
Line 30... Line 30...
30
#include 
30
#include 
31
#include "radeon_reg.h"
31
#include "radeon_reg.h"
32
#include "radeon.h"
32
#include "radeon.h"
33
#include "atom.h"
33
#include "atom.h"
Line 34... Line -...
34
 
-
 
35
#define RADEON_WAIT_IDLE_TIMEOUT 200
-
 
36
 
-
 
37
 
34
 
Line -... Line 35...
-
 
35
#include 
Line 38... Line 36...
38
extern int irq_override;
36
 
39
 
37
#define RADEON_WAIT_IDLE_TIMEOUT 200
40
 
38
 
41
/**
39
/**
Line 95... Line 93...
95
 * Handles stuff to be done after enabling irqs (all asics).
93
 * Handles stuff to be done after enabling irqs (all asics).
96
 * Returns 0 on success.
94
 * Returns 0 on success.
97
 */
95
 */
98
int radeon_driver_irq_postinstall_kms(struct drm_device *dev)
96
int radeon_driver_irq_postinstall_kms(struct drm_device *dev)
99
{
97
{
-
 
98
	struct radeon_device *rdev = dev->dev_private;
-
 
99
 
-
 
100
	if (ASIC_IS_AVIVO(rdev))
-
 
101
		dev->max_vblank_count = 0x00ffffff;
-
 
102
	else
100
	dev->max_vblank_count = 0x001fffff;
103
		dev->max_vblank_count = 0x001fffff;
-
 
104
 
101
	return 0;
105
	return 0;
102
}
106
}
Line 103... Line 107...
103
 
107
 
104
/**
108
/**
Line 146... Line 150...
146
int radeon_irq_kms_init(struct radeon_device *rdev)
150
int radeon_irq_kms_init(struct radeon_device *rdev)
147
{
151
{
148
	int r = 0;
152
	int r = 0;
Line 149... Line 153...
149
 
153
 
-
 
154
	spin_lock_init(&rdev->irq.lock);
-
 
155
	r = drm_vblank_init(rdev->ddev, rdev->num_crtc);
-
 
156
	if (r) {
-
 
157
		return r;
150
	spin_lock_init(&rdev->irq.lock);
158
	}
151
	/* enable msi */
159
	/* enable msi */
Line 152... Line 160...
152
	rdev->msi_enabled = 0;
160
	rdev->msi_enabled = 0;
153
 
161
 
Line 170... Line 178...
170
 *
178
 *
171
 * Tears down the work irq handlers, vblank handlers, MSIs, etc. (all asics).
179
 * Tears down the work irq handlers, vblank handlers, MSIs, etc. (all asics).
172
 */
180
 */
173
void radeon_irq_kms_fini(struct radeon_device *rdev)
181
void radeon_irq_kms_fini(struct radeon_device *rdev)
174
{
182
{
175
//	drm_vblank_cleanup(rdev->ddev);
183
	drm_vblank_cleanup(rdev->ddev);
176
	if (rdev->irq.installed) {
184
	if (rdev->irq.installed) {
177
//		drm_irq_uninstall(rdev->ddev);
185
//		drm_irq_uninstall(rdev->ddev);
178
		rdev->irq.installed = false;
186
		rdev->irq.installed = false;
179
//       if (rdev->msi_enabled)
187
//       if (rdev->msi_enabled)
180
//			pci_disable_msi(rdev->pdev);
188
//			pci_disable_msi(rdev->pdev);