forked from Minki/linux
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>
This commit is contained in:
parent
05fb7291fd
commit
06120a1e0f
@ -738,19 +738,19 @@ static int ci_enable_didt(struct amdgpu_device *adev, bool enable)
|
||||
|
||||
if (pi->caps_sq_ramping || pi->caps_db_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) {
|
||||
ret = ci_program_pt_config_registers(adev, didt_config_ci);
|
||||
if (ret) {
|
||||
gfx_v7_0_exit_rlc_safe_mode(adev);
|
||||
adev->gfx.rlc.funcs->exit_safe_mode(adev);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
ci_do_enable_didt(adev, enable);
|
||||
|
||||
gfx_v7_0_exit_rlc_safe_mode(adev);
|
||||
adev->gfx.rlc.funcs->exit_safe_mode(adev);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -3436,7 +3436,7 @@ static u32 gfx_v7_0_halt_rlc(struct amdgpu_device *adev)
|
||||
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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -4204,6 +4204,11 @@ static const struct amdgpu_gfx_funcs gfx_v7_0_gfx_funcs = {
|
||||
.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)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)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_compute_rings = GFX7_NUM_COMPUTE_RINGS;
|
||||
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_irq_funcs(adev);
|
||||
gfx_v7_0_set_gds_init(adev);
|
||||
|
@ -27,8 +27,6 @@
|
||||
extern const struct amd_ip_funcs gfx_v7_0_ip_funcs;
|
||||
|
||||
/* 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);
|
||||
|
||||
#endif
|
||||
|
@ -507,19 +507,19 @@ static int kv_enable_didt(struct amdgpu_device *adev, bool enable)
|
||||
pi->caps_db_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) {
|
||||
ret = kv_program_pt_config_registers(adev, didt_config_kv);
|
||||
if (ret) {
|
||||
gfx_v7_0_exit_rlc_safe_mode(adev);
|
||||
adev->gfx.rlc.funcs->exit_safe_mode(adev);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
kv_do_enable_didt(adev, enable);
|
||||
|
||||
gfx_v7_0_exit_rlc_safe_mode(adev);
|
||||
adev->gfx.rlc.funcs->exit_safe_mode(adev);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user