hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/gpu/drm/amd/display/dc/dce80/dce80_timing_generator.c
....@@ -84,17 +84,17 @@
8484 #define DCP_REG(reg) (reg + tg110->offsets.dcp)
8585 #define DMIF_REG(reg) (reg + tg110->offsets.dmif)
8686
87
-static void program_pix_dur(struct timing_generator *tg, uint32_t pix_clk_khz)
87
+static void program_pix_dur(struct timing_generator *tg, uint32_t pix_clk_100hz)
8888 {
8989 uint64_t pix_dur;
9090 uint32_t addr = mmDMIF_PG0_DPG_PIPE_ARBITRATION_CONTROL1
9191 + DCE110TG_FROM_TG(tg)->offsets.dmif;
9292 uint32_t value = dm_read_reg(tg->ctx, addr);
9393
94
- if (pix_clk_khz == 0)
94
+ if (pix_clk_100hz == 0)
9595 return;
9696
97
- pix_dur = 1000000000 / pix_clk_khz;
97
+ pix_dur = div_u64(10000000000ull, pix_clk_100hz);
9898
9999 set_reg_field_value(
100100 value,
....@@ -107,12 +107,17 @@
107107
108108 static void program_timing(struct timing_generator *tg,
109109 const struct dc_crtc_timing *timing,
110
+ int vready_offset,
111
+ int vstartup_start,
112
+ int vupdate_offset,
113
+ int vupdate_width,
114
+ const enum signal_type signal,
110115 bool use_vbios)
111116 {
112117 if (!use_vbios)
113
- program_pix_dur(tg, timing->pix_clk_khz);
118
+ program_pix_dur(tg, timing->pix_clk_100hz);
114119
115
- dce110_tg_program_timing(tg, timing, use_vbios);
120
+ dce110_tg_program_timing(tg, timing, 0, 0, 0, 0, 0, use_vbios);
116121 }
117122
118123 static void dce80_timing_generator_enable_advanced_request(