Commit 5dce0c0b authored by Ville Syrjälä's avatar Ville Syrjälä
Browse files

drm/msm/dpu: Stop copying around mode->private_flags



The driver never sets mode->private_flags so copying
it back and forth is entirely pointless. Stop doing it.

Also drop private_flags from the tracepoint.

Cc: Rob Clark <robdclark@gmail.com>
Cc: Sean Paul <sean@poorly.run>
Cc: linux-arm-msm@vger.kernel.org
Cc: freedreno@lists.freedesktop.org
Reviewed-by: default avatarEmil Velikov <emil.velikov@collabora.com>
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200428171940.19552-5-ville.syrjala@linux.intel.com
parent 0425662f
Loading
Loading
Loading
Loading
+1 −28
Original line number Diff line number Diff line
@@ -498,23 +498,6 @@ void dpu_encoder_helper_split_config(
	}
}

static void _dpu_encoder_adjust_mode(struct drm_connector *connector,
		struct drm_display_mode *adj_mode)
{
	struct drm_display_mode *cur_mode;

	if (!connector || !adj_mode)
		return;

	list_for_each_entry(cur_mode, &connector->modes, head) {
		if (cur_mode->vdisplay == adj_mode->vdisplay &&
		    cur_mode->hdisplay == adj_mode->hdisplay &&
		    drm_mode_vrefresh(cur_mode) == drm_mode_vrefresh(adj_mode)) {
			adj_mode->private_flags |= cur_mode->private_flags;
		}
	}
}

static struct msm_display_topology dpu_encoder_get_topology(
			struct dpu_encoder_virt *dpu_enc,
			struct dpu_kms *dpu_kms,
@@ -580,15 +563,6 @@ static int dpu_encoder_virt_atomic_check(
	global_state = dpu_kms_get_existing_global_state(dpu_kms);
	trace_dpu_enc_atomic_check(DRMID(drm_enc));

	/*
	 * display drivers may populate private fields of the drm display mode
	 * structure while registering possible modes of a connector with DRM.
	 * These private fields are not populated back while DRM invokes
	 * the mode_set callbacks. This module retrieves and populates the
	 * private fields of the given mode.
	 */
	_dpu_encoder_adjust_mode(conn_state->connector, adj_mode);

	/* perform atomic check on the first physical encoder (master) */
	for (i = 0; i < dpu_enc->num_phys_encs; i++) {
		struct dpu_encoder_phys *phys = dpu_enc->phys_encs[i];
@@ -621,8 +595,7 @@ static int dpu_encoder_virt_atomic_check(
		}
	}

	trace_dpu_enc_atomic_check_flags(DRMID(drm_enc), adj_mode->flags,
			adj_mode->private_flags);
	trace_dpu_enc_atomic_check_flags(DRMID(drm_enc), adj_mode->flags);

	return ret;
}
+4 −6
Original line number Diff line number Diff line
@@ -327,20 +327,18 @@ DEFINE_EVENT(dpu_enc_keyval_template, dpu_enc_trigger_start,
);

TRACE_EVENT(dpu_enc_atomic_check_flags,
	TP_PROTO(uint32_t drm_id, unsigned int flags, int private_flags),
	TP_ARGS(drm_id, flags, private_flags),
	TP_PROTO(uint32_t drm_id, unsigned int flags),
	TP_ARGS(drm_id, flags),
	TP_STRUCT__entry(
		__field(	uint32_t,		drm_id		)
		__field(	unsigned int,		flags		)
		__field(	int,			private_flags	)
	),
	TP_fast_assign(
		__entry->drm_id = drm_id;
		__entry->flags = flags;
		__entry->private_flags = private_flags;
	),
	TP_printk("id=%u, flags=%u, private_flags=%d",
		  __entry->drm_id, __entry->flags, __entry->private_flags)
	TP_printk("id=%u, flags=%u",
		  __entry->drm_id, __entry->flags)
);

DECLARE_EVENT_CLASS(dpu_enc_id_enable_template,