forked from Minki/linux
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: Emil Velikov <emil.velikov@collabora.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200428171940.19552-5-ville.syrjala@linux.intel.com
This commit is contained in:
parent
0425662fdf
commit
5dce0c0b92
@ -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;
|
||||
}
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user