return ret;
}
-static uint_fixed_16_16_t
+static int
intel_get_linetime_us(const struct intel_crtc_state *crtc_state,
int pixel_rate)
{
- struct intel_display *display = to_intel_display(crtc_state);
- u32 crtc_htotal;
- uint_fixed_16_16_t linetime_us;
-
- if (!crtc_state->hw.active)
- return u32_to_fixed16(0);
-
- if (drm_WARN_ON(display->drm, pixel_rate == 0))
- return u32_to_fixed16(0);
-
- crtc_htotal = crtc_state->hw.pipe_mode.crtc_htotal;
- linetime_us = div_fixed16(crtc_htotal * 1000, pixel_rate);
-
- return linetime_us;
+ return DIV_ROUND_UP(crtc_state->hw.pipe_mode.crtc_htotal * 1000,
+ pixel_rate);
}
static int
wp->y_tile_minimum = mul_u32_fixed16(wp->y_min_scanlines,
wp->plane_blocks_per_line);
- wp->linetime_us = fixed16_to_u32_round_up(intel_get_linetime_us(crtc_state,
- plane_pixel_rate));
+ wp->linetime_us = intel_get_linetime_us(crtc_state, plane_pixel_rate);
return 0;
}