Commit a43a02d8 authored by Imre Deak's avatar Imre Deak
Browse files

drm/i915/display: Factor out intel_display_{min, max}_pipe_bpp()



Factor out helpers that can be used in a follow-up change to query the
minimum and maximum pipe bpp supported by the HW.

Reviewed-by: default avatarAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
Link: https://lore.kernel.org/r/20250509180340.554867-10-imre.deak@intel.com
parent 00f00859
Loading
Loading
Loading
Loading
+18 −10
Original line number Diff line number Diff line
@@ -4318,6 +4318,22 @@ compute_sink_pipe_bpp(const struct drm_connector_state *conn_state,
	return 0;
}

int intel_display_min_pipe_bpp(void)
{
	return 6 * 3;
}

int intel_display_max_pipe_bpp(struct intel_display *display)
{
	if (display->platform.g4x || display->platform.valleyview ||
	    display->platform.cherryview)
		return 10*3;
	else if (DISPLAY_VER(display) >= 5)
		return 12*3;
	else
		return 8*3;
}

static int
compute_baseline_pipe_bpp(struct intel_atomic_state *state,
			  struct intel_crtc *crtc)
@@ -4327,17 +4343,9 @@ compute_baseline_pipe_bpp(struct intel_atomic_state *state,
		intel_atomic_get_new_crtc_state(state, crtc);
	struct drm_connector *connector;
	struct drm_connector_state *connector_state;
	int bpp, i;

	if (display->platform.g4x || display->platform.valleyview ||
	    display->platform.cherryview)
		bpp = 10*3;
	else if (DISPLAY_VER(display) >= 5)
		bpp = 12*3;
	else
		bpp = 8*3;
	int i;

	crtc_state->pipe_bpp = bpp;
	crtc_state->pipe_bpp = intel_display_max_pipe_bpp(display);

	/* Clamp display bpp to connector max bpp */
	for_each_new_connector_in_state(&state->base, connector, connector_state, i) {
+3 −0
Original line number Diff line number Diff line
@@ -524,6 +524,9 @@ void intel_plane_fixup_bitmasks(struct intel_crtc_state *crtc_state);
bool intel_crtc_vrr_disabling(struct intel_atomic_state *state,
			      struct intel_crtc *crtc);

int intel_display_min_pipe_bpp(void);
int intel_display_max_pipe_bpp(struct intel_display *display);

/* modesetting */
int intel_modeset_pipes_in_mask_early(struct intel_atomic_state *state,
				      const char *reason, u8 pipe_mask);
+1 −1
Original line number Diff line number Diff line
@@ -1199,7 +1199,7 @@ intel_dp_output_format(struct intel_connector *connector,
int intel_dp_min_bpp(enum intel_output_format output_format)
{
	if (output_format == INTEL_OUTPUT_FORMAT_RGB)
		return 6 * 3;
		return intel_display_min_pipe_bpp();
	else
		return 8 * 3;
}