]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
drm/msm/dpu: remove unused dpu_plane_validate_multirect_v2 function
authorAbhinav Kumar <quic_abhinavk@quicinc.com>
Thu, 16 Mar 2023 16:16:53 +0000 (19:16 +0300)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Thu, 6 Apr 2023 17:29:43 +0000 (20:29 +0300)
After cleaning up the older multirect support the function
dpu_plane_validate_multirect_v2() is unused. Lets remove it.

Signed-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
[DB: also drop struct dpu_multirect_plane_states and R0/R1/R_MAX]
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/527348/
Link: https://lore.kernel.org/r/20230316161653.4106395-33-dmitry.baryshkov@linaro.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h

index 8fa4fafe7f17f929244a80c04cfe156122cb2d6a..14b5cfe30611396d5ceee44e722b676d05697c33 100644 (file)
 #define DPU_PLANE_COLOR_FILL_FLAG      BIT(31)
 #define DPU_ZPOS_MAX 255
 
-/* multirect rect index */
-enum {
-       R0,
-       R1,
-       R_MAX
-};
-
 /*
  * Default Preload Values
  */
@@ -708,117 +701,6 @@ static void _dpu_plane_color_fill(struct dpu_plane *pdpu,
                                           fill_color, fmt);
 }
 
-int dpu_plane_validate_multirect_v2(struct dpu_multirect_plane_states *plane)
-{
-       struct dpu_plane_state *pstate[R_MAX];
-       const struct drm_plane_state *drm_state[R_MAX];
-       struct drm_rect src[R_MAX], dst[R_MAX];
-       struct dpu_plane *dpu_plane[R_MAX];
-       const struct dpu_format *fmt[R_MAX];
-       int i, buffer_lines;
-       unsigned int max_tile_height = 1;
-       bool parallel_fetch_qualified = true;
-       bool has_tiled_rect = false;
-
-       for (i = 0; i < R_MAX; i++) {
-               const struct msm_format *msm_fmt;
-
-               drm_state[i] = i ? plane->r1 : plane->r0;
-               msm_fmt = msm_framebuffer_format(drm_state[i]->fb);
-               fmt[i] = to_dpu_format(msm_fmt);
-
-               if (DPU_FORMAT_IS_UBWC(fmt[i])) {
-                       has_tiled_rect = true;
-                       if (fmt[i]->tile_height > max_tile_height)
-                               max_tile_height = fmt[i]->tile_height;
-               }
-       }
-
-       for (i = 0; i < R_MAX; i++) {
-               int width_threshold;
-
-               pstate[i] = to_dpu_plane_state(drm_state[i]);
-               dpu_plane[i] = to_dpu_plane(drm_state[i]->plane);
-
-               if (pstate[i] == NULL) {
-                       DPU_ERROR("DPU plane state of plane id %d is NULL\n",
-                               drm_state[i]->plane->base.id);
-                       return -EINVAL;
-               }
-
-               src[i].x1 = drm_state[i]->src_x >> 16;
-               src[i].y1 = drm_state[i]->src_y >> 16;
-               src[i].x2 = src[i].x1 + (drm_state[i]->src_w >> 16);
-               src[i].y2 = src[i].y1 + (drm_state[i]->src_h >> 16);
-
-               dst[i] = drm_plane_state_dest(drm_state[i]);
-
-               if (drm_rect_calc_hscale(&src[i], &dst[i], 1, 1) != 1 ||
-                   drm_rect_calc_vscale(&src[i], &dst[i], 1, 1) != 1) {
-                       DPU_ERROR_PLANE(dpu_plane[i],
-                               "scaling is not supported in multirect mode\n");
-                       return -EINVAL;
-               }
-
-               if (DPU_FORMAT_IS_YUV(fmt[i])) {
-                       DPU_ERROR_PLANE(dpu_plane[i],
-                               "Unsupported format for multirect mode\n");
-                       return -EINVAL;
-               }
-
-               /**
-                * SSPP PD_MEM is split half - one for each RECT.
-                * Tiled formats need 5 lines of buffering while fetching
-                * whereas linear formats need only 2 lines.
-                * So we cannot support more than half of the supported SSPP
-                * width for tiled formats.
-                */
-               width_threshold = dpu_plane[i]->catalog->caps->max_linewidth;
-               if (has_tiled_rect)
-                       width_threshold /= 2;
-
-               if (parallel_fetch_qualified &&
-                   drm_rect_width(&src[i]) > width_threshold)
-                       parallel_fetch_qualified = false;
-
-       }
-
-       /* Validate RECT's and set the mode */
-
-       /* Prefer PARALLEL FETCH Mode over TIME_MX Mode */
-       if (parallel_fetch_qualified) {
-               pstate[R0]->pipe.multirect_mode = DPU_SSPP_MULTIRECT_PARALLEL;
-               pstate[R1]->pipe.multirect_mode = DPU_SSPP_MULTIRECT_PARALLEL;
-
-               goto done;
-       }
-
-       /* TIME_MX Mode */
-       buffer_lines = 2 * max_tile_height;
-
-       if (dst[R1].y1 >= dst[R0].y2 + buffer_lines ||
-           dst[R0].y1 >= dst[R1].y2 + buffer_lines) {
-               pstate[R0]->pipe.multirect_mode = DPU_SSPP_MULTIRECT_TIME_MX;
-               pstate[R1]->pipe.multirect_mode = DPU_SSPP_MULTIRECT_TIME_MX;
-       } else {
-               DPU_ERROR(
-                       "No multirect mode possible for the planes (%d - %d)\n",
-                       drm_state[R0]->plane->base.id,
-                       drm_state[R1]->plane->base.id);
-               return -EINVAL;
-       }
-
-done:
-       pstate[R0]->pipe.multirect_index = DPU_SSPP_RECT_0;
-       pstate[R1]->pipe.multirect_index = DPU_SSPP_RECT_1;
-
-       DPU_DEBUG_PLANE(dpu_plane[R0], "R0: %d - %d\n",
-               pstate[R0]->pipe.multirect_mode, pstate[R0]->pipe.multirect_index);
-       DPU_DEBUG_PLANE(dpu_plane[R1], "R1: %d - %d\n",
-               pstate[R1]->pipe.multirect_mode, pstate[R1]->pipe.multirect_index);
-       return 0;
-}
-
 static int dpu_plane_prepare_fb(struct drm_plane *plane,
                struct drm_plane_state *new_state)
 {
index 7490ffd94d030ebbff752ddf700b3c2d2dd8c70e..abd6b21a049bde844a8bdb6641a7636e27b3eb4c 100644 (file)
@@ -50,16 +50,6 @@ struct dpu_plane_state {
        unsigned int rotation;
 };
 
-/**
- * struct dpu_multirect_plane_states: Defines multirect pair of drm plane states
- * @r0: drm plane configured on rect 0
- * @r1: drm plane configured on rect 1
- */
-struct dpu_multirect_plane_states {
-       const struct drm_plane_state *r0;
-       const struct drm_plane_state *r1;
-};
-
 #define to_dpu_plane_state(x) \
        container_of(x, struct dpu_plane_state, base)
 
@@ -87,13 +77,6 @@ struct drm_plane *dpu_plane_init(struct drm_device *dev,
                uint32_t pipe, enum drm_plane_type type,
                unsigned long possible_crtcs);
 
-/**
- * dpu_plane_validate_multirecti_v2 - validate the multirect planes
- *                                   against hw limitations
- * @plane: drm plate states of the multirect pair
- */
-int dpu_plane_validate_multirect_v2(struct dpu_multirect_plane_states *plane);
-
 /**
  * dpu_plane_color_fill - enables color fill on plane
  * @plane:  Pointer to DRM plane object