Lines Matching refs:crtc_state

138 skl_update_scaler(struct intel_crtc_state *crtc_state, bool force_detach,
144 struct intel_display *display = to_intel_display(crtc_state);
146 &crtc_state->scaler_state;
147 struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
149 &crtc_state->hw.adjusted_mode;
150 int pipe_src_w = drm_rect_width(&crtc_state->pipe_src);
151 int pipe_src_h = drm_rect_height(&crtc_state->pipe_src);
169 if (DISPLAY_VER(display) >= 9 && crtc_state->hw.enable &&
182 * Here scaler state in crtc_state is set free so that
240 /* mark this plane as a scaler user in crtc_state */
251 int skl_update_scaler_crtc(struct intel_crtc_state *crtc_state)
253 const struct drm_display_mode *pipe_mode = &crtc_state->hw.pipe_mode;
256 if (crtc_state->pch_pfit.enabled) {
257 width = drm_rect_width(&crtc_state->pch_pfit.dst);
258 height = drm_rect_height(&crtc_state->pch_pfit.dst);
263 return skl_update_scaler(crtc_state, !crtc_state->hw.active,
265 &crtc_state->scaler_state.scaler_id,
266 drm_rect_width(&crtc_state->pipe_src),
267 drm_rect_height(&crtc_state->pipe_src),
269 crtc_state->pch_pfit.enabled);
274 * @crtc_state: crtc's scaler state
281 int skl_update_scaler_plane(struct intel_crtc_state *crtc_state,
295 return skl_update_scaler(crtc_state, force_detach,
362 static int intel_atomic_setup_scaler(struct intel_crtc_state *crtc_state,
369 struct intel_crtc_scaler_state *scaler_state = &crtc_state->scaler_state;
451 if (crtc_state->pch_pfit.enabled) {
456 drm_rect_width(&crtc_state->pipe_src) << 16,
457 drm_rect_height(&crtc_state->pipe_src) << 16);
467 if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR420) {
472 hscale = drm_rect_calc_hscale(&src, &crtc_state->pch_pfit.dst,
474 vscale = drm_rect_calc_vscale(&src, &crtc_state->pch_pfit.dst,
482 drm_rect_debug_print("dst: ", &crtc_state->pch_pfit.dst, false);
502 struct intel_crtc_state *crtc_state =
505 &crtc_state->scaler_state;
507 return intel_atomic_setup_scaler(crtc_state,
518 struct intel_crtc_state *crtc_state =
521 &crtc_state->scaler_state;
542 return intel_atomic_setup_scaler(crtc_state,
568 struct intel_crtc_state *crtc_state =
571 &crtc_state->scaler_state;
725 void skl_pfit_enable(const struct intel_crtc_state *crtc_state)
727 struct intel_display *display = to_intel_display(crtc_state);
728 struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
730 &crtc_state->scaler_state;
731 const struct drm_rect *dst = &crtc_state->pch_pfit.dst;
743 if (!crtc_state->pch_pfit.enabled)
747 crtc_state->scaler_state.scaler_id < 0))
751 drm_rect_width(&crtc_state->pipe_src) << 16,
752 drm_rect_height(&crtc_state->pipe_src) << 16);
763 skl_scaler_get_filter_select(crtc_state->hw.scaling_filter);
768 crtc_state->hw.scaling_filter);
785 const struct intel_crtc_state *crtc_state,
793 &crtc_state->scaler_state.scalers[scaler_id];
865 const struct intel_crtc_state *crtc_state)
867 struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
869 &crtc_state->scaler_state;
888 void skl_scaler_get_config(struct intel_crtc_state *crtc_state)
890 struct intel_display *display = to_intel_display(crtc_state);
891 struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
892 struct intel_crtc_scaler_state *scaler_state = &crtc_state->scaler_state;
905 crtc_state->pch_pfit.enabled = true;
910 drm_rect_init(&crtc_state->pch_pfit.dst,