[Intel-gfx] [PATCH 7/7] drm/i915: FIXMEs for bigjoiner readout

Ville Syrjala ville.syrjala at linux.intel.com
Mon Oct 19 21:43:37 UTC 2020


From: Ville Syrjälä <ville.syrjala at linux.intel.com>

Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_ddi.c     |  7 +++++++
 drivers/gpu/drm/i915/display/intel_display.c | 14 ++++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index 4407ddbca1ff..8540f10477b2 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -4602,6 +4602,13 @@ static int intel_ddi_compute_config(struct intel_encoder *encoder,
 	enum port port = encoder->port;
 	int ret;
 
+	/*
+	 * FIXME setup cpu_transcoder correctly for bigjoiner.
+	 * Not 100% sure we want to call this for both pipes, if
+	 * not we need to do the cpu_transcoder assignment properly
+	 * where we do the master->slave state copy. Which then has
+	 * be done after this guy has been called for the master.
+	 */
 	if (HAS_TRANSCODER(dev_priv, TRANSCODER_EDP) && port == PORT_A)
 		pipe_config->cpu_transcoder = TRANSCODER_EDP;
 
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index d39725453876..c0114afa80d3 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -5855,6 +5855,12 @@ intel_get_crtc_new_encoder(const struct intel_atomic_state *state,
 	int num_encoders = 0;
 	int i;
 
+	/* FIXME handle bigjoiner for hsw_crtc_compute_clock() */
+#if 0
+	if (bigjoiner_slave)
+		crtc = master;
+#endif
+
 	for_each_new_connector_in_state(&state->base, connector, connector_state, i) {
 		if (connector_state->crtc != &crtc->base)
 			continue;
@@ -14516,6 +14522,7 @@ verify_crtc_state(struct intel_crtc *crtc,
 			"(expected %i, found %i)\n",
 			new_crtc_state->hw.active, crtc->active);
 
+	/* FIXME handle bigjoiner */
 	for_each_encoder_on_crtc(dev, &crtc->base, encoder) {
 		enum pipe pipe;
 		bool active;
@@ -18843,6 +18850,13 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev)
 			encoder->get_config(encoder, crtc_state);
 			if (encoder->sync_state)
 				encoder->sync_state(encoder, crtc_state);
+
+			/* FIXME handle bigjoiner */
+			crtc = NULL;//bigjoiner_slave;
+			if (crtc) {
+				crtc_state = to_intel_crtc_state(crtc->base.state);
+				encoder->get_config(encoder, crtc_state);
+			}
 		} else {
 			encoder->base.crtc = NULL;
 		}
-- 
2.26.2



More information about the Intel-gfx mailing list