Rev 2004 | Rev 2160 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2004 | Rev 2005 | ||
---|---|---|---|
Line 1374... | Line 1374... | ||
1374 | r = cayman_pcie_gart_enable(rdev); |
1374 | r = cayman_pcie_gart_enable(rdev); |
1375 | if (r) |
1375 | if (r) |
1376 | return r; |
1376 | return r; |
1377 | cayman_gpu_init(rdev); |
1377 | cayman_gpu_init(rdev); |
Line -... | Line 1378... | ||
- | 1378 | ||
- | 1379 | r = evergreen_blit_init(rdev); |
|
- | 1380 | if (r) { |
|
- | 1381 | // evergreen_blit_fini(rdev); |
|
- | 1382 | rdev->asic->copy = NULL; |
|
- | 1383 | dev_warn(rdev->dev, "failed blitter (%d) falling back to memcpy\n", r); |
|
Line 1378... | Line 1384... | ||
1378 | 1384 | } |
|
- | 1385 | ||
- | 1386 | /* allocate wb buffer */ |
|
- | 1387 | r = radeon_wb_init(rdev); |
|
Line 1379... | Line 1388... | ||
1379 | 1388 | if (r) |
|
- | 1389 | return r; |
|
- | 1390 | ||
- | 1391 | /* Enable IRQ */ |
|
- | 1392 | r = r600_irq_init(rdev); |
|
- | 1393 | if (r) { |
|
- | 1394 | DRM_ERROR("radeon: IH init failed (%d).\n", r); |
|
- | 1395 | // radeon_irq_kms_fini(rdev); |
|
Line 1380... | Line 1396... | ||
1380 | /* allocate wb buffer */ |
1396 | return r; |
1381 | 1397 | } |
|
1382 | /* Enable IRQ */ |
1398 | evergreen_irq_set(rdev); |
1383 | 1399 | ||
Line 1440... | Line 1456... | ||
1440 | /* Initialize surface registers */ |
1456 | /* Initialize surface registers */ |
1441 | radeon_surface_init(rdev); |
1457 | radeon_surface_init(rdev); |
1442 | /* Initialize clocks */ |
1458 | /* Initialize clocks */ |
1443 | radeon_get_clock_info(rdev->ddev); |
1459 | radeon_get_clock_info(rdev->ddev); |
1444 | /* Fence driver */ |
1460 | /* Fence driver */ |
- | 1461 | r = radeon_fence_driver_init(rdev); |
|
- | 1462 | if (r) |
|
- | 1463 | return r; |
|
1445 | /* initialize memory controller */ |
1464 | /* initialize memory controller */ |
1446 | r = evergreen_mc_init(rdev); |
1465 | r = evergreen_mc_init(rdev); |
1447 | if (r) |
1466 | if (r) |
1448 | return r; |
1467 | return r; |
1449 | /* Memory manager */ |
1468 | /* Memory manager */ |
1450 | r = radeon_bo_init(rdev); |
1469 | r = radeon_bo_init(rdev); |
1451 | if (r) |
1470 | if (r) |
1452 | return r; |
1471 | return r; |
Line -... | Line 1472... | ||
- | 1472 | ||
- | 1473 | r = radeon_irq_kms_init(rdev); |
|
- | 1474 | if (r) |
|
Line 1453... | Line 1475... | ||
1453 | 1475 | return r; |
|
1454 | 1476 | ||
Line -... | Line 1477... | ||
- | 1477 | rdev->cp.ring_obj = NULL; |
|
- | 1478 | r600_ring_init(rdev, 1024 * 1024); |
|
Line 1455... | Line 1479... | ||
1455 | rdev->cp.ring_obj = NULL; |
1479 | |
1456 | r600_ring_init(rdev, 1024 * 1024); |
1480 | rdev->ih.ring_obj = NULL; |
1457 | 1481 | r600_ih_ring_init(rdev, 64 * 1024); |
|
Line 1465... | Line 1489... | ||
1465 | if (r) { |
1489 | if (r) { |
1466 | dev_err(rdev->dev, "disabling GPU acceleration\n"); |
1490 | dev_err(rdev->dev, "disabling GPU acceleration\n"); |
1467 | rdev->accel_working = false; |
1491 | rdev->accel_working = false; |
1468 | } |
1492 | } |
1469 | if (rdev->accel_working) { |
1493 | if (rdev->accel_working) { |
- | 1494 | r = radeon_ib_pool_init(rdev); |
|
- | 1495 | if (r) { |
|
- | 1496 | DRM_ERROR("radeon: failed initializing IB pool (%d).\n", r); |
|
- | 1497 | rdev->accel_working = false; |
|
- | 1498 | } |
|
- | 1499 | r = r600_ib_test(rdev); |
|
- | 1500 | if (r) { |
|
- | 1501 | DRM_ERROR("radeon: failed testing IB (%d).\n", r); |
|
- | 1502 | rdev->accel_working = false; |
|
- | 1503 | } |
|
1470 | } |
1504 | } |
Line 1471... | Line 1505... | ||
1471 | 1505 | ||
1472 | /* Don't start up if the MC ucode is missing. |
1506 | /* Don't start up if the MC ucode is missing. |
1473 | * The default clocks and voltages before the MC ucode |
1507 | * The default clocks and voltages before the MC ucode |