diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2016-06-21 12:16:30 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-07-07 15:01:57 -0400 |
commit | 06120a1e0fc5b0cfed12612cf85b02ae7c03ce4b (patch) | |
tree | f9a9dca45a0e9089eb60c586a6191255ff535397 | |
parent | 05fb7291fd8044857812a06055cc94d7d374fd74 (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.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 10 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gfx_v7_0.h | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/kv_dpm.c | 6 |
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 | ||
3439 | void gfx_v7_0_enter_rlc_safe_mode(struct amdgpu_device *adev) | 3439 | static 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 | ||
3461 | void gfx_v7_0_exit_rlc_safe_mode(struct amdgpu_device *adev) | 3461 | static 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 | ||
4207 | static 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 | |||
4207 | static int gfx_v7_0_early_init(void *handle) | 4212 | static 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 @@ | |||
27 | extern const struct amd_ip_funcs gfx_v7_0_ip_funcs; | 27 | extern 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 */ |
30 | void gfx_v7_0_enter_rlc_safe_mode(struct amdgpu_device *adev); | ||
31 | void gfx_v7_0_exit_rlc_safe_mode(struct amdgpu_device *adev); | ||
32 | void gfx_v7_0_rlc_stop(struct amdgpu_device *adev); | 30 | void 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; |