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

Commit f77076c9 authored by Maarten Lankhorst's avatar Maarten Lankhorst Committed by Jani Nikula
Browse files

drm/i915: Remove use of crtc->config from i915_debugfs.c



crtc->config is updated to always contain to the active crtc_state
and only differs from crtc_state during crtc_disable. It will
eventually be removed, so start with some low hanging fruit.

For crtc->active the situation is the same; it will be removed
eventually. Instead use crtc->state->active.

Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: default avatarMatt Roper <matthew.d.roper@intel.com>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
parent fc467a22
Loading
Loading
Loading
Loading
+27 −15
Original line number Original line Diff line number Diff line
@@ -2779,13 +2779,16 @@ static int i915_display_info(struct seq_file *m, void *unused)
	seq_printf(m, "---------\n");
	seq_printf(m, "---------\n");
	for_each_intel_crtc(dev, crtc) {
	for_each_intel_crtc(dev, crtc) {
		bool active;
		bool active;
		struct intel_crtc_state *pipe_config;
		int x, y;
		int x, y;


		pipe_config = to_intel_crtc_state(crtc->base.state);

		seq_printf(m, "CRTC %d: pipe: %c, active=%s (size=%dx%d)\n",
		seq_printf(m, "CRTC %d: pipe: %c, active=%s (size=%dx%d)\n",
			   crtc->base.base.id, pipe_name(crtc->pipe),
			   crtc->base.base.id, pipe_name(crtc->pipe),
			   yesno(crtc->active), crtc->config->pipe_src_w,
			   yesno(pipe_config->base.active),
			   crtc->config->pipe_src_h);
			   pipe_config->pipe_src_w, pipe_config->pipe_src_h);
		if (crtc->active) {
		if (pipe_config->base.active) {
			intel_crtc_info(m, crtc);
			intel_crtc_info(m, crtc);


			active = cursor_position(dev, crtc->pipe, &x, &y);
			active = cursor_position(dev, crtc->pipe, &x, &y);
@@ -3026,7 +3029,7 @@ static void drrs_status_per_crtc(struct seq_file *m,


	seq_puts(m, "\n\n");
	seq_puts(m, "\n\n");


	if (intel_crtc->config->has_drrs) {
	if (to_intel_crtc_state(intel_crtc->base.state)->has_drrs) {
		struct intel_panel *panel;
		struct intel_panel *panel;


		mutex_lock(&drrs->mutex);
		mutex_lock(&drrs->mutex);
@@ -3078,7 +3081,7 @@ static int i915_drrs_status(struct seq_file *m, void *unused)
	for_each_intel_crtc(dev, intel_crtc) {
	for_each_intel_crtc(dev, intel_crtc) {
		drm_modeset_lock(&intel_crtc->base.mutex, NULL);
		drm_modeset_lock(&intel_crtc->base.mutex, NULL);


		if (intel_crtc->active) {
		if (intel_crtc->base.state->active) {
			active_crtc_cnt++;
			active_crtc_cnt++;
			seq_printf(m, "\nCRTC %d:  ", active_crtc_cnt);
			seq_printf(m, "\nCRTC %d:  ", active_crtc_cnt);


@@ -3620,22 +3623,27 @@ static void hsw_trans_edp_pipe_A_crc_wa(struct drm_device *dev)
	struct drm_i915_private *dev_priv = dev->dev_private;
	struct drm_i915_private *dev_priv = dev->dev_private;
	struct intel_crtc *crtc =
	struct intel_crtc *crtc =
		to_intel_crtc(dev_priv->pipe_to_crtc_mapping[PIPE_A]);
		to_intel_crtc(dev_priv->pipe_to_crtc_mapping[PIPE_A]);
	struct intel_crtc_state *pipe_config;


	drm_modeset_lock_all(dev);
	drm_modeset_lock_all(dev);
	pipe_config = to_intel_crtc_state(crtc->base.state);

	/*
	/*
	 * If we use the eDP transcoder we need to make sure that we don't
	 * If we use the eDP transcoder we need to make sure that we don't
	 * bypass the pfit, since otherwise the pipe CRC source won't work. Only
	 * bypass the pfit, since otherwise the pipe CRC source won't work. Only
	 * relevant on hsw with pipe A when using the always-on power well
	 * relevant on hsw with pipe A when using the always-on power well
	 * routing.
	 * routing.
	 */
	 */
	if (crtc->config->cpu_transcoder == TRANSCODER_EDP &&
	if (pipe_config->cpu_transcoder == TRANSCODER_EDP &&
	    !crtc->config->pch_pfit.enabled) {
	    !pipe_config->pch_pfit.enabled) {
		bool active = crtc->active;
		bool active = pipe_config->base.active;


		if (active)
		if (active) {
			intel_crtc_control(&crtc->base, false);
			intel_crtc_control(&crtc->base, false);
			pipe_config = to_intel_crtc_state(crtc->base.state);
		}


		crtc->config->pch_pfit.force_thru = true;
		pipe_config->pch_pfit.force_thru = true;


		intel_display_power_get(dev_priv,
		intel_display_power_get(dev_priv,
					POWER_DOMAIN_PIPE_PANEL_FITTER(PIPE_A));
					POWER_DOMAIN_PIPE_PANEL_FITTER(PIPE_A));
@@ -3651,6 +3659,7 @@ static void hsw_undo_trans_edp_pipe_A_crc_wa(struct drm_device *dev)
	struct drm_i915_private *dev_priv = dev->dev_private;
	struct drm_i915_private *dev_priv = dev->dev_private;
	struct intel_crtc *crtc =
	struct intel_crtc *crtc =
		to_intel_crtc(dev_priv->pipe_to_crtc_mapping[PIPE_A]);
		to_intel_crtc(dev_priv->pipe_to_crtc_mapping[PIPE_A]);
	struct intel_crtc_state *pipe_config;


	drm_modeset_lock_all(dev);
	drm_modeset_lock_all(dev);
	/*
	/*
@@ -3659,13 +3668,16 @@ static void hsw_undo_trans_edp_pipe_A_crc_wa(struct drm_device *dev)
	 * relevant on hsw with pipe A when using the always-on power well
	 * relevant on hsw with pipe A when using the always-on power well
	 * routing.
	 * routing.
	 */
	 */
	if (crtc->config->pch_pfit.force_thru) {
	pipe_config = to_intel_crtc_state(crtc->base.state);
		bool active = crtc->active;
	if (pipe_config->pch_pfit.force_thru) {
		bool active = pipe_config->base.active;


		if (active)
		if (active) {
			intel_crtc_control(&crtc->base, false);
			intel_crtc_control(&crtc->base, false);
			pipe_config = to_intel_crtc_state(crtc->base.state);
		}


		crtc->config->pch_pfit.force_thru = false;
		pipe_config->pch_pfit.force_thru = false;


		intel_display_power_put(dev_priv,
		intel_display_power_put(dev_priv,
					POWER_DOMAIN_PIPE_PANEL_FITTER(PIPE_A));
					POWER_DOMAIN_PIPE_PANEL_FITTER(PIPE_A));
@@ -3787,7 +3799,7 @@ static int pipe_crc_set_source(struct drm_device *dev, enum pipe pipe,
				 pipe_name(pipe));
				 pipe_name(pipe));


		drm_modeset_lock(&crtc->base.mutex, NULL);
		drm_modeset_lock(&crtc->base.mutex, NULL);
		if (crtc->active)
		if (crtc->base.state->active)
			intel_wait_for_vblank(dev, pipe);
			intel_wait_for_vblank(dev, pipe);
		drm_modeset_unlock(&crtc->base.mutex);
		drm_modeset_unlock(&crtc->base.mutex);