INTF blocks are not really handled by resource manager, they are assigned at dpu_encoder_setup_display using dpu_encoder_get_intf(). Then this allocation is passed to RM and then returned to then dpu_encoder. So allocate them outside of RM and use them directly. While we are at it, drop the lm_max_width from the RM and simplify VBIF handling (move creation/destruction to the RM too). Once this and SSPP handling patches are merged, the RM would handle lifetime of all dpu_hw_* objects. Changes since v3: - Add missing DSPP blocks teardown - Remove dpu_hw_blk from dpu_hw_intf - move dpu_hw_vbif creation/destruction to the RM Changes since v2: - Dropped DSPP, PP and MERGE_3D patches for now. Changes since v1: - Split into separate patch series to ease review. The following changes since commit 6ed95285382d6f90a3c3a11d5806a5eb7db715c3: drm/msm/a5xx: Fix missing CP_PROTECT for SMMU on A540 (2021-12-17 15:09:46 -0800) are available in the Git repository at: https://git.linaro.org/people/dmitry.baryshkov/kernel.git dpu-rm-clean-4 for you to fetch changes up to 95f32a88ae0dd366700e2ebf98d793b41c53aeeb: drm/msm/dpu: move VBIF blocks handling to dpu_rm (2021-12-27 03:41:20 +0300) ---------------------------------------------------------------- Dmitry Baryshkov (5): drm/msm/dpu: drop unused lm_max_width from RM drm/msm/dpu: add DSPP blocks teardown drm/msm/dpu: get INTF blocks directly rather than through RM drm/msm/dpu: stop embedding dpu_hw_blk into dpu_hw_intf drm/msm/dpu: move VBIF blocks handling to dpu_rm drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 36 +------ drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h | 16 --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h | 5 - .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 8 -- .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 8 -- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.h | 11 -- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_vbif.h | 1 + drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 28 +---- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h | 2 - drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 116 ++++++--------------- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h | 31 ++++-- drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c | 26 ++--- 12 files changed, 70 insertions(+), 218 deletions(-)