diff options
| -rw-r--r-- | drivers/gpu/drm/radeon/cik.c | 5 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/evergreen.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/evergreen_smc.h | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/ni.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/r100.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/r300.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/r420.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/r520.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/r600.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_device.c | 5 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_ttm.c | 5 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/rs400.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/rs600.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/rs690.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/rv515.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/rv770.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/si.c | 3 |
17 files changed, 22 insertions, 26 deletions
diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c index e6419ca7cd37..e22be8458d92 100644 --- a/drivers/gpu/drm/radeon/cik.c +++ b/drivers/gpu/drm/radeon/cik.c | |||
| @@ -3046,7 +3046,7 @@ static u32 cik_create_bitmask(u32 bit_width) | |||
| 3046 | } | 3046 | } |
| 3047 | 3047 | ||
| 3048 | /** | 3048 | /** |
| 3049 | * cik_select_se_sh - select which SE, SH to address | 3049 | * cik_get_rb_disabled - computes the mask of disabled RBs |
| 3050 | * | 3050 | * |
| 3051 | * @rdev: radeon_device pointer | 3051 | * @rdev: radeon_device pointer |
| 3052 | * @max_rb_num: max RBs (render backends) for the asic | 3052 | * @max_rb_num: max RBs (render backends) for the asic |
| @@ -7902,7 +7902,8 @@ int cik_resume(struct radeon_device *rdev) | |||
| 7902 | /* init golden registers */ | 7902 | /* init golden registers */ |
| 7903 | cik_init_golden_registers(rdev); | 7903 | cik_init_golden_registers(rdev); |
| 7904 | 7904 | ||
| 7905 | radeon_pm_resume(rdev); | 7905 | if (rdev->pm.pm_method == PM_METHOD_DPM) |
| 7906 | radeon_pm_resume(rdev); | ||
| 7906 | 7907 | ||
| 7907 | rdev->accel_working = true; | 7908 | rdev->accel_working = true; |
| 7908 | r = cik_startup(rdev); | 7909 | r = cik_startup(rdev); |
diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c index 8a2c010b7dc5..27b0ff16082e 100644 --- a/drivers/gpu/drm/radeon/evergreen.c +++ b/drivers/gpu/drm/radeon/evergreen.c | |||
| @@ -5299,7 +5299,8 @@ int evergreen_resume(struct radeon_device *rdev) | |||
| 5299 | /* init golden registers */ | 5299 | /* init golden registers */ |
| 5300 | evergreen_init_golden_registers(rdev); | 5300 | evergreen_init_golden_registers(rdev); |
| 5301 | 5301 | ||
| 5302 | radeon_pm_resume(rdev); | 5302 | if (rdev->pm.pm_method == PM_METHOD_DPM) |
| 5303 | radeon_pm_resume(rdev); | ||
| 5303 | 5304 | ||
| 5304 | rdev->accel_working = true; | 5305 | rdev->accel_working = true; |
| 5305 | r = evergreen_startup(rdev); | 5306 | r = evergreen_startup(rdev); |
diff --git a/drivers/gpu/drm/radeon/evergreen_smc.h b/drivers/gpu/drm/radeon/evergreen_smc.h index 76ada8cfe902..3a03ba37d043 100644 --- a/drivers/gpu/drm/radeon/evergreen_smc.h +++ b/drivers/gpu/drm/radeon/evergreen_smc.h | |||
| @@ -57,7 +57,7 @@ typedef struct SMC_Evergreen_MCRegisters SMC_Evergreen_MCRegisters; | |||
| 57 | 57 | ||
| 58 | #define EVERGREEN_SMC_FIRMWARE_HEADER_LOCATION 0x100 | 58 | #define EVERGREEN_SMC_FIRMWARE_HEADER_LOCATION 0x100 |
| 59 | 59 | ||
| 60 | #define EVERGREEN_SMC_FIRMWARE_HEADER_softRegisters 0x0 | 60 | #define EVERGREEN_SMC_FIRMWARE_HEADER_softRegisters 0x8 |
| 61 | #define EVERGREEN_SMC_FIRMWARE_HEADER_stateTable 0xC | 61 | #define EVERGREEN_SMC_FIRMWARE_HEADER_stateTable 0xC |
| 62 | #define EVERGREEN_SMC_FIRMWARE_HEADER_mcRegisterTable 0x20 | 62 | #define EVERGREEN_SMC_FIRMWARE_HEADER_mcRegisterTable 0x20 |
| 63 | 63 | ||
diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c index ea932ac66fc6..bf6300cfd62d 100644 --- a/drivers/gpu/drm/radeon/ni.c +++ b/drivers/gpu/drm/radeon/ni.c | |||
| @@ -2105,7 +2105,8 @@ int cayman_resume(struct radeon_device *rdev) | |||
| 2105 | /* init golden registers */ | 2105 | /* init golden registers */ |
| 2106 | ni_init_golden_registers(rdev); | 2106 | ni_init_golden_registers(rdev); |
| 2107 | 2107 | ||
| 2108 | radeon_pm_resume(rdev); | 2108 | if (rdev->pm.pm_method == PM_METHOD_DPM) |
| 2109 | radeon_pm_resume(rdev); | ||
| 2109 | 2110 | ||
| 2110 | rdev->accel_working = true; | 2111 | rdev->accel_working = true; |
| 2111 | r = cayman_startup(rdev); | 2112 | r = cayman_startup(rdev); |
diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c index ef024ce3f7cc..3cc78bb66042 100644 --- a/drivers/gpu/drm/radeon/r100.c +++ b/drivers/gpu/drm/radeon/r100.c | |||
| @@ -3942,8 +3942,6 @@ int r100_resume(struct radeon_device *rdev) | |||
| 3942 | /* Initialize surface registers */ | 3942 | /* Initialize surface registers */ |
| 3943 | radeon_surface_init(rdev); | 3943 | radeon_surface_init(rdev); |
| 3944 | 3944 | ||
| 3945 | radeon_pm_resume(rdev); | ||
| 3946 | |||
| 3947 | rdev->accel_working = true; | 3945 | rdev->accel_working = true; |
| 3948 | r = r100_startup(rdev); | 3946 | r = r100_startup(rdev); |
| 3949 | if (r) { | 3947 | if (r) { |
diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c index 7c63ef840e86..0b658b34b33a 100644 --- a/drivers/gpu/drm/radeon/r300.c +++ b/drivers/gpu/drm/radeon/r300.c | |||
| @@ -1430,8 +1430,6 @@ int r300_resume(struct radeon_device *rdev) | |||
| 1430 | /* Initialize surface registers */ | 1430 | /* Initialize surface registers */ |
| 1431 | radeon_surface_init(rdev); | 1431 | radeon_surface_init(rdev); |
| 1432 | 1432 | ||
| 1433 | radeon_pm_resume(rdev); | ||
| 1434 | |||
| 1435 | rdev->accel_working = true; | 1433 | rdev->accel_working = true; |
| 1436 | r = r300_startup(rdev); | 1434 | r = r300_startup(rdev); |
| 1437 | if (r) { | 1435 | if (r) { |
diff --git a/drivers/gpu/drm/radeon/r420.c b/drivers/gpu/drm/radeon/r420.c index 3768aab2710b..802b19220a21 100644 --- a/drivers/gpu/drm/radeon/r420.c +++ b/drivers/gpu/drm/radeon/r420.c | |||
| @@ -325,8 +325,6 @@ int r420_resume(struct radeon_device *rdev) | |||
| 325 | /* Initialize surface registers */ | 325 | /* Initialize surface registers */ |
| 326 | radeon_surface_init(rdev); | 326 | radeon_surface_init(rdev); |
| 327 | 327 | ||
| 328 | radeon_pm_resume(rdev); | ||
| 329 | |||
| 330 | rdev->accel_working = true; | 328 | rdev->accel_working = true; |
| 331 | r = r420_startup(rdev); | 329 | r = r420_startup(rdev); |
| 332 | if (r) { | 330 | if (r) { |
diff --git a/drivers/gpu/drm/radeon/r520.c b/drivers/gpu/drm/radeon/r520.c index e209eb75024f..98d6053c36c6 100644 --- a/drivers/gpu/drm/radeon/r520.c +++ b/drivers/gpu/drm/radeon/r520.c | |||
| @@ -240,8 +240,6 @@ int r520_resume(struct radeon_device *rdev) | |||
| 240 | /* Initialize surface registers */ | 240 | /* Initialize surface registers */ |
| 241 | radeon_surface_init(rdev); | 241 | radeon_surface_init(rdev); |
| 242 | 242 | ||
| 243 | radeon_pm_resume(rdev); | ||
| 244 | |||
| 245 | rdev->accel_working = true; | 243 | rdev->accel_working = true; |
| 246 | r = r520_startup(rdev); | 244 | r = r520_startup(rdev); |
| 247 | if (r) { | 245 | if (r) { |
diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c index cdbc4171fe73..647ef4079217 100644 --- a/drivers/gpu/drm/radeon/r600.c +++ b/drivers/gpu/drm/radeon/r600.c | |||
| @@ -2968,7 +2968,8 @@ int r600_resume(struct radeon_device *rdev) | |||
| 2968 | /* post card */ | 2968 | /* post card */ |
| 2969 | atom_asic_init(rdev->mode_info.atom_context); | 2969 | atom_asic_init(rdev->mode_info.atom_context); |
| 2970 | 2970 | ||
| 2971 | radeon_pm_resume(rdev); | 2971 | if (rdev->pm.pm_method == PM_METHOD_DPM) |
| 2972 | radeon_pm_resume(rdev); | ||
| 2972 | 2973 | ||
| 2973 | rdev->accel_working = true; | 2974 | rdev->accel_working = true; |
| 2974 | r = r600_startup(rdev); | 2975 | r = r600_startup(rdev); |
diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c index b012cbbc3ed5..044bc98fb459 100644 --- a/drivers/gpu/drm/radeon/radeon_device.c +++ b/drivers/gpu/drm/radeon/radeon_device.c | |||
| @@ -1521,13 +1521,16 @@ int radeon_resume_kms(struct drm_device *dev, bool resume, bool fbcon) | |||
| 1521 | if (r) | 1521 | if (r) |
| 1522 | DRM_ERROR("ib ring test failed (%d).\n", r); | 1522 | DRM_ERROR("ib ring test failed (%d).\n", r); |
| 1523 | 1523 | ||
| 1524 | if (rdev->pm.dpm_enabled) { | 1524 | if ((rdev->pm.pm_method == PM_METHOD_DPM) && rdev->pm.dpm_enabled) { |
| 1525 | /* do dpm late init */ | 1525 | /* do dpm late init */ |
| 1526 | r = radeon_pm_late_init(rdev); | 1526 | r = radeon_pm_late_init(rdev); |
| 1527 | if (r) { | 1527 | if (r) { |
| 1528 | rdev->pm.dpm_enabled = false; | 1528 | rdev->pm.dpm_enabled = false; |
| 1529 | DRM_ERROR("radeon_pm_late_init failed, disabling dpm\n"); | 1529 | DRM_ERROR("radeon_pm_late_init failed, disabling dpm\n"); |
| 1530 | } | 1530 | } |
| 1531 | } else { | ||
| 1532 | /* resume old pm late */ | ||
| 1533 | radeon_pm_resume(rdev); | ||
| 1531 | } | 1534 | } |
| 1532 | 1535 | ||
| 1533 | radeon_restore_bios_scratch_regs(rdev); | 1536 | radeon_restore_bios_scratch_regs(rdev); |
diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c index 77f5b0c3edb8..040a2a10ea17 100644 --- a/drivers/gpu/drm/radeon/radeon_ttm.c +++ b/drivers/gpu/drm/radeon/radeon_ttm.c | |||
| @@ -714,6 +714,9 @@ int radeon_ttm_init(struct radeon_device *rdev) | |||
| 714 | DRM_ERROR("Failed initializing VRAM heap.\n"); | 714 | DRM_ERROR("Failed initializing VRAM heap.\n"); |
| 715 | return r; | 715 | return r; |
| 716 | } | 716 | } |
| 717 | /* Change the size here instead of the init above so only lpfn is affected */ | ||
| 718 | radeon_ttm_set_active_vram_size(rdev, rdev->mc.visible_vram_size); | ||
| 719 | |||
| 717 | r = radeon_bo_create(rdev, 256 * 1024, PAGE_SIZE, true, | 720 | r = radeon_bo_create(rdev, 256 * 1024, PAGE_SIZE, true, |
| 718 | RADEON_GEM_DOMAIN_VRAM, | 721 | RADEON_GEM_DOMAIN_VRAM, |
| 719 | NULL, &rdev->stollen_vga_memory); | 722 | NULL, &rdev->stollen_vga_memory); |
| @@ -935,7 +938,7 @@ static ssize_t radeon_ttm_gtt_read(struct file *f, char __user *buf, | |||
| 935 | while (size) { | 938 | while (size) { |
| 936 | loff_t p = *pos / PAGE_SIZE; | 939 | loff_t p = *pos / PAGE_SIZE; |
| 937 | unsigned off = *pos & ~PAGE_MASK; | 940 | unsigned off = *pos & ~PAGE_MASK; |
| 938 | ssize_t cur_size = min(size, PAGE_SIZE - off); | 941 | size_t cur_size = min_t(size_t, size, PAGE_SIZE - off); |
| 939 | struct page *page; | 942 | struct page *page; |
| 940 | void *ptr; | 943 | void *ptr; |
| 941 | 944 | ||
diff --git a/drivers/gpu/drm/radeon/rs400.c b/drivers/gpu/drm/radeon/rs400.c index b5c2369cda2f..130d5cc50d43 100644 --- a/drivers/gpu/drm/radeon/rs400.c +++ b/drivers/gpu/drm/radeon/rs400.c | |||
| @@ -474,8 +474,6 @@ int rs400_resume(struct radeon_device *rdev) | |||
| 474 | /* Initialize surface registers */ | 474 | /* Initialize surface registers */ |
| 475 | radeon_surface_init(rdev); | 475 | radeon_surface_init(rdev); |
| 476 | 476 | ||
| 477 | radeon_pm_resume(rdev); | ||
| 478 | |||
| 479 | rdev->accel_working = true; | 477 | rdev->accel_working = true; |
| 480 | r = rs400_startup(rdev); | 478 | r = rs400_startup(rdev); |
| 481 | if (r) { | 479 | if (r) { |
diff --git a/drivers/gpu/drm/radeon/rs600.c b/drivers/gpu/drm/radeon/rs600.c index fdcde7693032..72d3616de08e 100644 --- a/drivers/gpu/drm/radeon/rs600.c +++ b/drivers/gpu/drm/radeon/rs600.c | |||
| @@ -1048,8 +1048,6 @@ int rs600_resume(struct radeon_device *rdev) | |||
| 1048 | /* Initialize surface registers */ | 1048 | /* Initialize surface registers */ |
| 1049 | radeon_surface_init(rdev); | 1049 | radeon_surface_init(rdev); |
| 1050 | 1050 | ||
| 1051 | radeon_pm_resume(rdev); | ||
| 1052 | |||
| 1053 | rdev->accel_working = true; | 1051 | rdev->accel_working = true; |
| 1054 | r = rs600_startup(rdev); | 1052 | r = rs600_startup(rdev); |
| 1055 | if (r) { | 1053 | if (r) { |
diff --git a/drivers/gpu/drm/radeon/rs690.c b/drivers/gpu/drm/radeon/rs690.c index 35950738bd5e..3462b64369bf 100644 --- a/drivers/gpu/drm/radeon/rs690.c +++ b/drivers/gpu/drm/radeon/rs690.c | |||
| @@ -756,8 +756,6 @@ int rs690_resume(struct radeon_device *rdev) | |||
| 756 | /* Initialize surface registers */ | 756 | /* Initialize surface registers */ |
| 757 | radeon_surface_init(rdev); | 757 | radeon_surface_init(rdev); |
| 758 | 758 | ||
| 759 | radeon_pm_resume(rdev); | ||
| 760 | |||
| 761 | rdev->accel_working = true; | 759 | rdev->accel_working = true; |
| 762 | r = rs690_startup(rdev); | 760 | r = rs690_startup(rdev); |
| 763 | if (r) { | 761 | if (r) { |
diff --git a/drivers/gpu/drm/radeon/rv515.c b/drivers/gpu/drm/radeon/rv515.c index 98e8138ff779..237dd29d9f1c 100644 --- a/drivers/gpu/drm/radeon/rv515.c +++ b/drivers/gpu/drm/radeon/rv515.c | |||
| @@ -586,8 +586,6 @@ int rv515_resume(struct radeon_device *rdev) | |||
| 586 | /* Initialize surface registers */ | 586 | /* Initialize surface registers */ |
| 587 | radeon_surface_init(rdev); | 587 | radeon_surface_init(rdev); |
| 588 | 588 | ||
| 589 | radeon_pm_resume(rdev); | ||
| 590 | |||
| 591 | rdev->accel_working = true; | 589 | rdev->accel_working = true; |
| 592 | r = rv515_startup(rdev); | 590 | r = rv515_startup(rdev); |
| 593 | if (r) { | 591 | if (r) { |
diff --git a/drivers/gpu/drm/radeon/rv770.c b/drivers/gpu/drm/radeon/rv770.c index 4e37a42305d8..fef310773aad 100644 --- a/drivers/gpu/drm/radeon/rv770.c +++ b/drivers/gpu/drm/radeon/rv770.c | |||
| @@ -1811,7 +1811,8 @@ int rv770_resume(struct radeon_device *rdev) | |||
| 1811 | /* init golden registers */ | 1811 | /* init golden registers */ |
| 1812 | rv770_init_golden_registers(rdev); | 1812 | rv770_init_golden_registers(rdev); |
| 1813 | 1813 | ||
| 1814 | radeon_pm_resume(rdev); | 1814 | if (rdev->pm.pm_method == PM_METHOD_DPM) |
| 1815 | radeon_pm_resume(rdev); | ||
| 1815 | 1816 | ||
| 1816 | rdev->accel_working = true; | 1817 | rdev->accel_working = true; |
| 1817 | r = rv770_startup(rdev); | 1818 | r = rv770_startup(rdev); |
diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c index 83578324e5d1..9a124d0608b3 100644 --- a/drivers/gpu/drm/radeon/si.c +++ b/drivers/gpu/drm/radeon/si.c | |||
| @@ -6618,7 +6618,8 @@ int si_resume(struct radeon_device *rdev) | |||
| 6618 | /* init golden registers */ | 6618 | /* init golden registers */ |
| 6619 | si_init_golden_registers(rdev); | 6619 | si_init_golden_registers(rdev); |
| 6620 | 6620 | ||
| 6621 | radeon_pm_resume(rdev); | 6621 | if (rdev->pm.pm_method == PM_METHOD_DPM) |
| 6622 | radeon_pm_resume(rdev); | ||
| 6622 | 6623 | ||
| 6623 | rdev->accel_working = true; | 6624 | rdev->accel_working = true; |
| 6624 | r = si_startup(rdev); | 6625 | r = si_startup(rdev); |
