@@ -10587,6 +10587,29 @@ connected_sink_compute_bpp(struct intel_connector *connector,
}
}
+static void
+connected_sink_force_bpp(struct intel_digital_connector_state *intel_conn_state,
+ struct intel_crtc_state *pipe_config)
+{
+ enum connector_force_bpc force_bpc = intel_conn_state->force_bpc;
+
+ switch (force_bpc) {
+ case INTEL_FORCE_BPC_AUTO:
+ break;
+ case INTEL_FORCE_BPC_8:
+ pipe_config->pipe_bpp = 8*3;
+ break;
+ case INTEL_FORCE_BPC_10:
+ pipe_config->pipe_bpp = 10*3;
+ break;
+ case INTEL_FORCE_BPC_12:
+ pipe_config->pipe_bpp = 12*3;
+ break;
+ default:
+ break;
+ }
+}
+
static int
compute_baseline_pipe_bpp(struct intel_crtc *crtc,
struct intel_crtc_state *pipe_config)
@@ -10615,6 +10638,8 @@ compute_baseline_pipe_bpp(struct intel_crtc *crtc,
if (connector_state->crtc != &crtc->base)
continue;
+ connected_sink_force_bpp(to_intel_digital_connector_state(connector_state),
+ pipe_config);
connected_sink_compute_bpp(to_intel_connector(connector),
pipe_config);
}
Use the newly added force_bpc connector property to limit pipe bpp. Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Paulo Zanoni <paulo.r.zanoni@intel.com> Cc: Manasi Navare <manasi.d.navare@intel.com> Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com> --- drivers/gpu/drm/i915/intel_display.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)