Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c9a29698 authored by Daniel Vetter's avatar Daniel Vetter
Browse files

drm/i915: clarify preferred sdvo input mode code



- kill intel_sdvo->input_dtd, it's only used as a temporary variable,
  we store the preferred input mode in the adjusted mode at mode_fixup
  time.
- rename the function to make it clear what we want it to do (get the
  preferred mode) and say in a comment what it unfortunately does as a
  side-effect (set the new output timings).

Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-Off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 78d56d78
Loading
Loading
Loading
Loading
+15 −14
Original line number Diff line number Diff line
@@ -140,9 +140,6 @@ struct intel_sdvo {

	/* DDC bus used by this SDVO encoder */
	uint8_t ddc_bus;

	/* Input timings for adjusted_mode */
	struct intel_sdvo_dtd input_dtd;
};

struct intel_sdvo_connector {
@@ -949,11 +946,15 @@ intel_sdvo_set_output_timings_from_mode(struct intel_sdvo *intel_sdvo,
	return true;
}

/* Asks the sdvo controller for the preferred input mode given the output mode.
 * Unfortunately we have to set up the full output mode to do that. */
static bool
intel_sdvo_set_input_timings_for_mode(struct intel_sdvo *intel_sdvo,
intel_sdvo_get_preferred_input_mode(struct intel_sdvo *intel_sdvo,
				    struct drm_display_mode *mode,
				    struct drm_display_mode *adjusted_mode)
{
	struct intel_sdvo_dtd input_dtd;

	/* Reset the input timing to the screen. Assume always input 0. */
	if (!intel_sdvo_set_target_input(intel_sdvo))
		return false;
@@ -965,10 +966,10 @@ intel_sdvo_set_input_timings_for_mode(struct intel_sdvo *intel_sdvo,
		return false;

	if (!intel_sdvo_get_preferred_input_timing(intel_sdvo,
						   &intel_sdvo->input_dtd))
						   &input_dtd))
		return false;

	intel_sdvo_get_mode_from_dtd(adjusted_mode, &intel_sdvo->input_dtd);
	intel_sdvo_get_mode_from_dtd(adjusted_mode, &input_dtd);

	return true;
}
@@ -989,7 +990,7 @@ static bool intel_sdvo_mode_fixup(struct drm_encoder *encoder,
		if (!intel_sdvo_set_output_timings_from_mode(intel_sdvo, mode))
			return false;

		(void) intel_sdvo_set_input_timings_for_mode(intel_sdvo,
		(void) intel_sdvo_get_preferred_input_mode(intel_sdvo,
							   mode,
							   adjusted_mode);
	} else if (intel_sdvo->is_lvds) {
@@ -997,7 +998,7 @@ static bool intel_sdvo_mode_fixup(struct drm_encoder *encoder,
							     intel_sdvo->sdvo_lvds_fixed_mode))
			return false;

		(void) intel_sdvo_set_input_timings_for_mode(intel_sdvo,
		(void) intel_sdvo_get_preferred_input_mode(intel_sdvo,
							   mode,
							   adjusted_mode);
	}