Subversion Repositories Kolibri OS

Rev

Rev 5078 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5078 Rev 6104
Line 26... Line 26...
26
 */
26
 */
27
#include 
27
#include 
28
#include "radeon.h"
28
#include "radeon.h"
29
#include 
29
#include 
Line 30... Line 30...
30
 
30
 
Line 31... Line 31...
31
#if __OS_HAS_AGP
31
#if IS_ENABLED(CONFIG_AGP)
32
 
32
 
33
struct radeon_agpmode_quirk {
33
struct radeon_agpmode_quirk {
34
	u32 hostbridge_vendor;
34
	u32 hostbridge_vendor;
Line 52... Line 52...
52
	{ PCI_VENDOR_ID_INTEL, 0x3340, PCI_VENDOR_ID_ATI, 0x4c59,
52
	{ PCI_VENDOR_ID_INTEL, 0x3340, PCI_VENDOR_ID_ATI, 0x4c59,
53
		PCI_VENDOR_ID_IBM, 0x052f, 1},
53
		PCI_VENDOR_ID_IBM, 0x052f, 1},
54
	/* Intel 82855PM host bridge / Mobility 9600 M10 RV350 Needs AGPMode 1 (lp #195051) */
54
	/* Intel 82855PM host bridge / Mobility 9600 M10 RV350 Needs AGPMode 1 (lp #195051) */
55
	{ PCI_VENDOR_ID_INTEL, 0x3340, PCI_VENDOR_ID_ATI, 0x4e50,
55
	{ PCI_VENDOR_ID_INTEL, 0x3340, PCI_VENDOR_ID_ATI, 0x4e50,
56
		PCI_VENDOR_ID_IBM, 0x0550, 1},
56
		PCI_VENDOR_ID_IBM, 0x0550, 1},
-
 
57
	/* Intel 82855PM host bridge / RV250/M9 GL [Mobility FireGL 9000/Radeon 9000] needs AGPMode 1 (Thinkpad T40p) */
-
 
58
	{ PCI_VENDOR_ID_INTEL, 0x3340, PCI_VENDOR_ID_ATI, 0x4c66,
-
 
59
		PCI_VENDOR_ID_IBM, 0x054d, 1},
57
	/* Intel 82855PM host bridge / Mobility M7 needs AGPMode 1 */
60
	/* Intel 82855PM host bridge / Mobility M7 needs AGPMode 1 */
58
	{ PCI_VENDOR_ID_INTEL, 0x3340, PCI_VENDOR_ID_ATI, 0x4c57,
61
	{ PCI_VENDOR_ID_INTEL, 0x3340, PCI_VENDOR_ID_ATI, 0x4c57,
59
		PCI_VENDOR_ID_IBM, 0x0530, 1},
62
		PCI_VENDOR_ID_IBM, 0x0530, 1},
60
	/* Intel 82855PM host bridge / FireGL Mobility T2 RV350 Needs AGPMode 2 (fdo #20647) */
63
	/* Intel 82855PM host bridge / FireGL Mobility T2 RV350 Needs AGPMode 2 (fdo #20647) */
61
	{ PCI_VENDOR_ID_INTEL, 0x3340, PCI_VENDOR_ID_ATI, 0x4e54,
64
	{ PCI_VENDOR_ID_INTEL, 0x3340, PCI_VENDOR_ID_ATI, 0x4e54,
Line 121... Line 124...
121
};
124
};
122
#endif
125
#endif
Line 123... Line 126...
123
 
126
 
124
int radeon_agp_init(struct radeon_device *rdev)
127
int radeon_agp_init(struct radeon_device *rdev)
125
{
128
{
126
#if __OS_HAS_AGP
129
#if IS_ENABLED(CONFIG_AGP)
127
	struct radeon_agpmode_quirk *p = radeon_agpmode_quirk_list;
130
	struct radeon_agpmode_quirk *p = radeon_agpmode_quirk_list;
128
	struct drm_agp_mode mode;
131
	struct drm_agp_mode mode;
129
	struct drm_agp_info info;
132
	struct drm_agp_info info;
130
	uint32_t agp_status;
133
	uint32_t agp_status;
Line 255... Line 258...
255
#endif
258
#endif
256
}
259
}
Line 257... Line 260...
257
 
260
 
258
void radeon_agp_resume(struct radeon_device *rdev)
261
void radeon_agp_resume(struct radeon_device *rdev)
259
{
262
{
260
#if __OS_HAS_AGP
263
#if IS_ENABLED(CONFIG_AGP)
261
	int r;
264
	int r;
262
	if (rdev->flags & RADEON_IS_AGP) {
265
	if (rdev->flags & RADEON_IS_AGP) {
263
		r = radeon_agp_init(rdev);
266
		r = radeon_agp_init(rdev);
264
		if (r)
267
		if (r)
Line 267... Line 270...
267
#endif
270
#endif
268
}
271
}
Line 269... Line 272...
269
 
272
 
270
void radeon_agp_fini(struct radeon_device *rdev)
273
void radeon_agp_fini(struct radeon_device *rdev)
271
{
274
{
272
#if __OS_HAS_AGP
275
#if IS_ENABLED(CONFIG_AGP)
273
		if (rdev->ddev->agp && rdev->ddev->agp->acquired) {
276
	if (rdev->ddev->agp && rdev->ddev->agp->acquired) {
274
			drm_agp_release(rdev->ddev);
277
		drm_agp_release(rdev->ddev);
275
	}
278
	}
276
#endif
279
#endif