aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu.h3
-rw-r--r--drivers/gpu/drm/amd/amdgpu/cik.c1
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c8
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gmc_v7_0.h3
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c8
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gmc_v8_0.h3
-rw-r--r--drivers/gpu/drm/amd/amdgpu/vi.c1
7 files changed, 8 insertions, 19 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index 80d9932d86fb..dcda843468e3 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -1827,8 +1827,6 @@ struct amdgpu_asic_funcs {
1827 u32 sh_num, u32 reg_offset, u32 *value); 1827 u32 sh_num, u32 reg_offset, u32 *value);
1828 void (*set_vga_state)(struct amdgpu_device *adev, bool state); 1828 void (*set_vga_state)(struct amdgpu_device *adev, bool state);
1829 int (*reset)(struct amdgpu_device *adev); 1829 int (*reset)(struct amdgpu_device *adev);
1830 /* wait for mc_idle */
1831 int (*wait_for_mc_idle)(struct amdgpu_device *adev);
1832 /* get the reference clock */ 1830 /* get the reference clock */
1833 u32 (*get_xclk)(struct amdgpu_device *adev); 1831 u32 (*get_xclk)(struct amdgpu_device *adev);
1834 /* get the gpu clock counter */ 1832 /* get the gpu clock counter */
@@ -2223,7 +2221,6 @@ amdgpu_get_sdma_instance(struct amdgpu_ring *ring)
2223 */ 2221 */
2224#define amdgpu_asic_set_vga_state(adev, state) (adev)->asic_funcs->set_vga_state((adev), (state)) 2222#define amdgpu_asic_set_vga_state(adev, state) (adev)->asic_funcs->set_vga_state((adev), (state))
2225#define amdgpu_asic_reset(adev) (adev)->asic_funcs->reset((adev)) 2223#define amdgpu_asic_reset(adev) (adev)->asic_funcs->reset((adev))
2226#define amdgpu_asic_wait_for_mc_idle(adev) (adev)->asic_funcs->wait_for_mc_idle((adev))
2227#define amdgpu_asic_get_xclk(adev) (adev)->asic_funcs->get_xclk((adev)) 2224#define amdgpu_asic_get_xclk(adev) (adev)->asic_funcs->get_xclk((adev))
2228#define amdgpu_asic_set_uvd_clocks(adev, v, d) (adev)->asic_funcs->set_uvd_clocks((adev), (v), (d)) 2225#define amdgpu_asic_set_uvd_clocks(adev, v, d) (adev)->asic_funcs->set_uvd_clocks((adev), (v), (d))
2229#define amdgpu_asic_set_vce_clocks(adev, ev, ec) (adev)->asic_funcs->set_vce_clocks((adev), (ev), (ec)) 2226#define amdgpu_asic_set_vce_clocks(adev, ev, ec) (adev)->asic_funcs->set_vce_clocks((adev), (ev), (ec))
diff --git a/drivers/gpu/drm/amd/amdgpu/cik.c b/drivers/gpu/drm/amd/amdgpu/cik.c
index 4c80338992ad..c90bfeec3048 100644
--- a/drivers/gpu/drm/amd/amdgpu/cik.c
+++ b/drivers/gpu/drm/amd/amdgpu/cik.c
@@ -2024,7 +2024,6 @@ static const struct amdgpu_asic_funcs cik_asic_funcs =
2024 .get_virtual_caps = &cik_get_virtual_caps, 2024 .get_virtual_caps = &cik_get_virtual_caps,
2025 /* these should be moved to their own ip modules */ 2025 /* these should be moved to their own ip modules */
2026 .get_gpu_clock_counter = &gfx_v7_0_get_gpu_clock_counter, 2026 .get_gpu_clock_counter = &gfx_v7_0_get_gpu_clock_counter,
2027 .wait_for_mc_idle = &gmc_v7_0_mc_wait_for_idle,
2028}; 2027};
2029 2028
2030static int cik_common_early_init(void *handle) 2029static int cik_common_early_init(void *handle)
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
index 3b32c08faec9..eb4a7b8f3742 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
@@ -82,7 +82,7 @@ static void gmc_v7_0_init_golden_registers(struct amdgpu_device *adev)
82 * (evergreen+). 82 * (evergreen+).
83 * Returns 0 if the MC is idle, -1 if not. 83 * Returns 0 if the MC is idle, -1 if not.
84 */ 84 */
85int gmc_v7_0_mc_wait_for_idle(struct amdgpu_device *adev) 85static int gmc_v7_0_mc_wait_for_idle(struct amdgpu_device *adev)
86{ 86{
87 unsigned i; 87 unsigned i;
88 u32 tmp; 88 u32 tmp;
@@ -105,7 +105,7 @@ static void gmc_v7_0_mc_stop(struct amdgpu_device *adev,
105 if (adev->mode_info.num_crtc) 105 if (adev->mode_info.num_crtc)
106 amdgpu_display_stop_mc_access(adev, save); 106 amdgpu_display_stop_mc_access(adev, save);
107 107
108 amdgpu_asic_wait_for_mc_idle(adev); 108 gmc_v7_0_mc_wait_for_idle(adev);
109 109
110 blackout = RREG32(mmMC_SHARED_BLACKOUT_CNTL); 110 blackout = RREG32(mmMC_SHARED_BLACKOUT_CNTL);
111 if (REG_GET_FIELD(blackout, MC_SHARED_BLACKOUT_CNTL, BLACKOUT_MODE) != 1) { 111 if (REG_GET_FIELD(blackout, MC_SHARED_BLACKOUT_CNTL, BLACKOUT_MODE) != 1) {
@@ -311,7 +311,7 @@ static void gmc_v7_0_mc_program(struct amdgpu_device *adev)
311 amdgpu_display_set_vga_render_state(adev, false); 311 amdgpu_display_set_vga_render_state(adev, false);
312 312
313 gmc_v7_0_mc_stop(adev, &save); 313 gmc_v7_0_mc_stop(adev, &save);
314 if (amdgpu_asic_wait_for_mc_idle(adev)) { 314 if (gmc_v7_0_mc_wait_for_idle(adev)) {
315 dev_warn(adev->dev, "Wait for MC idle timedout !\n"); 315 dev_warn(adev->dev, "Wait for MC idle timedout !\n");
316 } 316 }
317 /* Update configuration */ 317 /* Update configuration */
@@ -331,7 +331,7 @@ static void gmc_v7_0_mc_program(struct amdgpu_device *adev)
331 WREG32(mmMC_VM_AGP_BASE, 0); 331 WREG32(mmMC_VM_AGP_BASE, 0);
332 WREG32(mmMC_VM_AGP_TOP, 0x0FFFFFFF); 332 WREG32(mmMC_VM_AGP_TOP, 0x0FFFFFFF);
333 WREG32(mmMC_VM_AGP_BOT, 0x0FFFFFFF); 333 WREG32(mmMC_VM_AGP_BOT, 0x0FFFFFFF);
334 if (amdgpu_asic_wait_for_mc_idle(adev)) { 334 if (gmc_v7_0_mc_wait_for_idle(adev)) {
335 dev_warn(adev->dev, "Wait for MC idle timedout !\n"); 335 dev_warn(adev->dev, "Wait for MC idle timedout !\n");
336 } 336 }
337 gmc_v7_0_mc_resume(adev, &save); 337 gmc_v7_0_mc_resume(adev, &save);
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.h b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.h
index 998fb021fb76..0b386b5d2f7a 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.h
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.h
@@ -26,7 +26,4 @@
26 26
27extern const struct amd_ip_funcs gmc_v7_0_ip_funcs; 27extern const struct amd_ip_funcs gmc_v7_0_ip_funcs;
28 28
29/* XXX these shouldn't be exported */
30int gmc_v7_0_mc_wait_for_idle(struct amdgpu_device *adev);
31
32#endif 29#endif
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
index ba51e18f04b0..e243e3a784e5 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
@@ -156,7 +156,7 @@ static void gmc_v8_0_init_golden_registers(struct amdgpu_device *adev)
156 * (evergreen+). 156 * (evergreen+).
157 * Returns 0 if the MC is idle, -1 if not. 157 * Returns 0 if the MC is idle, -1 if not.
158 */ 158 */
159int gmc_v8_0_mc_wait_for_idle(struct amdgpu_device *adev) 159static int gmc_v8_0_mc_wait_for_idle(struct amdgpu_device *adev)
160{ 160{
161 unsigned i; 161 unsigned i;
162 u32 tmp; 162 u32 tmp;
@@ -184,7 +184,7 @@ static void gmc_v8_0_mc_stop(struct amdgpu_device *adev,
184 if (adev->mode_info.num_crtc) 184 if (adev->mode_info.num_crtc)
185 amdgpu_display_stop_mc_access(adev, save); 185 amdgpu_display_stop_mc_access(adev, save);
186 186
187 amdgpu_asic_wait_for_mc_idle(adev); 187 gmc_v8_0_mc_wait_for_idle(adev);
188 188
189 blackout = RREG32(mmMC_SHARED_BLACKOUT_CNTL); 189 blackout = RREG32(mmMC_SHARED_BLACKOUT_CNTL);
190 if (REG_GET_FIELD(blackout, MC_SHARED_BLACKOUT_CNTL, BLACKOUT_MODE) != 1) { 190 if (REG_GET_FIELD(blackout, MC_SHARED_BLACKOUT_CNTL, BLACKOUT_MODE) != 1) {
@@ -393,7 +393,7 @@ static void gmc_v8_0_mc_program(struct amdgpu_device *adev)
393 amdgpu_display_set_vga_render_state(adev, false); 393 amdgpu_display_set_vga_render_state(adev, false);
394 394
395 gmc_v8_0_mc_stop(adev, &save); 395 gmc_v8_0_mc_stop(adev, &save);
396 if (amdgpu_asic_wait_for_mc_idle(adev)) { 396 if (gmc_v8_0_mc_wait_for_idle(adev)) {
397 dev_warn(adev->dev, "Wait for MC idle timedout !\n"); 397 dev_warn(adev->dev, "Wait for MC idle timedout !\n");
398 } 398 }
399 /* Update configuration */ 399 /* Update configuration */
@@ -413,7 +413,7 @@ static void gmc_v8_0_mc_program(struct amdgpu_device *adev)
413 WREG32(mmMC_VM_AGP_BASE, 0); 413 WREG32(mmMC_VM_AGP_BASE, 0);
414 WREG32(mmMC_VM_AGP_TOP, 0x0FFFFFFF); 414 WREG32(mmMC_VM_AGP_TOP, 0x0FFFFFFF);
415 WREG32(mmMC_VM_AGP_BOT, 0x0FFFFFFF); 415 WREG32(mmMC_VM_AGP_BOT, 0x0FFFFFFF);
416 if (amdgpu_asic_wait_for_mc_idle(adev)) { 416 if (gmc_v8_0_mc_wait_for_idle(adev)) {
417 dev_warn(adev->dev, "Wait for MC idle timedout !\n"); 417 dev_warn(adev->dev, "Wait for MC idle timedout !\n");
418 } 418 }
419 gmc_v8_0_mc_resume(adev, &save); 419 gmc_v8_0_mc_resume(adev, &save);
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.h b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.h
index 94fdaeb382d4..fc5001a8119d 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.h
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.h
@@ -26,7 +26,4 @@
26 26
27extern const struct amd_ip_funcs gmc_v8_0_ip_funcs; 27extern const struct amd_ip_funcs gmc_v8_0_ip_funcs;
28 28
29/* XXX these shouldn't be exported */
30int gmc_v8_0_mc_wait_for_idle(struct amdgpu_device *adev);
31
32#endif 29#endif
diff --git a/drivers/gpu/drm/amd/amdgpu/vi.c b/drivers/gpu/drm/amd/amdgpu/vi.c
index e05e722ef6c7..168780b381a3 100644
--- a/drivers/gpu/drm/amd/amdgpu/vi.c
+++ b/drivers/gpu/drm/amd/amdgpu/vi.c
@@ -1140,7 +1140,6 @@ static const struct amdgpu_asic_funcs vi_asic_funcs =
1140 .get_virtual_caps = &vi_get_virtual_caps, 1140 .get_virtual_caps = &vi_get_virtual_caps,
1141 /* these should be moved to their own ip modules */ 1141 /* these should be moved to their own ip modules */
1142 .get_gpu_clock_counter = &gfx_v8_0_get_gpu_clock_counter, 1142 .get_gpu_clock_counter = &gfx_v8_0_get_gpu_clock_counter,
1143 .wait_for_mc_idle = &gmc_v8_0_mc_wait_for_idle,
1144}; 1143};
1145 1144
1146static int vi_common_early_init(void *handle) 1145static int vi_common_early_init(void *handle)