Commit 71dc6c08 authored by Krishna Manikandan's avatar Krishna Manikandan Committed by Rob Clark
Browse files

drm/msm/dpu: update bandwidth threshold check



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: default avatarKrishna Manikandan <mkrishn@codeaurora.org>
Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
parent 04d9044f
Loading
Loading
Loading
Loading
+1 −22
Original line number Diff line number Diff line
@@ -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);

+2 −2
Original line number Diff line number Diff line
@@ -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,