Subversion Repositories Kolibri OS

Rev

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

Rev 1129 Rev 1179
Line 33... Line 33...
33
/*
33
/*
34
 * BIOS.
34
 * BIOS.
35
 */
35
 */
36
static bool radeon_read_bios(struct radeon_device *rdev)
36
static bool radeon_read_bios(struct radeon_device *rdev)
37
{
37
{
38
    uint8_t  *bios;
38
	uint8_t __iomem *bios;
39
    size_t    size;
39
    size_t    size;
Line 40... Line 40...
40
 
40
 
41
	rdev->bios = NULL;
41
	rdev->bios = NULL;
42
    bios = (uint8_t*)pci_map_rom(rdev->pdev, &size);
42
    bios = (uint8_t*)pci_map_rom(rdev->pdev, &size);
Line 46... Line 46...
46
 
46
 
47
	if (size == 0 || bios[0] != 0x55 || bios[1] != 0xaa) {
47
	if (size == 0 || bios[0] != 0x55 || bios[1] != 0xaa) {
48
//       pci_unmap_rom(rdev->pdev, bios);
48
//       pci_unmap_rom(rdev->pdev, bios);
49
		return false;
49
		return false;
50
	}
50
	}
51
    rdev->bios = malloc(size);
51
	rdev->bios = kmalloc(size, GFP_KERNEL);
52
	if (rdev->bios == NULL) {
52
	if (rdev->bios == NULL) {
53
//       pci_unmap_rom(rdev->pdev, bios);
53
//       pci_unmap_rom(rdev->pdev, bios);
54
		return false;
54
		return false;
55
	}
55
	}
56
	memcpy(rdev->bios, bios, size);
56
	memcpy(rdev->bios, bios, size);
57
//   pci_unmap_rom(rdev->pdev, bios);
57
//   pci_unmap_rom(rdev->pdev, bios);
58
	return true;
58
	return true;
Line 59... Line -...
59
}
-
 
60
 
59
}
61
 
60
 
62
static bool r700_read_disabled_bios(struct radeon_device *rdev)
61
static bool r700_read_disabled_bios(struct radeon_device *rdev)
63
{
62
{
64
	uint32_t viph_control;
63
	uint32_t viph_control;
Line 350... Line 349...
350
		return avivo_read_disabled_bios(rdev);
349
		return avivo_read_disabled_bios(rdev);
351
	else
350
	else
352
		return legacy_read_disabled_bios(rdev);
351
		return legacy_read_disabled_bios(rdev);
353
}
352
}
Line 354... Line -...
354
 
-
 
355
 
353
 
356
bool radeon_get_bios(struct radeon_device *rdev)
354
bool radeon_get_bios(struct radeon_device *rdev)
357
{
355
{
358
	bool r;
356
	bool r;
Line 359... Line -...
359
	uint16_t tmp;
-
 
360
 
-
 
361
    dbgprintf("%s\n\r",__FUNCTION__);
357
	uint16_t tmp;
362
 
358
 
363
	r = radeon_read_bios(rdev);
359
	r = radeon_read_bios(rdev);
364
	if (r == false) {
360
	if (r == false) {
365
		r = radeon_read_disabled_bios(rdev);
361
		r = radeon_read_disabled_bios(rdev);
Line 383... Line 379...
383
		rdev->is_atom_bios = true;
379
		rdev->is_atom_bios = true;
384
	} else {
380
	} else {
385
		rdev->is_atom_bios = false;
381
		rdev->is_atom_bios = false;
386
	}
382
	}
Line 387... Line 383...
387
 
383
 
388
    dbgprintf("%sBIOS detected\n", rdev->is_atom_bios ? "ATOM" : "COM");
384
	DRM_DEBUG("%sBIOS detected\n", rdev->is_atom_bios ? "ATOM" : "COM");
389
	return true;
385
	return true;
390
free_bios:
386
free_bios:
391
	kfree(rdev->bios);
387
	kfree(rdev->bios);
392
	rdev->bios = NULL;
388
	rdev->bios = NULL;