Lines Matching refs:pipe_cfg

119 	struct dpu_sw_pipe_cfg *pipe_cfg)  in _dpu_plane_calc_bw()  argument
129 src_width = drm_rect_width(&pipe_cfg->src_rect); in _dpu_plane_calc_bw()
130 src_height = drm_rect_height(&pipe_cfg->src_rect); in _dpu_plane_calc_bw()
131 dst_height = drm_rect_height(&pipe_cfg->dst_rect); in _dpu_plane_calc_bw()
166 struct dpu_sw_pipe_cfg *pipe_cfg) in _dpu_plane_calc_clk() argument
171 src_height = drm_rect_height(&pipe_cfg->src_rect); in _dpu_plane_calc_clk()
172 dst_width = drm_rect_width(&pipe_cfg->dst_rect); in _dpu_plane_calc_clk()
173 dst_height = drm_rect_height(&pipe_cfg->dst_rect); in _dpu_plane_calc_clk()
255 const struct msm_format *fmt, struct dpu_sw_pipe_cfg *pipe_cfg) in _dpu_plane_set_qos_lut() argument
271 drm_rect_width(&pipe_cfg->src_rect)); in _dpu_plane_set_qos_lut()
362 struct dpu_sw_pipe_cfg *pipe_cfg, in _dpu_plane_set_ot_limit() argument
373 ot_params.width = drm_rect_width(&pipe_cfg->src_rect); in _dpu_plane_set_ot_limit()
374 ot_params.height = drm_rect_height(&pipe_cfg->src_rect); in _dpu_plane_set_ot_limit()
531 struct dpu_sw_pipe_cfg *pipe_cfg) in _dpu_plane_setup_scaler() argument
537 u32 src_width = drm_rect_width(&pipe_cfg->src_rect); in _dpu_plane_setup_scaler()
538 u32 src_height = drm_rect_height(&pipe_cfg->src_rect); in _dpu_plane_setup_scaler()
539 u32 dst_width = drm_rect_width(&pipe_cfg->dst_rect); in _dpu_plane_setup_scaler()
540 u32 dst_height = drm_rect_height(&pipe_cfg->dst_rect); in _dpu_plane_setup_scaler()
554 pipe_cfg->rotation); in _dpu_plane_setup_scaler()
582 struct dpu_sw_pipe_cfg pipe_cfg; in _dpu_plane_color_fill_pipe() local
591 pipe_cfg.dst_rect = *dst_rect; in _dpu_plane_color_fill_pipe()
593 pipe_cfg.src_rect.x1 = 0; in _dpu_plane_color_fill_pipe()
594 pipe_cfg.src_rect.y1 = 0; in _dpu_plane_color_fill_pipe()
595 pipe_cfg.src_rect.x2 = in _dpu_plane_color_fill_pipe()
596 drm_rect_width(&pipe_cfg.dst_rect); in _dpu_plane_color_fill_pipe()
597 pipe_cfg.src_rect.y2 = in _dpu_plane_color_fill_pipe()
598 drm_rect_height(&pipe_cfg.dst_rect); in _dpu_plane_color_fill_pipe()
604 pipe->sspp->ops.setup_rects(pipe, &pipe_cfg); in _dpu_plane_color_fill_pipe()
606 _dpu_plane_setup_scaler(pipe, fmt, true, &pipe_cfg); in _dpu_plane_color_fill_pipe()
636 _dpu_plane_color_fill_pipe(pstate, &pstate->pipe, &pstate->pipe_cfg.dst_rect, in _dpu_plane_color_fill()
724 struct dpu_sw_pipe_cfg *pipe_cfg, in dpu_plane_atomic_check_pipe() argument
757 pipe_cfg->rotation = drm_rotation_simplify(new_plane_state->rotation, in dpu_plane_atomic_check_pipe()
770 if (drm_rect_width(&pipe_cfg->src_rect) < min_src_size || in dpu_plane_atomic_check_pipe()
771 drm_rect_height(&pipe_cfg->src_rect) < min_src_size) { in dpu_plane_atomic_check_pipe()
773 DRM_RECT_ARG(&pipe_cfg->src_rect)); in dpu_plane_atomic_check_pipe()
779 (pipe_cfg->src_rect.x1 & 0x1 || in dpu_plane_atomic_check_pipe()
780 pipe_cfg->src_rect.y1 & 0x1 || in dpu_plane_atomic_check_pipe()
781 drm_rect_width(&pipe_cfg->src_rect) & 0x1 || in dpu_plane_atomic_check_pipe()
782 drm_rect_height(&pipe_cfg->src_rect) & 0x1)) { in dpu_plane_atomic_check_pipe()
784 DRM_RECT_ARG(&pipe_cfg->src_rect)); in dpu_plane_atomic_check_pipe()
789 if (drm_rect_width(&pipe_cfg->dst_rect) < 0x1 || in dpu_plane_atomic_check_pipe()
790 drm_rect_height(&pipe_cfg->dst_rect) < 0x1) { in dpu_plane_atomic_check_pipe()
792 DRM_RECT_ARG(&pipe_cfg->dst_rect)); in dpu_plane_atomic_check_pipe()
796 if (pipe_cfg->rotation & DRM_MODE_ROTATE_90) { in dpu_plane_atomic_check_pipe()
797 ret = dpu_plane_check_inline_rotation(pdpu, pipe, pipe_cfg->src_rect, fmt); in dpu_plane_atomic_check_pipe()
803 if (_dpu_plane_calc_clk(mode, pipe_cfg) > kms->perf.max_core_clk_rate) { in dpu_plane_atomic_check_pipe()
823 struct dpu_sw_pipe_cfg *pipe_cfg = &pstate->pipe_cfg; in dpu_plane_atomic_check_nosspp() local
850 drm_rect_fp_to_int(&pipe_cfg->src_rect, &new_plane_state->src); in dpu_plane_atomic_check_nosspp()
852 pipe_cfg->dst_rect = new_plane_state->dst; in dpu_plane_atomic_check_nosspp()
877 drm_rect_rotate(&pipe_cfg->src_rect, in dpu_plane_atomic_check_nosspp()
881 if ((drm_rect_width(&pipe_cfg->src_rect) > max_linewidth) || in dpu_plane_atomic_check_nosspp()
882 _dpu_plane_calc_clk(&crtc_state->adjusted_mode, pipe_cfg) > max_mdp_clk_rate) { in dpu_plane_atomic_check_nosspp()
883 if (drm_rect_width(&pipe_cfg->src_rect) > 2 * max_linewidth) { in dpu_plane_atomic_check_nosspp()
885 DRM_RECT_ARG(&pipe_cfg->src_rect), max_linewidth); in dpu_plane_atomic_check_nosspp()
889 *r_pipe_cfg = *pipe_cfg; in dpu_plane_atomic_check_nosspp()
890 pipe_cfg->src_rect.x2 = (pipe_cfg->src_rect.x1 + pipe_cfg->src_rect.x2) >> 1; in dpu_plane_atomic_check_nosspp()
891 pipe_cfg->dst_rect.x2 = (pipe_cfg->dst_rect.x1 + pipe_cfg->dst_rect.x2) >> 1; in dpu_plane_atomic_check_nosspp()
892 r_pipe_cfg->src_rect.x1 = pipe_cfg->src_rect.x2; in dpu_plane_atomic_check_nosspp()
893 r_pipe_cfg->dst_rect.x1 = pipe_cfg->dst_rect.x2; in dpu_plane_atomic_check_nosspp()
898 drm_rect_rotate_inv(&pipe_cfg->src_rect, in dpu_plane_atomic_check_nosspp()
912 struct dpu_sw_pipe_cfg *pipe_cfg, in dpu_plane_is_multirect_capable() argument
915 if (drm_rect_width(&pipe_cfg->src_rect) != drm_rect_width(&pipe_cfg->dst_rect) || in dpu_plane_is_multirect_capable()
916 drm_rect_height(&pipe_cfg->src_rect) != drm_rect_height(&pipe_cfg->dst_rect)) in dpu_plane_is_multirect_capable()
919 if (pipe_cfg->rotation & DRM_MODE_ROTATE_90) in dpu_plane_is_multirect_capable()
932 static int dpu_plane_is_parallel_capable(struct dpu_sw_pipe_cfg *pipe_cfg, in dpu_plane_is_parallel_capable() argument
937 drm_rect_width(&pipe_cfg->src_rect) > max_linewidth / 2) in dpu_plane_is_parallel_capable()
944 struct dpu_sw_pipe_cfg *pipe_cfg, in dpu_plane_is_multirect_parallel_capable() argument
948 return dpu_plane_is_multirect_capable(sspp, pipe_cfg, fmt) && in dpu_plane_is_multirect_parallel_capable()
949 dpu_plane_is_parallel_capable(pipe_cfg, fmt, max_linewidth); in dpu_plane_is_multirect_parallel_capable()
963 struct dpu_sw_pipe_cfg *pipe_cfg = &pstate->pipe_cfg; in dpu_plane_atomic_check_sspp() local
967 ret = dpu_plane_atomic_check_pipe(pdpu, pipe, pipe_cfg, in dpu_plane_atomic_check_sspp()
984 …c bool dpu_plane_try_multirect_parallel(struct dpu_sw_pipe *pipe, struct dpu_sw_pipe_cfg *pipe_cfg, in dpu_plane_try_multirect_parallel() argument
998 if (!dpu_plane_is_multirect_parallel_capable(pipe->sspp, pipe_cfg, fmt, max_linewidth) || in dpu_plane_try_multirect_parallel()
1021 struct dpu_sw_pipe_cfg *pipe_cfg = &pstate->pipe_cfg; in dpu_plane_try_multirect_shared() local
1023 struct dpu_sw_pipe_cfg *prev_pipe_cfg = &prev_adjacent_pstate->pipe_cfg; in dpu_plane_try_multirect_shared()
1031 if (!dpu_plane_is_multirect_capable(pipe->sspp, pipe_cfg, fmt) || in dpu_plane_try_multirect_shared()
1046 if (dpu_plane_is_parallel_capable(pipe_cfg, fmt, max_linewidth) && in dpu_plane_try_multirect_shared()
1048 (pipe_cfg->dst_rect.x1 >= prev_pipe_cfg->dst_rect.x2 || in dpu_plane_try_multirect_shared()
1049 prev_pipe_cfg->dst_rect.x1 >= pipe_cfg->dst_rect.x2)) { in dpu_plane_try_multirect_shared()
1061 if (pipe_cfg->dst_rect.y1 >= prev_pipe_cfg->dst_rect.y2 + 2 * max_tile_height || in dpu_plane_try_multirect_shared()
1062 prev_pipe_cfg->dst_rect.y1 >= pipe_cfg->dst_rect.y2 + 2 * max_tile_height) { in dpu_plane_try_multirect_shared()
1088 struct dpu_sw_pipe_cfg *pipe_cfg = &pstate->pipe_cfg; in dpu_plane_atomic_check() local
1109 if (!dpu_plane_try_multirect_parallel(pipe, pipe_cfg, r_pipe, r_pipe_cfg, in dpu_plane_atomic_check()
1115 DRM_RECT_ARG(&pipe_cfg->src_rect), in dpu_plane_atomic_check()
1187 struct dpu_sw_pipe_cfg *pipe_cfg; in dpu_plane_virtual_assign_resources() local
1200 pipe_cfg = &pstate->pipe_cfg; in dpu_plane_virtual_assign_resources()
1237 if (!dpu_plane_try_multirect_parallel(pipe, pipe_cfg, r_pipe, r_pipe_cfg, in dpu_plane_virtual_assign_resources()
1362 struct dpu_sw_pipe_cfg *pipe_cfg, in dpu_plane_sspp_update_pipe() argument
1387 pipe_cfg); in dpu_plane_sspp_update_pipe()
1390 _dpu_plane_setup_scaler(pipe, fmt, false, pipe_cfg); in dpu_plane_sspp_update_pipe()
1397 unsigned int rotation = pipe_cfg->rotation; in dpu_plane_sspp_update_pipe()
1421 _dpu_plane_set_qos_lut(plane, pipe, fmt, pipe_cfg); in dpu_plane_sspp_update_pipe()
1425 _dpu_plane_set_ot_limit(plane, pipe, pipe_cfg, frame_rate); in dpu_plane_sspp_update_pipe()
1444 struct dpu_sw_pipe_cfg *pipe_cfg = &pstate->pipe_cfg; in dpu_plane_sspp_atomic_update() local
1460 dpu_plane_sspp_update_pipe(plane, pipe, pipe_cfg, fmt, in dpu_plane_sspp_atomic_update()
1474 &crtc->mode, pipe_cfg); in dpu_plane_sspp_atomic_update()
1476 pstate->plane_clk = _dpu_plane_calc_clk(&crtc->mode, pipe_cfg); in dpu_plane_sspp_atomic_update()
1595 const struct dpu_sw_pipe_cfg *pipe_cfg = &pstate->pipe_cfg; in dpu_plane_atomic_print_state() local
1607 drm_printf(p, "\tsrc[0]=" DRM_RECT_FMT "\n", DRM_RECT_ARG(&pipe_cfg->src_rect)); in dpu_plane_atomic_print_state()
1608 drm_printf(p, "\tdst[0]=" DRM_RECT_FMT "\n", DRM_RECT_ARG(&pipe_cfg->dst_rect)); in dpu_plane_atomic_print_state()