drm/msm/dpu: update bandwidth threshold check
authorKrishna Manikandan <mkrishn@codeaurora.org>
Mon, 4 May 2020 13:31:03 +0000 (19:01 +0530)
committerRob Clark <robdclark@chromium.org>
Mon, 18 May 2020 16:26:32 +0000 (09:26 -0700)
Maximum allowed bandwidth  has no dependency on the type
of panel used. Hence, cleanup the code to use max_bw_high
as the threshold value for bandwidth checks.

Update the maximum allowed bandwidth as 6.8Gbps for
SC7180 target.

Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c

index 24874f6..9697abc 100644 (file)
@@ -103,22 +103,6 @@ static struct dpu_kms *_dpu_crtc_get_kms(struct drm_crtc *crtc)
        return to_dpu_kms(priv->kms);
 }
 
-static bool _dpu_core_video_mode_intf_connected(struct drm_crtc *crtc)
-{
-       struct drm_crtc *tmp_crtc;
-
-       drm_for_each_crtc(tmp_crtc, crtc->dev) {
-               if ((dpu_crtc_get_intf_mode(tmp_crtc) == INTF_MODE_VIDEO) &&
-                               tmp_crtc->enabled) {
-                       DPU_DEBUG("video interface connected crtc:%d\n",
-                               tmp_crtc->base.id);
-                       return true;
-               }
-       }
-
-       return false;
-}
-
 static void _dpu_core_perf_calc_crtc(struct dpu_kms *kms,
                struct drm_crtc *crtc,
                struct drm_crtc_state *state,
@@ -160,7 +144,6 @@ int dpu_core_perf_crtc_check(struct drm_crtc *crtc,
        u32 bw, threshold;
        u64 bw_sum_of_intfs = 0;
        enum dpu_crtc_client_type curr_client_type;
-       bool is_video_mode;
        struct dpu_crtc_state *dpu_cstate;
        struct drm_crtc *tmp_crtc;
        struct dpu_kms *kms;
@@ -206,11 +189,7 @@ int dpu_core_perf_crtc_check(struct drm_crtc *crtc,
                bw = DIV_ROUND_UP_ULL(bw_sum_of_intfs, 1000);
                DPU_DEBUG("calculated bandwidth=%uk\n", bw);
 
-               is_video_mode = dpu_crtc_get_intf_mode(crtc) == INTF_MODE_VIDEO;
-               threshold = (is_video_mode ||
-                       _dpu_core_video_mode_intf_connected(crtc)) ?
-                       kms->catalog->perf.max_bw_low :
-                       kms->catalog->perf.max_bw_high;
+               threshold = kms->catalog->perf.max_bw_high;
 
                DPU_DEBUG("final threshold bw limit = %d\n", threshold);
 
index cc8bf06..8f2357d 100644 (file)
@@ -537,8 +537,8 @@ static const struct dpu_perf_cfg sdm845_perf_data = {
 };
 
 static const struct dpu_perf_cfg sc7180_perf_data = {
-       .max_bw_low = 3900000,
-       .max_bw_high = 5500000,
+       .max_bw_low = 6800000,
+       .max_bw_high = 6800000,
        .min_core_ib = 2400000,
        .min_llcc_ib = 800000,
        .min_dram_ib = 1600000,