Lines Matching refs:pdpu
144 struct dpu_plane *pdpu = to_dpu_plane(plane); in _dpu_plane_calc_bw() local
161 src_width = drm_rect_width(&pdpu->pipe_cfg.src_rect); in _dpu_plane_calc_bw()
162 src_height = drm_rect_height(&pdpu->pipe_cfg.src_rect); in _dpu_plane_calc_bw()
163 dst_height = drm_rect_height(&pdpu->pipe_cfg.dst_rect); in _dpu_plane_calc_bw()
192 struct dpu_plane *pdpu = to_dpu_plane(plane); in _dpu_plane_calc_clk() local
200 src_height = drm_rect_height(&pdpu->pipe_cfg.src_rect); in _dpu_plane_calc_clk()
201 dst_width = drm_rect_width(&pdpu->pipe_cfg.dst_rect); in _dpu_plane_calc_clk()
202 dst_height = drm_rect_height(&pdpu->pipe_cfg.dst_rect); in _dpu_plane_calc_clk()
224 struct dpu_plane *pdpu, *tmp; in _dpu_plane_calc_fill_level() local
234 pdpu = to_dpu_plane(plane); in _dpu_plane_calc_fill_level()
236 fixed_buff_size = pdpu->catalog->caps->pixel_ram_size; in _dpu_plane_calc_fill_level()
238 list_for_each_entry(tmp, &pdpu->mplane_list, mplane_list) { in _dpu_plane_calc_fill_level()
242 pdpu->base.base.id, tmp->base.base.id, in _dpu_plane_calc_fill_level()
270 plane->base.id, pdpu->pipe - SSPP_VIG0, in _dpu_plane_calc_fill_level()
310 struct dpu_plane *pdpu = to_dpu_plane(plane); in _dpu_plane_set_qos_lut() local
315 if (!pdpu->is_rt_pipe) { in _dpu_plane_set_qos_lut()
322 drm_rect_width(&pdpu->pipe_cfg.src_rect)); in _dpu_plane_set_qos_lut()
331 &pdpu->catalog->perf.qos_lut_tbl[lut_usage], total_fl); in _dpu_plane_set_qos_lut()
333 pdpu->pipe_qos_cfg.creq_lut = qos_lut; in _dpu_plane_set_qos_lut()
335 trace_dpu_perf_set_qos_luts(pdpu->pipe - SSPP_VIG0, in _dpu_plane_set_qos_lut()
337 pdpu->is_rt_pipe, total_fl, qos_lut, lut_usage); in _dpu_plane_set_qos_lut()
341 pdpu->pipe - SSPP_VIG0, in _dpu_plane_set_qos_lut()
343 pdpu->is_rt_pipe, total_fl, qos_lut); in _dpu_plane_set_qos_lut()
345 pdpu->pipe_hw->ops.setup_creq_lut(pdpu->pipe_hw, &pdpu->pipe_qos_cfg); in _dpu_plane_set_qos_lut()
356 struct dpu_plane *pdpu = to_dpu_plane(plane); in _dpu_plane_set_danger_lut() local
360 if (!pdpu->is_rt_pipe) { in _dpu_plane_set_danger_lut()
361 danger_lut = pdpu->catalog->perf.danger_lut_tbl in _dpu_plane_set_danger_lut()
363 safe_lut = pdpu->catalog->perf.safe_lut_tbl in _dpu_plane_set_danger_lut()
371 danger_lut = pdpu->catalog->perf.danger_lut_tbl in _dpu_plane_set_danger_lut()
373 safe_lut = pdpu->catalog->perf.safe_lut_tbl in _dpu_plane_set_danger_lut()
376 danger_lut = pdpu->catalog->perf.danger_lut_tbl in _dpu_plane_set_danger_lut()
378 safe_lut = pdpu->catalog->perf.safe_lut_tbl in _dpu_plane_set_danger_lut()
383 pdpu->pipe_qos_cfg.danger_lut = danger_lut; in _dpu_plane_set_danger_lut()
384 pdpu->pipe_qos_cfg.safe_lut = safe_lut; in _dpu_plane_set_danger_lut()
386 trace_dpu_perf_set_danger_luts(pdpu->pipe - SSPP_VIG0, in _dpu_plane_set_danger_lut()
389 pdpu->pipe_qos_cfg.danger_lut, in _dpu_plane_set_danger_lut()
390 pdpu->pipe_qos_cfg.safe_lut); in _dpu_plane_set_danger_lut()
394 pdpu->pipe - SSPP_VIG0, in _dpu_plane_set_danger_lut()
397 pdpu->pipe_qos_cfg.danger_lut, in _dpu_plane_set_danger_lut()
398 pdpu->pipe_qos_cfg.safe_lut); in _dpu_plane_set_danger_lut()
400 pdpu->pipe_hw->ops.setup_danger_safe_lut(pdpu->pipe_hw, in _dpu_plane_set_danger_lut()
401 &pdpu->pipe_qos_cfg); in _dpu_plane_set_danger_lut()
413 struct dpu_plane *pdpu = to_dpu_plane(plane); in _dpu_plane_set_qos_ctrl() local
416 pdpu->pipe_qos_cfg.creq_vblank = pdpu->pipe_sblk->creq_vblank; in _dpu_plane_set_qos_ctrl()
417 pdpu->pipe_qos_cfg.danger_vblank = in _dpu_plane_set_qos_ctrl()
418 pdpu->pipe_sblk->danger_vblank; in _dpu_plane_set_qos_ctrl()
419 pdpu->pipe_qos_cfg.vblank_en = enable; in _dpu_plane_set_qos_ctrl()
424 pdpu->pipe_qos_cfg.vblank_en = false; in _dpu_plane_set_qos_ctrl()
425 pdpu->pipe_qos_cfg.creq_vblank = 0; /* clear vblank bits */ in _dpu_plane_set_qos_ctrl()
429 pdpu->pipe_qos_cfg.danger_safe_en = enable; in _dpu_plane_set_qos_ctrl()
431 if (!pdpu->is_rt_pipe) { in _dpu_plane_set_qos_ctrl()
432 pdpu->pipe_qos_cfg.vblank_en = false; in _dpu_plane_set_qos_ctrl()
433 pdpu->pipe_qos_cfg.danger_safe_en = false; in _dpu_plane_set_qos_ctrl()
438 pdpu->pipe - SSPP_VIG0, in _dpu_plane_set_qos_ctrl()
439 pdpu->pipe_qos_cfg.danger_safe_en, in _dpu_plane_set_qos_ctrl()
440 pdpu->pipe_qos_cfg.vblank_en, in _dpu_plane_set_qos_ctrl()
441 pdpu->pipe_qos_cfg.creq_vblank, in _dpu_plane_set_qos_ctrl()
442 pdpu->pipe_qos_cfg.danger_vblank, in _dpu_plane_set_qos_ctrl()
443 pdpu->is_rt_pipe); in _dpu_plane_set_qos_ctrl()
445 pdpu->pipe_hw->ops.setup_qos_ctrl(pdpu->pipe_hw, in _dpu_plane_set_qos_ctrl()
446 &pdpu->pipe_qos_cfg); in _dpu_plane_set_qos_ctrl()
457 struct dpu_plane *pdpu = to_dpu_plane(plane); in _dpu_plane_set_ot_limit() local
462 ot_params.xin_id = pdpu->pipe_hw->cap->xin_id; in _dpu_plane_set_ot_limit()
463 ot_params.num = pdpu->pipe_hw->idx - SSPP_NONE; in _dpu_plane_set_ot_limit()
464 ot_params.width = drm_rect_width(&pdpu->pipe_cfg.src_rect); in _dpu_plane_set_ot_limit()
465 ot_params.height = drm_rect_height(&pdpu->pipe_cfg.src_rect); in _dpu_plane_set_ot_limit()
466 ot_params.is_wfd = !pdpu->is_rt_pipe; in _dpu_plane_set_ot_limit()
469 ot_params.clk_ctrl = pdpu->pipe_hw->cap->clk_ctrl; in _dpu_plane_set_ot_limit()
481 struct dpu_plane *pdpu = to_dpu_plane(plane); in _dpu_plane_set_qos_remap() local
487 qos_params.clk_ctrl = pdpu->pipe_hw->cap->clk_ctrl; in _dpu_plane_set_qos_remap()
488 qos_params.xin_id = pdpu->pipe_hw->cap->xin_id; in _dpu_plane_set_qos_remap()
489 qos_params.num = pdpu->pipe_hw->idx - SSPP_VIG0; in _dpu_plane_set_qos_remap()
490 qos_params.is_rt = pdpu->is_rt_pipe; in _dpu_plane_set_qos_remap()
506 struct dpu_plane *pdpu = to_dpu_plane(plane); in _dpu_plane_set_scanout() local
507 struct dpu_kms *kms = _dpu_plane_get_kms(&pdpu->base); in _dpu_plane_set_scanout()
513 DPU_DEBUG_PLANE(pdpu, "not updating same src addrs\n"); in _dpu_plane_set_scanout()
515 DPU_ERROR_PLANE(pdpu, "failed to get format layout, %d\n", ret); in _dpu_plane_set_scanout()
516 else if (pdpu->pipe_hw->ops.setup_sourceaddress) { in _dpu_plane_set_scanout()
517 trace_dpu_plane_set_scanout(pdpu->pipe_hw->idx, in _dpu_plane_set_scanout()
520 pdpu->pipe_hw->ops.setup_sourceaddress(pdpu->pipe_hw, pipe_cfg, in _dpu_plane_set_scanout()
525 static void _dpu_plane_setup_scaler3(struct dpu_plane *pdpu, in _dpu_plane_setup_scaler3() argument
566 if (pdpu->pipe_hw->cap->features & in _dpu_plane_setup_scaler3()
594 static void _dpu_plane_setup_csc(struct dpu_plane *pdpu) in _dpu_plane_setup_csc() argument
625 if (!pdpu) { in _dpu_plane_setup_csc()
630 if (BIT(DPU_SSPP_CSC_10BIT) & pdpu->features) in _dpu_plane_setup_csc()
631 pdpu->csc_ptr = (struct dpu_csc_cfg *)&dpu_csc10_YUV2RGB_601L; in _dpu_plane_setup_csc()
633 pdpu->csc_ptr = (struct dpu_csc_cfg *)&dpu_csc_YUV2RGB_601L; in _dpu_plane_setup_csc()
635 DPU_DEBUG_PLANE(pdpu, "using 0x%X 0x%X 0x%X...\n", in _dpu_plane_setup_csc()
636 pdpu->csc_ptr->csc_mv[0], in _dpu_plane_setup_csc()
637 pdpu->csc_ptr->csc_mv[1], in _dpu_plane_setup_csc()
638 pdpu->csc_ptr->csc_mv[2]); in _dpu_plane_setup_csc()
641 static void _dpu_plane_setup_scaler(struct dpu_plane *pdpu, in _dpu_plane_setup_scaler() argument
649 _dpu_plane_setup_scaler3(pdpu, pstate, in _dpu_plane_setup_scaler()
650 drm_rect_width(&pdpu->pipe_cfg.src_rect), in _dpu_plane_setup_scaler()
651 drm_rect_height(&pdpu->pipe_cfg.src_rect), in _dpu_plane_setup_scaler()
652 drm_rect_width(&pdpu->pipe_cfg.dst_rect), in _dpu_plane_setup_scaler()
653 drm_rect_height(&pdpu->pipe_cfg.dst_rect), in _dpu_plane_setup_scaler()
665 static int _dpu_plane_color_fill(struct dpu_plane *pdpu, in _dpu_plane_color_fill() argument
669 const struct drm_plane *plane = &pdpu->base; in _dpu_plane_color_fill()
672 DPU_DEBUG_PLANE(pdpu, "\n"); in _dpu_plane_color_fill()
681 if (fmt && pdpu->pipe_hw->ops.setup_solidfill) { in _dpu_plane_color_fill()
682 pdpu->pipe_hw->ops.setup_solidfill(pdpu->pipe_hw, in _dpu_plane_color_fill()
687 pdpu->pipe_cfg.src_rect.x1 = 0; in _dpu_plane_color_fill()
688 pdpu->pipe_cfg.src_rect.y1 = 0; in _dpu_plane_color_fill()
689 pdpu->pipe_cfg.src_rect.x2 = in _dpu_plane_color_fill()
690 drm_rect_width(&pdpu->pipe_cfg.dst_rect); in _dpu_plane_color_fill()
691 pdpu->pipe_cfg.src_rect.y2 = in _dpu_plane_color_fill()
692 drm_rect_height(&pdpu->pipe_cfg.dst_rect); in _dpu_plane_color_fill()
693 _dpu_plane_setup_scaler(pdpu, pstate, fmt, true); in _dpu_plane_color_fill()
695 if (pdpu->pipe_hw->ops.setup_format) in _dpu_plane_color_fill()
696 pdpu->pipe_hw->ops.setup_format(pdpu->pipe_hw, in _dpu_plane_color_fill()
700 if (pdpu->pipe_hw->ops.setup_rects) in _dpu_plane_color_fill()
701 pdpu->pipe_hw->ops.setup_rects(pdpu->pipe_hw, in _dpu_plane_color_fill()
702 &pdpu->pipe_cfg, in _dpu_plane_color_fill()
705 if (pdpu->pipe_hw->ops.setup_pe) in _dpu_plane_color_fill()
706 pdpu->pipe_hw->ops.setup_pe(pdpu->pipe_hw, in _dpu_plane_color_fill()
709 if (pdpu->pipe_hw->ops.setup_scaler && in _dpu_plane_color_fill()
711 pdpu->pipe_hw->ops.setup_scaler(pdpu->pipe_hw, in _dpu_plane_color_fill()
712 &pdpu->pipe_cfg, &pstate->pixel_ext, in _dpu_plane_color_fill()
859 struct dpu_plane *pdpu = to_dpu_plane(plane); in dpu_plane_prepare_fb() local
862 struct dpu_kms *kms = _dpu_plane_get_kms(&pdpu->base); in dpu_plane_prepare_fb()
868 DPU_DEBUG_PLANE(pdpu, "FB[%u]\n", fb->base.id); in dpu_plane_prepare_fb()
893 DPU_ERROR_PLANE(pdpu, "failed to get format layout, %d\n", ret); in dpu_plane_prepare_fb()
903 struct dpu_plane *pdpu = to_dpu_plane(plane); in dpu_plane_cleanup_fb() local
911 DPU_DEBUG_PLANE(pdpu, "FB[%u]\n", old_state->fb->base.id); in dpu_plane_cleanup_fb()
939 struct dpu_plane *pdpu = to_dpu_plane(plane); in dpu_plane_atomic_check() local
949 min_scale = FRAC_16_16(1, pdpu->pipe_sblk->maxupscale); in dpu_plane_atomic_check()
951 pdpu->pipe_sblk->maxdwnscale << 16, in dpu_plane_atomic_check()
954 DPU_DEBUG_PLANE(pdpu, "Check plane state failed (%d)\n", ret); in dpu_plane_atomic_check()
970 max_linewidth = pdpu->catalog->caps->max_linewidth; in dpu_plane_atomic_check()
977 (!(pdpu->features & DPU_SSPP_SCALER) || in dpu_plane_atomic_check()
978 !(pdpu->features & (BIT(DPU_SSPP_CSC) in dpu_plane_atomic_check()
980 DPU_DEBUG_PLANE(pdpu, in dpu_plane_atomic_check()
986 DPU_DEBUG_PLANE(pdpu, "invalid source " DRM_RECT_FMT "\n", in dpu_plane_atomic_check()
995 DPU_DEBUG_PLANE(pdpu, "invalid yuv source " DRM_RECT_FMT "\n", in dpu_plane_atomic_check()
1001 DPU_DEBUG_PLANE(pdpu, "invalid dest rect " DRM_RECT_FMT "\n", in dpu_plane_atomic_check()
1007 DPU_DEBUG_PLANE(pdpu, "invalid src " DRM_RECT_FMT " line:%u\n", in dpu_plane_atomic_check()
1017 struct dpu_plane *pdpu; in dpu_plane_flush() local
1025 pdpu = to_dpu_plane(plane); in dpu_plane_flush()
1032 if (pdpu->is_error) in dpu_plane_flush()
1034 _dpu_plane_color_fill(pdpu, 0xFFFFFF, 0xFF); in dpu_plane_flush()
1035 else if (pdpu->color_fill & DPU_PLANE_COLOR_FILL_FLAG) in dpu_plane_flush()
1037 _dpu_plane_color_fill(pdpu, pdpu->color_fill, 0xFF); in dpu_plane_flush()
1038 else if (pdpu->pipe_hw && pdpu->csc_ptr && pdpu->pipe_hw->ops.setup_csc) in dpu_plane_flush()
1039 pdpu->pipe_hw->ops.setup_csc(pdpu->pipe_hw, pdpu->csc_ptr); in dpu_plane_flush()
1052 struct dpu_plane *pdpu; in dpu_plane_set_error() local
1057 pdpu = to_dpu_plane(plane); in dpu_plane_set_error()
1058 pdpu->is_error = error; in dpu_plane_set_error()
1064 struct dpu_plane *pdpu = to_dpu_plane(plane); in dpu_plane_sspp_atomic_update() local
1072 memset(&(pdpu->pipe_cfg), 0, sizeof(struct dpu_hw_pipe_cfg)); in dpu_plane_sspp_atomic_update()
1074 _dpu_plane_set_scanout(plane, pstate, &pdpu->pipe_cfg, fb); in dpu_plane_sspp_atomic_update()
1078 pdpu->is_rt_pipe = (dpu_crtc_get_client_type(crtc) != NRT_CLIENT); in dpu_plane_sspp_atomic_update()
1081 DPU_DEBUG_PLANE(pdpu, "FB[%u] " DRM_RECT_FP_FMT "->crtc%u " DRM_RECT_FMT in dpu_plane_sspp_atomic_update()
1086 pdpu->pipe_cfg.src_rect = state->src; in dpu_plane_sspp_atomic_update()
1089 pdpu->pipe_cfg.src_rect.x1 >>= 16; in dpu_plane_sspp_atomic_update()
1090 pdpu->pipe_cfg.src_rect.x2 >>= 16; in dpu_plane_sspp_atomic_update()
1091 pdpu->pipe_cfg.src_rect.y1 >>= 16; in dpu_plane_sspp_atomic_update()
1092 pdpu->pipe_cfg.src_rect.y2 >>= 16; in dpu_plane_sspp_atomic_update()
1094 pdpu->pipe_cfg.dst_rect = state->dst; in dpu_plane_sspp_atomic_update()
1096 _dpu_plane_setup_scaler(pdpu, pstate, fmt, false); in dpu_plane_sspp_atomic_update()
1099 if (pdpu->color_fill & DPU_PLANE_COLOR_FILL_FLAG) { in dpu_plane_sspp_atomic_update()
1104 if (pdpu->pipe_hw->ops.setup_rects) { in dpu_plane_sspp_atomic_update()
1105 pdpu->pipe_hw->ops.setup_rects(pdpu->pipe_hw, in dpu_plane_sspp_atomic_update()
1106 &pdpu->pipe_cfg, in dpu_plane_sspp_atomic_update()
1110 if (pdpu->pipe_hw->ops.setup_pe && in dpu_plane_sspp_atomic_update()
1112 pdpu->pipe_hw->ops.setup_pe(pdpu->pipe_hw, in dpu_plane_sspp_atomic_update()
1120 if (pdpu->pipe_hw->ops.setup_scaler && in dpu_plane_sspp_atomic_update()
1122 pdpu->pipe_hw->ops.setup_scaler(pdpu->pipe_hw, in dpu_plane_sspp_atomic_update()
1123 &pdpu->pipe_cfg, &pstate->pixel_ext, in dpu_plane_sspp_atomic_update()
1126 if (pdpu->pipe_hw->ops.setup_multirect) in dpu_plane_sspp_atomic_update()
1127 pdpu->pipe_hw->ops.setup_multirect( in dpu_plane_sspp_atomic_update()
1128 pdpu->pipe_hw, in dpu_plane_sspp_atomic_update()
1132 if (pdpu->pipe_hw->ops.setup_format) { in dpu_plane_sspp_atomic_update()
1149 pdpu->pipe_hw->ops.setup_format(pdpu->pipe_hw, fmt, src_flags, in dpu_plane_sspp_atomic_update()
1152 if (pdpu->pipe_hw->ops.setup_cdp) { in dpu_plane_sspp_atomic_update()
1157 cdp_cfg->enable = pdpu->catalog->perf.cdp_cfg in dpu_plane_sspp_atomic_update()
1166 pdpu->pipe_hw->ops.setup_cdp(pdpu->pipe_hw, cdp_cfg); in dpu_plane_sspp_atomic_update()
1171 _dpu_plane_setup_csc(pdpu); in dpu_plane_sspp_atomic_update()
1173 pdpu->csc_ptr = 0; in dpu_plane_sspp_atomic_update()
1193 struct dpu_plane *pdpu = to_dpu_plane(plane); in _dpu_plane_atomic_disable() local
1203 pdpu->pipe_hw && pdpu->pipe_hw->ops.setup_multirect) in _dpu_plane_atomic_disable()
1204 pdpu->pipe_hw->ops.setup_multirect(pdpu->pipe_hw, in _dpu_plane_atomic_disable()
1211 struct dpu_plane *pdpu = to_dpu_plane(plane); in dpu_plane_atomic_update() local
1214 pdpu->is_error = false; in dpu_plane_atomic_update()
1216 DPU_DEBUG_PLANE(pdpu, "\n"); in dpu_plane_atomic_update()
1227 struct dpu_plane *pdpu; in dpu_plane_restore() local
1234 pdpu = to_dpu_plane(plane); in dpu_plane_restore()
1236 DPU_DEBUG_PLANE(pdpu, "\n"); in dpu_plane_restore()
1244 struct dpu_plane *pdpu = plane ? to_dpu_plane(plane) : NULL; in dpu_plane_destroy() local
1246 DPU_DEBUG_PLANE(pdpu, "\n"); in dpu_plane_destroy()
1248 if (pdpu) { in dpu_plane_destroy()
1251 mutex_destroy(&pdpu->lock); in dpu_plane_destroy()
1256 dpu_hw_sspp_destroy(pdpu->pipe_hw); in dpu_plane_destroy()
1258 kfree(pdpu); in dpu_plane_destroy()
1272 struct dpu_plane *pdpu; in dpu_plane_duplicate_state() local
1285 pdpu = to_dpu_plane(plane); in dpu_plane_duplicate_state()
1288 DPU_ERROR_PLANE(pdpu, "failed to allocate state\n"); in dpu_plane_duplicate_state()
1292 DPU_DEBUG_PLANE(pdpu, "\n"); in dpu_plane_duplicate_state()
1303 struct dpu_plane *pdpu; in dpu_plane_reset() local
1311 pdpu = to_dpu_plane(plane); in dpu_plane_reset()
1312 DPU_DEBUG_PLANE(pdpu, "\n"); in dpu_plane_reset()
1322 DPU_ERROR_PLANE(pdpu, "failed to allocate state\n"); in dpu_plane_reset()
1334 struct dpu_plane *pdpu = to_dpu_plane(plane); in dpu_plane_danger_signal_ctrl() local
1337 if (!pdpu->is_rt_pipe) in dpu_plane_danger_signal_ctrl()
1414 struct dpu_plane *pdpu = to_dpu_plane(plane); in _dpu_plane_init_debugfs() local
1416 const struct dpu_sspp_cfg *cfg = pdpu->pipe_hw->cap; in _dpu_plane_init_debugfs()
1420 pdpu->debugfs_root = in _dpu_plane_init_debugfs()
1421 debugfs_create_dir(pdpu->pipe_name, in _dpu_plane_init_debugfs()
1426 pdpu->debugfs_root, &pdpu->features); in _dpu_plane_init_debugfs()
1429 dpu_debugfs_setup_regset32(&pdpu->debugfs_src, in _dpu_plane_init_debugfs()
1434 pdpu->debugfs_root, &pdpu->debugfs_src); in _dpu_plane_init_debugfs()
1439 dpu_debugfs_setup_regset32(&pdpu->debugfs_scaler, in _dpu_plane_init_debugfs()
1444 pdpu->debugfs_root, in _dpu_plane_init_debugfs()
1445 &pdpu->debugfs_scaler); in _dpu_plane_init_debugfs()
1448 pdpu->debugfs_root, in _dpu_plane_init_debugfs()
1449 &pdpu->debugfs_default_scale); in _dpu_plane_init_debugfs()
1454 dpu_debugfs_setup_regset32(&pdpu->debugfs_csc, in _dpu_plane_init_debugfs()
1459 pdpu->debugfs_root, &pdpu->debugfs_csc); in _dpu_plane_init_debugfs()
1464 pdpu->debugfs_root, in _dpu_plane_init_debugfs()
1468 pdpu->debugfs_root, in _dpu_plane_init_debugfs()
1472 pdpu->debugfs_root, in _dpu_plane_init_debugfs()
1476 pdpu->debugfs_root, in _dpu_plane_init_debugfs()
1481 pdpu->debugfs_root, in _dpu_plane_init_debugfs()
1500 struct dpu_plane *pdpu = to_dpu_plane(plane); in dpu_plane_early_unregister() local
1502 debugfs_remove_recursive(pdpu->debugfs_root); in dpu_plane_early_unregister()
1558 struct dpu_plane *pdpu; in dpu_plane_init() local
1566 pdpu = kzalloc(sizeof(*pdpu), GFP_KERNEL); in dpu_plane_init()
1567 if (!pdpu) { in dpu_plane_init()
1574 plane = &pdpu->base; in dpu_plane_init()
1575 pdpu->pipe = pipe; in dpu_plane_init()
1576 pdpu->is_virtual = (master_plane_id != 0); in dpu_plane_init()
1577 INIT_LIST_HEAD(&pdpu->mplane_list); in dpu_plane_init()
1582 list_add_tail(&pdpu->mplane_list, &mpdpu->mplane_list); in dpu_plane_init()
1586 pdpu->pipe_hw = dpu_hw_sspp_init(pipe, kms->mmio, kms->catalog, in dpu_plane_init()
1588 if (IS_ERR(pdpu->pipe_hw)) { in dpu_plane_init()
1590 ret = PTR_ERR(pdpu->pipe_hw); in dpu_plane_init()
1592 } else if (!pdpu->pipe_hw->cap || !pdpu->pipe_hw->cap->sblk) { in dpu_plane_init()
1598 pdpu->features = pdpu->pipe_hw->cap->features; in dpu_plane_init()
1599 pdpu->pipe_sblk = pdpu->pipe_hw->cap->sblk; in dpu_plane_init()
1600 if (!pdpu->pipe_sblk) { in dpu_plane_init()
1605 if (pdpu->is_virtual) { in dpu_plane_init()
1606 format_list = pdpu->pipe_sblk->virt_format_list; in dpu_plane_init()
1607 num_formats = pdpu->pipe_sblk->virt_num_formats; in dpu_plane_init()
1610 format_list = pdpu->pipe_sblk->format_list; in dpu_plane_init()
1611 num_formats = pdpu->pipe_sblk->num_formats; in dpu_plane_init()
1620 pdpu->catalog = kms->catalog; in dpu_plane_init()
1646 snprintf(pdpu->pipe_name, DPU_NAME_SIZE, "plane%u", plane->base.id); in dpu_plane_init()
1648 mutex_init(&pdpu->lock); in dpu_plane_init()
1650 DPU_DEBUG("%s created for pipe:%u id:%u virtual:%u\n", pdpu->pipe_name, in dpu_plane_init()
1655 if (pdpu && pdpu->pipe_hw) in dpu_plane_init()
1656 dpu_hw_sspp_destroy(pdpu->pipe_hw); in dpu_plane_init()
1658 kfree(pdpu); in dpu_plane_init()