Subversion Repositories Kolibri OS

Rev

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

Rev 3120 Rev 3192
Line 1024... Line 1024...
1024
        printk(KERN_WARNING "radeon: No suitable DMA available.\n");
1024
        printk(KERN_WARNING "radeon: No suitable DMA available.\n");
1025
    }
1025
    }
Line 1026... Line 1026...
1026
 
1026
 
1027
    /* Registers mapping */
1027
    /* Registers mapping */
-
 
1028
    /* TODO: block userspace mapping of io register */
1028
    /* TODO: block userspace mapping of io register */
1029
	spin_lock_init(&rdev->mmio_idx_lock);
1029
    rdev->rmmio_base = pci_resource_start(rdev->pdev, 2);
1030
    rdev->rmmio_base = pci_resource_start(rdev->pdev, 2);
1030
    rdev->rmmio_size = pci_resource_len(rdev->pdev, 2);
1031
    rdev->rmmio_size = pci_resource_len(rdev->pdev, 2);
1031
	rdev->rmmio = ioremap(rdev->rmmio_base, rdev->rmmio_size);
1032
	rdev->rmmio = ioremap(rdev->rmmio_base, rdev->rmmio_size);
1032
    if (rdev->rmmio == NULL) {
1033
    if (rdev->rmmio == NULL) {
Line 1049... Line 1050...
1049
 
1050
 
1050
	r = radeon_init(rdev);
1051
	r = radeon_init(rdev);
1051
	if (r)
1052
	if (r)
Line -... Line 1053...
-
 
1053
        return r;
-
 
1054
 
-
 
1055
//   r = radeon_ib_ring_tests(rdev);
-
 
1056
//   if (r)
1052
        return r;
1057
//       DRM_ERROR("ib ring test failed (%d).\n", r);
1053
 
1058
 
1054
	if (rdev->flags & RADEON_IS_AGP && !rdev->accel_working) {
1059
	if (rdev->flags & RADEON_IS_AGP && !rdev->accel_working) {
1055
		/* Acceleration not working on AGP card try again
1060
		/* Acceleration not working on AGP card try again
1056
		 * with fallback to PCI or PCIE GART
1061
		 * with fallback to PCI or PCIE GART
Line 1124... Line 1129...
1124
                        ring_sizes[i], ring_data[i]);
1129
                        ring_sizes[i], ring_data[i]);
1125
            ring_sizes[i] = 0;
1130
            ring_sizes[i] = 0;
1126
            ring_data[i] = NULL;
1131
            ring_data[i] = NULL;
1127
        }
1132
        }
Line 1128... Line 1133...
1128
 
1133
 
1129
        r = radeon_ib_ring_tests(rdev);
1134
//        r = radeon_ib_ring_tests(rdev);
1130
        if (r) {
1135
//        if (r) {
1131
            dev_err(rdev->dev, "ib ring test failed (%d).\n", r);
1136
//            dev_err(rdev->dev, "ib ring test failed (%d).\n", r);
1132
            if (saved) {
1137
//            if (saved) {
1133
                saved = false;
1138
//                saved = false;
1134
                radeon_suspend(rdev);
1139
//                radeon_suspend(rdev);
1135
                goto retry;
1140
//                goto retry;
1136
            }
1141
//            }
1137
        }
1142
//        }
1138
    } else {
1143
    } else {
1139
        for (i = 0; i < RADEON_NUM_RINGS; ++i) {
1144
        for (i = 0; i < RADEON_NUM_RINGS; ++i) {
1140
            kfree(ring_data[i]);
1145
            kfree(ring_data[i]);
1141
        }
1146
        }
Line 1150... Line 1155...
1150
//    up_write(&rdev->exclusive_lock);
1155
//    up_write(&rdev->exclusive_lock);
1151
    return r;
1156
    return r;
1152
}
1157
}
Line 1153... Line -...
1153
 
-
 
1154
 
1158
 
1155
 
1159
 
1156
/*
1160
/*
1157
 * Driver load/unload
1161
 * Driver load/unload
1158
 */
1162
 */
Line 1432... Line 1436...
1432
    if( cmdline && *cmdline )
1436
    if( cmdline && *cmdline )
1433
        parse_cmdline(cmdline, &usermode, log, &radeon_modeset);
1437
        parse_cmdline(cmdline, &usermode, log, &radeon_modeset);
Line 1434... Line 1438...
1434
 
1438
 
1435
    if(!dbg_open(log))
1439
    if(!dbg_open(log))
1436
    {
1440
    {
Line 1437... Line 1441...
1437
        strcpy(log, "/RD/1/DRIVERS/atikms.log");
1441
        strcpy(log, "/TMP1/1/atikms.log");
1438
 
1442
 
1439
        if(!dbg_open(log))
1443
        if(!dbg_open(log))
1440
        {
1444
        {
1441
            printf("Can't open %s\nExit\n", log);
1445
            printf("Can't open %s\nExit\n", log);
1442
            return 0;
1446
            return 0;
1443
        };
1447
        };
Line 1444... Line 1448...
1444
    }
1448
    }
Line 1445... Line 1449...
1445
    dbgprintf("Radeon RC12 preview 1 cmdline %s\n", cmdline);
1449
    dbgprintf("Radeon RC13 cmdline %s\n", cmdline);
Line 1489... Line 1493...
1489
        if( class == PCI_CLASS_DISPLAY_VGA)
1493
        if( class == PCI_CLASS_DISPLAY_VGA)
1490
            ret = 1;
1494
            ret = 1;
1491
    }
1495
    }
1492
    return ret;
1496
    return ret;
1493
}
1497
}
-
 
1498
 
-
 
1499
unsigned int hweight32(unsigned int w)
-
 
1500
{
-
 
1501
    unsigned int res = w - ((w >> 1) & 0x55555555);
-
 
1502
    res = (res & 0x33333333) + ((res >> 2) & 0x33333333);
-
 
1503
    res = (res + (res >> 4)) & 0x0F0F0F0F;
-
 
1504
    res = res + (res >> 8);
-
 
1505
    return (res + (res >> 16)) & 0x000000FF;
-
 
1506
}
-
 
1507