Commit 06120a1e authored by Alex Deucher's avatar Alex Deucher

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: default avatarChunming Zhou <david1.zhou@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 05fb7291
...@@ -738,19 +738,19 @@ static int ci_enable_didt(struct amdgpu_device *adev, bool enable) ...@@ -738,19 +738,19 @@ static int ci_enable_didt(struct amdgpu_device *adev, bool enable)
if (pi->caps_sq_ramping || pi->caps_db_ramping || if (pi->caps_sq_ramping || pi->caps_db_ramping ||
pi->caps_td_ramping || pi->caps_tcp_ramping) { pi->caps_td_ramping || pi->caps_tcp_ramping) {
gfx_v7_0_enter_rlc_safe_mode(adev); adev->gfx.rlc.funcs->enter_safe_mode(adev);
if (enable) { if (enable) {
ret = ci_program_pt_config_registers(adev, didt_config_ci); ret = ci_program_pt_config_registers(adev, didt_config_ci);
if (ret) { if (ret) {
gfx_v7_0_exit_rlc_safe_mode(adev); adev->gfx.rlc.funcs->exit_safe_mode(adev);
return ret; return ret;
} }
} }
ci_do_enable_didt(adev, enable); ci_do_enable_didt(adev, enable);
gfx_v7_0_exit_rlc_safe_mode(adev); adev->gfx.rlc.funcs->exit_safe_mode(adev);
} }
return 0; return 0;
......
...@@ -3436,7 +3436,7 @@ static u32 gfx_v7_0_halt_rlc(struct amdgpu_device *adev) ...@@ -3436,7 +3436,7 @@ static u32 gfx_v7_0_halt_rlc(struct amdgpu_device *adev)
return orig; return orig;
} }
void gfx_v7_0_enter_rlc_safe_mode(struct amdgpu_device *adev) static void gfx_v7_0_enter_rlc_safe_mode(struct amdgpu_device *adev)
{ {
u32 tmp, i, mask; u32 tmp, i, mask;
...@@ -3458,7 +3458,7 @@ void gfx_v7_0_enter_rlc_safe_mode(struct amdgpu_device *adev) ...@@ -3458,7 +3458,7 @@ void gfx_v7_0_enter_rlc_safe_mode(struct amdgpu_device *adev)
} }
} }
void gfx_v7_0_exit_rlc_safe_mode(struct amdgpu_device *adev) static void gfx_v7_0_exit_rlc_safe_mode(struct amdgpu_device *adev)
{ {
u32 tmp; u32 tmp;
...@@ -4204,6 +4204,11 @@ static const struct amdgpu_gfx_funcs gfx_v7_0_gfx_funcs = { ...@@ -4204,6 +4204,11 @@ static const struct amdgpu_gfx_funcs gfx_v7_0_gfx_funcs = {
.select_se_sh = &gfx_v7_0_select_se_sh, .select_se_sh = &gfx_v7_0_select_se_sh,
}; };
static const struct amdgpu_rlc_funcs gfx_v7_0_rlc_funcs = {
.enter_safe_mode = gfx_v7_0_enter_rlc_safe_mode,
.exit_safe_mode = gfx_v7_0_exit_rlc_safe_mode
};
static int gfx_v7_0_early_init(void *handle) static int gfx_v7_0_early_init(void *handle)
{ {
struct amdgpu_device *adev = (struct amdgpu_device *)handle; struct amdgpu_device *adev = (struct amdgpu_device *)handle;
...@@ -4211,6 +4216,7 @@ static int gfx_v7_0_early_init(void *handle) ...@@ -4211,6 +4216,7 @@ static int gfx_v7_0_early_init(void *handle)
adev->gfx.num_gfx_rings = GFX7_NUM_GFX_RINGS; adev->gfx.num_gfx_rings = GFX7_NUM_GFX_RINGS;
adev->gfx.num_compute_rings = GFX7_NUM_COMPUTE_RINGS; adev->gfx.num_compute_rings = GFX7_NUM_COMPUTE_RINGS;
adev->gfx.funcs = &gfx_v7_0_gfx_funcs; adev->gfx.funcs = &gfx_v7_0_gfx_funcs;
adev->gfx.rlc.funcs = &gfx_v7_0_rlc_funcs;
gfx_v7_0_set_ring_funcs(adev); gfx_v7_0_set_ring_funcs(adev);
gfx_v7_0_set_irq_funcs(adev); gfx_v7_0_set_irq_funcs(adev);
gfx_v7_0_set_gds_init(adev); gfx_v7_0_set_gds_init(adev);
......
...@@ -27,8 +27,6 @@ ...@@ -27,8 +27,6 @@
extern const struct amd_ip_funcs gfx_v7_0_ip_funcs; extern const struct amd_ip_funcs gfx_v7_0_ip_funcs;
/* XXX these shouldn't be exported */ /* XXX these shouldn't be exported */
void gfx_v7_0_enter_rlc_safe_mode(struct amdgpu_device *adev);
void gfx_v7_0_exit_rlc_safe_mode(struct amdgpu_device *adev);
void gfx_v7_0_rlc_stop(struct amdgpu_device *adev); void gfx_v7_0_rlc_stop(struct amdgpu_device *adev);
#endif #endif
...@@ -507,19 +507,19 @@ static int kv_enable_didt(struct amdgpu_device *adev, bool enable) ...@@ -507,19 +507,19 @@ static int kv_enable_didt(struct amdgpu_device *adev, bool enable)
pi->caps_db_ramping || pi->caps_db_ramping ||
pi->caps_td_ramping || pi->caps_td_ramping ||
pi->caps_tcp_ramping) { pi->caps_tcp_ramping) {
gfx_v7_0_enter_rlc_safe_mode(adev); adev->gfx.rlc.funcs->enter_safe_mode(adev);
if (enable) { if (enable) {
ret = kv_program_pt_config_registers(adev, didt_config_kv); ret = kv_program_pt_config_registers(adev, didt_config_kv);
if (ret) { if (ret) {
gfx_v7_0_exit_rlc_safe_mode(adev); adev->gfx.rlc.funcs->exit_safe_mode(adev);
return ret; return ret;
} }
} }
kv_do_enable_didt(adev, enable); kv_do_enable_didt(adev, enable);
gfx_v7_0_exit_rlc_safe_mode(adev); adev->gfx.rlc.funcs->exit_safe_mode(adev);
} }
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment