aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2016-06-21 12:16:30 -0400
committerAlex Deucher <alexander.deucher@amd.com>2016-07-07 15:01:57 -0400
commit06120a1e0fc5b0cfed12612cf85b02ae7c03ce4b (patch)
treef9a9dca45a0e9089eb60c586a6191255ff535397
parent05fb7291fd8044857812a06055cc94d7d374fd74 (diff)
drm/amdgpu/gfx7: switch to using the existing rlc callbacks
gfx8 already uses them. Remove the direct exports and use the callbacks fpr gfx7. Reviewed-by: Chunming Zhou <david1.zhou@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/ci_dpm.c6
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c10
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gfx_v7_0.h2
-rw-r--r--drivers/gpu/drm/amd/amdgpu/kv_dpm.c6
4 files changed, 14 insertions, 10 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
index 9327a610338d..5c33ed862695 100644
--- a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
+++ b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
@@ -738,19 +738,19 @@ static int ci_enable_didt(struct amdgpu_device *adev, bool enable)
738 738
739 if (pi->caps_sq_ramping || pi->caps_db_ramping || 739 if (pi->caps_sq_ramping || pi->caps_db_ramping ||
740 pi->caps_td_ramping || pi->caps_tcp_ramping) { 740 pi->caps_td_ramping || pi->caps_tcp_ramping) {
741 gfx_v7_0_enter_rlc_safe_mode(adev); 741 adev->gfx.rlc.funcs->enter_safe_mode(adev);
742 742
743 if (enable) { 743 if (enable) {
744 ret = ci_program_pt_config_registers(adev, didt_config_ci); 744 ret = ci_program_pt_config_registers(adev, didt_config_ci);
745 if (ret) { 745 if (ret) {
746 gfx_v7_0_exit_rlc_safe_mode(adev); 746 adev->gfx.rlc.funcs->exit_safe_mode(adev);
747 return ret; 747 return ret;
748 } 748 }
749 } 749 }
750 750
751 ci_do_enable_didt(adev, enable); 751 ci_do_enable_didt(adev, enable);
752 752
753 gfx_v7_0_exit_rlc_safe_mode(adev); 753 adev->gfx.rlc.funcs->exit_safe_mode(adev);
754 } 754 }
755 755
756 return 0; 756 return 0;
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
index 66ad39c1970b..ba78992d420a 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
@@ -3436,7 +3436,7 @@ static u32 gfx_v7_0_halt_rlc(struct amdgpu_device *adev)
3436 return orig; 3436 return orig;
3437} 3437}
3438 3438
3439void gfx_v7_0_enter_rlc_safe_mode(struct amdgpu_device *adev) 3439static void gfx_v7_0_enter_rlc_safe_mode(struct amdgpu_device *adev)
3440{ 3440{
3441 u32 tmp, i, mask; 3441 u32 tmp, i, mask;
3442 3442
@@ -3458,7 +3458,7 @@ void gfx_v7_0_enter_rlc_safe_mode(struct amdgpu_device *adev)
3458 } 3458 }
3459} 3459}
3460 3460
3461void gfx_v7_0_exit_rlc_safe_mode(struct amdgpu_device *adev) 3461static void gfx_v7_0_exit_rlc_safe_mode(struct amdgpu_device *adev)
3462{ 3462{
3463 u32 tmp; 3463 u32 tmp;
3464 3464
@@ -4204,6 +4204,11 @@ static const struct amdgpu_gfx_funcs gfx_v7_0_gfx_funcs = {
4204 .select_se_sh = &gfx_v7_0_select_se_sh, 4204 .select_se_sh = &gfx_v7_0_select_se_sh,
4205}; 4205};
4206 4206
4207static const struct amdgpu_rlc_funcs gfx_v7_0_rlc_funcs = {
4208 .enter_safe_mode = gfx_v7_0_enter_rlc_safe_mode,
4209 .exit_safe_mode = gfx_v7_0_exit_rlc_safe_mode
4210};
4211
4207static int gfx_v7_0_early_init(void *handle) 4212static int gfx_v7_0_early_init(void *handle)
4208{ 4213{
4209 struct amdgpu_device *adev = (struct amdgpu_device *)handle; 4214 struct amdgpu_device *adev = (struct amdgpu_device *)handle;
@@ -4211,6 +4216,7 @@ static int gfx_v7_0_early_init(void *handle)
4211 adev->gfx.num_gfx_rings = GFX7_NUM_GFX_RINGS; 4216 adev->gfx.num_gfx_rings = GFX7_NUM_GFX_RINGS;
4212 adev->gfx.num_compute_rings = GFX7_NUM_COMPUTE_RINGS; 4217 adev->gfx.num_compute_rings = GFX7_NUM_COMPUTE_RINGS;
4213 adev->gfx.funcs = &gfx_v7_0_gfx_funcs; 4218 adev->gfx.funcs = &gfx_v7_0_gfx_funcs;
4219 adev->gfx.rlc.funcs = &gfx_v7_0_rlc_funcs;
4214 gfx_v7_0_set_ring_funcs(adev); 4220 gfx_v7_0_set_ring_funcs(adev);
4215 gfx_v7_0_set_irq_funcs(adev); 4221 gfx_v7_0_set_irq_funcs(adev);
4216 gfx_v7_0_set_gds_init(adev); 4222 gfx_v7_0_set_gds_init(adev);
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.h b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.h
index 406295d9995c..1fbb00a9f5f3 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.h
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.h
@@ -27,8 +27,6 @@
27extern const struct amd_ip_funcs gfx_v7_0_ip_funcs; 27extern const struct amd_ip_funcs gfx_v7_0_ip_funcs;
28 28
29/* XXX these shouldn't be exported */ 29/* XXX these shouldn't be exported */
30void gfx_v7_0_enter_rlc_safe_mode(struct amdgpu_device *adev);
31void gfx_v7_0_exit_rlc_safe_mode(struct amdgpu_device *adev);
32void gfx_v7_0_rlc_stop(struct amdgpu_device *adev); 30void gfx_v7_0_rlc_stop(struct amdgpu_device *adev);
33 31
34#endif 32#endif
diff --git a/drivers/gpu/drm/amd/amdgpu/kv_dpm.c b/drivers/gpu/drm/amd/amdgpu/kv_dpm.c
index a789a863d677..5a0e245771ce 100644
--- a/drivers/gpu/drm/amd/amdgpu/kv_dpm.c
+++ b/drivers/gpu/drm/amd/amdgpu/kv_dpm.c
@@ -507,19 +507,19 @@ static int kv_enable_didt(struct amdgpu_device *adev, bool enable)
507 pi->caps_db_ramping || 507 pi->caps_db_ramping ||
508 pi->caps_td_ramping || 508 pi->caps_td_ramping ||
509 pi->caps_tcp_ramping) { 509 pi->caps_tcp_ramping) {
510 gfx_v7_0_enter_rlc_safe_mode(adev); 510 adev->gfx.rlc.funcs->enter_safe_mode(adev);
511 511
512 if (enable) { 512 if (enable) {
513 ret = kv_program_pt_config_registers(adev, didt_config_kv); 513 ret = kv_program_pt_config_registers(adev, didt_config_kv);
514 if (ret) { 514 if (ret) {
515 gfx_v7_0_exit_rlc_safe_mode(adev); 515 adev->gfx.rlc.funcs->exit_safe_mode(adev);
516 return ret; 516 return ret;
517 } 517 }
518 } 518 }
519 519
520 kv_do_enable_didt(adev, enable); 520 kv_do_enable_didt(adev, enable);
521 521
522 gfx_v7_0_exit_rlc_safe_mode(adev); 522 adev->gfx.rlc.funcs->exit_safe_mode(adev);
523 } 523 }
524 524
525 return 0; 525 return 0;