|
@@ -1090,23 +1090,10 @@ static u32 dce_v10_0_latency_watermark(struct dce10_wm_params *wm)
|
|
|
a.full = dfixed_const(available_bandwidth);
|
|
|
b.full = dfixed_const(wm->num_heads);
|
|
|
a.full = dfixed_div(a, b);
|
|
|
+ tmp = div_u64((u64) dmif_size * (u64) wm->disp_clk, mc_latency + 512);
|
|
|
+ tmp = min(dfixed_trunc(a), tmp);
|
|
|
|
|
|
- b.full = dfixed_const(mc_latency + 512);
|
|
|
- c.full = dfixed_const(wm->disp_clk);
|
|
|
- b.full = dfixed_div(b, c);
|
|
|
-
|
|
|
- c.full = dfixed_const(dmif_size);
|
|
|
- b.full = dfixed_div(c, b);
|
|
|
-
|
|
|
- tmp = min(dfixed_trunc(a), dfixed_trunc(b));
|
|
|
-
|
|
|
- b.full = dfixed_const(1000);
|
|
|
- c.full = dfixed_const(wm->disp_clk);
|
|
|
- b.full = dfixed_div(c, b);
|
|
|
- c.full = dfixed_const(wm->bytes_per_pixel);
|
|
|
- b.full = dfixed_mul(b, c);
|
|
|
-
|
|
|
- lb_fill_bw = min(tmp, dfixed_trunc(b));
|
|
|
+ lb_fill_bw = min(tmp, wm->disp_clk * wm->bytes_per_pixel / 1000);
|
|
|
|
|
|
a.full = dfixed_const(max_src_lines_per_dst_line * wm->src_width * wm->bytes_per_pixel);
|
|
|
b.full = dfixed_const(1000);
|