summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Deucher2018-05-10 22:06:55 +0200
committerAlex Deucher2018-05-24 06:51:21 +0200
commit1ca2393b7373d5b0e5a356124fb10fc97e143e88 (patch)
treedcf0766763c83f2fe09d1f67f7833a9ea90c9be2
parentdrm/amdgpu: add new DF callback for ECC setup (diff)
downloadkernel-qcow2-linux-1ca2393b7373d5b0e5a356124fb10fc97e143e88.tar.gz
kernel-qcow2-linux-1ca2393b7373d5b0e5a356124fb10fc97e143e88.tar.xz
kernel-qcow2-linux-1ca2393b7373d5b0e5a356124fb10fc97e143e88.zip
drm/amdgpu: add a df 1.7 implementation of enable_ecc_force_par_wr_rmw
Needed for proper memory setup depending on whether ECC is enabled on a particular board. Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/df_v1_7.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/df_v1_7.c b/drivers/gpu/drm/amd/amdgpu/df_v1_7.c
index 4ffda996660f..9935371db7ce 100644
--- a/drivers/gpu/drm/amd/amdgpu/df_v1_7.c
+++ b/drivers/gpu/drm/amd/amdgpu/df_v1_7.c
@@ -102,6 +102,13 @@ static void df_v1_7_get_clockgating_state(struct amdgpu_device *adev,
*flags |= AMD_CG_SUPPORT_DF_MGCG;
}
+static void df_v1_7_enable_ecc_force_par_wr_rmw(struct amdgpu_device *adev,
+ bool enable)
+{
+ WREG32_FIELD15(DF, 0, DF_CS_AON0_CoherentSlaveModeCtrlA0,
+ ForceParWrRMW, enable);
+}
+
const struct amdgpu_df_funcs df_v1_7_funcs = {
.init = df_v1_7_init,
.enable_broadcast_mode = df_v1_7_enable_broadcast_mode,
@@ -109,4 +116,5 @@ const struct amdgpu_df_funcs df_v1_7_funcs = {
.get_hbm_channel_number = df_v1_7_get_hbm_channel_number,
.update_medium_grain_clock_gating = df_v1_7_update_medium_grain_clock_gating,
.get_clockgating_state = df_v1_7_get_clockgating_state,
+ .enable_ecc_force_par_wr_rmw = df_v1_7_enable_ecc_force_par_wr_rmw,
};